Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Undefined Index bei Auswertung eines Formularfeldes

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Undefined Index bei Auswertung eines Formularfeldes

    Guten Morgen allerseits,

    sitze nun schon ein paar Stunden vor dem Problem und hab inzwischen keine Ahnung mehr wo ich noch suchen soll.

    Formulardaten in ne DB speichern funktioniert soweit bis auf einen Wert der aber definitiv im Script ankommt (habs mir mal ausgeben lassen und da war er da). Dieser Wert kommt aus einem Pulldown-Formularelement.

    habe es versucht mit

    PHP-Code:
    $articlegrp $_POST['articlegrp']; 
    sowie
    PHP-Code:
    if (isset($_POST['articlegrp'])) $articlegrp $_POST['articlegrp']; 
    Das SQL-Query ist folgendes und ich müsste blind sein wenn ich den fehler immernoch übersehe.

    PHP-Code:
    $request "INSERT INTO $table 
                     (articleid,
                     articlename,
                     articlegrp,
                     articledesc,
                     picpath,
                     sheetpath)
                    
                VALUES 
                    ('
    $articleid',
                     '
    $articlename',
                     '
    $articlegrp',
                     '
    $articledesc',
                     '
    $picpath',
                     '
    $sheetpath')"
    Wie gesagt alles wird gespeichert nur dieser eine dumme Wert nicht.
    Im Error log kommt das Spiel mit dem undefined index

  • #2
    Hi.

    Zeig mal bitte, wie du das PullDown Menü definiert hast (also etwas mehr Code)!
    Den Wert bekommst Du aber, oder wie? Also funktioniert dann dein SQL Statement nicht. korrekt? Hast Du dir das SQL Statement mal mit echo ausgeben lassen, sprich: die Variable $request?

    Wolf29
    while (!asleep()) sheep++;

    Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

    Kommentar


    • #3
      PHP-Code:
      <?
          include ('db.php');
          $table = "articlegrp";
          $request = "SELECT grpid , grpname FROM $table ORDER BY 'grpìd'";
              $result = mysql_query($request);
                  echo mysql_error();
                   while ($row = mysql_fetch_array($result))
                  { 
                   echo "<option value=\"".($row['grpid'])."\">".($row['grpname'])."</option>";
                         }
                      mysql_free_result($result);
                      mysql_close();
      ?>
      Ich habs mir im html schon angeschaut und da kommt es ansich gut an.

      Ich hab die Variable im verarbeitenden Script ausgeben lassen und da is sie auch da.
      Die Tabelle hab ich auch schon 5 mal überprüft.

      Kommentar


      • #4
        Zitat von wolf29 Beitrag anzeigen
        Hi.

        Zeig mal bitte, wie du das PullDown Menü definiert hast (also etwas mehr Code)!
        Den Wert bekommst Du aber, oder wie? Also funktioniert dann dein SQL Statement nicht. korrekt? Hast Du dir das SQL Statement mal mit echo ausgeben lassen, sprich: die Variable $request?

        Wolf29
        Was ist den das für ein Käse??


        Das Problem liegt bei
        PHP-Code:
        $articlegrp $_POST['articlegrp']; 
        und dem verwendeten Error Level
        Nur wieso
        PHP-Code:
        if (isset($_POST['articlegrp'])) $articlegrp $_POST['articlegrp']; 
        nicht funkt kann ich gerade auch nicht sagen.

        Füg mal
        PHP-Code:
        error_reporting(E_ALL & ~E_NOTICE); 
        am Anfang deines PHP Codes hinzu

        Desweiteren solltest du dich umbedingt über SQL Injections und co informieren.
        Im Moment kann ein Angreifer alles Mögliche in deiner Datenbank aufführen

        Kommentar


        • #5
          Wenn das der komplette Quellcode ist, für das PullDown Menü, dann fehlt ein

          PHP-Code:
          <select name="irgendwas">...</select
          vor den Options. Warum schreibst du

          PHP-Code:
          echo mysql_error(); 
          und nicht eher

          PHP-Code:
          $result mysql_query($request) or die("Fehler: ...."); 
          Als was ist die Spalte den definiert in der MySQL DB für den Wert? Bekommst du einen Integer Wert übergeben? Hast du mal einfach

          PHP-Code:
          echo $request
          gemacht, damit du den SQL Insert Befehl auf dem Bildschirm hast? dann siehst du, ob alle Variablenwerte da sind. SQL Injection solltest Du dich auch übrigens mal informieren!

          Wolf29

          P.S. @ragtek: warum Käse?
          while (!asleep()) sheep++;

          Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

          Kommentar


          • #6
            Ach du meine Güte ich bin so blöd!!! Kommt davon wenn man die nacht durcharbeitet.

            Hab den mist tatsächlich die ganze Zeit gespeichert, jedoch bei der Ausgabe den Wurm drin gehabt. Zusammen mit dem Fehler der zwar weiterhin kommt, hats mich total aus dem Konzept gebracht.

            Und Danke für den Tip bezüglich der Datenbankgeschichte bin ich nebenher ständig dabei.

            Danke trotzdem für die Mühen

            Kommentar

            Lädt...
            X