Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Alt bekannter Fehler: Notice Undefined index ... aber in der MySQL-Eingabe

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Erledigt] Alt bekannter Fehler: Notice Undefined index ... aber in der MySQL-Eingabe

    Hi Leute,
    ich hatte das Probelm schon mit NOTICE: Undefined index...... hier:
    PHP-Code:
    if(isset($_POST['aussteller'])){$aussteller $_POST["aussteller"];}
    if(isset(
    $_POST['standort'])){$standort $_POST["standort"];}
    if(isset(
    $_POST['firma'])){$firma $_POST["firma"];}
    if(isset(
    $_POST['besucher'])){$besucher $_POST["besucher"];}
    if(isset(
    $_POST['besucham'])){$besucham $_POST["besucham"];} 
    Aber da konnte ich es ganz leicht mit
    PHP-Code:
    if(isset($_POST['...']))$... = $POST['...'];} 
    lösen.
    Aber jetzt tritt der gleiche Fehler auch hier auf:

    PHP-Code:
    {$eintrag "INSERT INTO besmeld (Aussteller, Standort,Firma,Besucher,BesuchAM ) 
    VALUES ('
    $aussteller', '$standort','$firma','$besucher','$besucham')"
    Kann ich es hier auf mit einer if-Abfrage machen ? Wenn ja wie ?

    Fehlermeldung:

    Notice: Undefined variable: aussteller in C:\xampp\htdocs\Kapp\besmeld.php on line 9

    Notice: Undefined variable: standort in C:\xampp\htdocs\Kapp\besmeld.php on line 9

    Notice: Undefined variable: firma in C:\xampp\htdocs\Kapp\besmeld.php on line 9

    Notice: Undefined variable: besucher in C:\xampp\htdocs\Kapp\besmeld.php on line 9

    Notice: Undefined variable: besucham in C:\xampp\htdocs\Kapp\besmeld.php on line 9


    Ich hoffe ihr könnt mir helfen

  • #2
    Wenn der Index nicht im $_POST-Array ist wird die Variable nicht gesetzt, du kannst also

    1. vor dem Query prüfen ob die Variablen gesetzt sind

    2. sie auf
    PHP-Code:
    $aussteller null;
    if(isset(
    $_POST['aussteller'])){$aussteller $_POST["aussteller"];} 
    {
    $eintrag "INSERT INTO besmeld (Aussteller, Standort,Firma,Besucher,BesuchAM ) 
    VALUES ('
    $aussteller', '$standort','$firma','$besucher','$besucham')"
    setzen und dann mit den Werten aus $_POST überschreiben.

    3. du setzt im Zusammenhang mit deiner IF-Struktur einen Default-Wert falls es im $_POST keinen passenden Wert gibt.

    PHP-Code:

    // mit ternärem Operator
    $aussteller = isset($_POST['aussteller']) ? $$_POST['aussteller'] : $defaultWert;

    // ausgeschriebenes IF
    if(isset($_POST['aussteller'])){
        
    $aussteller $_POST['aussteller'];
    }else{
        
    $aussteller $defaultWert;


    Finde die 3.Lösung am besten, kannst natürlich auch irgendwas anderes machen anstatt nen Default zu setzen.
    [COLOR=#A9A9A9]Relax, you're doing fine.[/COLOR]
    [URL="http://php.net/"]RTFM[/URL] | [URL="http://php-de.github.io/"]php.de Wissenssammlung[/URL] | [URL="http://use-the-index-luke.com/de"]Datenbankindizes[/URL] | [URL="https://www.php.de/forum/webentwicklung/datenbanken/111631-bild-aus-datenbank-auslesen?p=1209079#post1209079"]Dateien in der DB?[/URL]

    Kommentar


    • #3
      Danke für die schnelle Antwort

      Leider behebt es das Problem nicht. Die Fehlermeldung bleibt

      Kommentar


      • #4
        Code?
        [COLOR=#A9A9A9]Relax, you're doing fine.[/COLOR]
        [URL="http://php.net/"]RTFM[/URL] | [URL="http://php-de.github.io/"]php.de Wissenssammlung[/URL] | [URL="http://use-the-index-luke.com/de"]Datenbankindizes[/URL] | [URL="https://www.php.de/forum/webentwicklung/datenbanken/111631-bild-aus-datenbank-auslesen?p=1209079#post1209079"]Dateien in der DB?[/URL]

        Kommentar


        • #5
          PHP-Code:
          <?php
          include("db.php");

          if(isset(
          $_POST['aussteller'])){
              
          $aussteller $_POST['aussteller'];
          }else{
              
          $aussteller $defaultWert;

          if(isset(
          $_POST['standort'])){
              
          $aussteller $_POST['standort'];
          }else{
              
          $aussteller $defaultWert;
          }  
          if(isset(
          $_POST['firma'])){
              
          $aussteller $_POST['firma'];
          }else{
              
          $aussteller $defaultWert;
          }   
          if(isset(
          $_POST['besucher'])){
              
          $aussteller $_POST['besucher'];
          }else{
              
          $aussteller $defaultWert;
          }  
          if(isset(
          $_POST['besucham'])){
              
          $aussteller $_POST['besucham'];
          }else{
              
          $aussteller $defaultWert;
          }  
          {
          $eintrag "INSERT INTO besmeld (Aussteller, Standort,Firma,Besucher,BesuchAM ) 
          VALUES ('
          $aussteller', '$standort','$firma','$besucher','$jahr')";
          $eintragen mysqli_query($db$eintrag);}
          ?>

          Kommentar


          • #6
            Mh, warum das wohl nicht funktioniert... Vielleicht weil du mir $austeller benutzt?

            Kommentar


            • #7
              und $defaultWert der nirgendwo definiert wird

              http://www.php.de/php-einsteiger/489...nsammlung.html
              [COLOR=#A9A9A9]Relax, you're doing fine.[/COLOR]
              [URL="http://php.net/"]RTFM[/URL] | [URL="http://php-de.github.io/"]php.de Wissenssammlung[/URL] | [URL="http://use-the-index-luke.com/de"]Datenbankindizes[/URL] | [URL="https://www.php.de/forum/webentwicklung/datenbanken/111631-bild-aus-datenbank-auslesen?p=1209079#post1209079"]Dateien in der DB?[/URL]

              Kommentar


              • #8
                Oh verdammt das hab ich voll übersehen

                Danke Das war es jetzt funktioniert es ;D

                Ich hab noch eine Frage. Naja vielleicht ist die doch einwenig umfangreicher.
                Ich will in meine Formular ein Inputfeld machen wo man das Datum eingeben soll. Jetzt will ich in meiner
                MySQL Datenbanl als DATE speicher wie kann man das realisieren ?

                Kommentar


                • #9
                  Jetzt will ich in meiner MySQL Datenbanl als DATE speicher wie kann man das realisieren ?


                  Spalte mit Datentyp DATE anlegen und im Format YYY-MM-DD als String übergeben => MySQL DATE

                  Dein IF-Gedöns kannste auch etwas abkürzen, wenn man annimmt, daß wenn ein Wert gesetzt ist, die anderen auch übertragen wurden:
                  PHP-Code:
                  if ( isset($_POST['aussteller']) ) {

                      
                  $aussteller $_POST['aussteller'];
                      
                  $standort $_POST['standort'];
                      
                  $firma $_POST['firma'];
                      
                  // ...usw.


                  und wenn Du die Formular-Felder clever benennst, kannst Du per Iteration sogar direkt alle gewünschten Felder in Variablen übernehmen bzw. den Defaultwert.

                  Aber das findest Du alles auch in den Grundlagen, wie VPh schon angemerkt hat...
                  Competence-Center -> Enjoy the Informatrix
                  PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

                  Kommentar

                  Lädt...
                  X