Variable verschwindet

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

  • Variable verschwindet

    Hallo zusammen,

    ich hab das Problem, das mir eine Variabel verlorengeht und ich nicht weiß wie ich diese so ablege, das sie mir erhalten bleibt?

    In der aufrufenden Datei rufe ich mit diesem echo das untenstehende Skript auf:
    PHP-Code:
    echo "<a href='index.php?ziel=neueintrag&name=" $_GET['name'] . "'>Neueintrag</a>"

    In diesem Skript soll dann der übergebene Name im Formularfeld Name erscheinen. Das funktioniert auch. Allerdings nur genau ein mal. Wenn der Button Absenden das zweite mal gedrückt wird, ist das Formularfeld Name leer, heißt $_GET['name'] ist leer. Wie kann ich diese dauerhaft ablegen, damit mehrere Eintragungen nacheinander möglich sind und immer der Name drin stehen bleibt?


    Danke für eure Hilfe ! ! !


    Gruß

    Michael

    PHP-Code:
    <?php




    echo "<div id='inhalt'>";

    if (isset (
    $_GET['name']))
        {
             
    $name $_GET['name'];
             global 
    $name;
             echo 
    "<form action='index.php?ziel=neueintrag' method='post' enctype='multipart/form-data'>";  
             echo 
    "<label for='datum'>Datum: </label>";
             echo 
    "<select name='datum'>";
                
    $skills = array ("""14.03.2008""28.03.2008""11.04.2008""25.04.2008""23.05.2008""06.06.2008""20.06.2008" ); 
                for (
    $i=0$i count ($skills); $i++) 
                {
                  
    $skillakt = (isset($_POST["kenntnisse"]) && $_POST["kenntnisse"] == $skills[$i]) ? '"selected="selected"' "";
                 echo 
    '<option value="' $skills[$i] . '"' $skillakt .'>' $skills[$i] . '</option>';
                }
             echo 
    "</select>";
             
             echo 
    "<label for='name'>Name:</label>";
             echo 
    "<input type='text' name='name' id='name' value='" $_GET['name'] . "'>"
             
             echo 
    "<label for='status'>Status: </label>";
             echo 
    "<select name='status'>";
                
    $skills = array ("""da""weiss noch nicht""nicht da"); 
                for (
    $i=0$i count ($skills); $i++) 
                {
                  
    $skillakt = (isset($_POST["kenntnisse"]) && $_POST["kenntnisse"] == $skills[$i]) ? '"selected="selected"' "";
                 echo 
    '<option value="' $skills[$i] . '"' $skillakt .'>' $skills[$i] . '</option>';
                }
            echo 
    "</select>";
            echo 
    "<p>";
             echo 
    "<input type='submit' name='absenden' value='Absenden'>";
            echo 
    "</form>";
            echo 
    "</div>";

            
    $namen[] = "";
    // Funktionsbutton Senden
            
    if (isset ($_POST["absenden"]) && $_POST["absenden"] == "Absenden"
                {    
                     require_once (
    $root "/functions/check_null_bytes.php"); 
                     require_once (
    $root "/functions/db_connection.php"); 
                     
    checkNullBytes (); 
                     
    $error = array (); 
                      
                           
    $edatum date("d:m:Y H:i");
                           if(
    count($error) == 0)
                           {
                            
    $query "INSERT INTO kegeln SET 
                            datum='" 
    $_POST['datum'] ."',
                            name='" 
    $_POST['name'] ."',
                            status='" 
    $_POST['status'] ."',
                            edatum='" 
    $edatum ."'";
                            
    $result mysql_query($query);
                            if (!
    $result)
                            {
                                 die (
    'Ungültige Abfrage: ' mysql_error());
                            }
                           
                    }
                }
        }
    else
    {
       echo 
    "<meta http-equiv='Refresh' content='0; URL=index.php?ziel=neueintrag&name=" $name "' />"; }
    ?>
    Gruß

    Michael

  • #2
    form action='index.php?ziel=neueintrag&name=' .$name
    Du gibst dem Formular ja nirgends den Parameter name mit
    Beantworte nie Threads mit mehr als 15 followups...
    Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

    Kommentar


    • #3
      @Topicstarter
      Du bist dir schon bewusst, dass du bei deinem Meta Refresh (im else-Teil des äusseren if) auf eine Var zugreifst die du gar nicht hast. In den else-Teil kommst du nur wenn $_GET['name'] nicht gesetzt ist. Wie willst du also dann $name anhängen können?
      Wie kann ich diese dauerhaft ablegen, damit mehrere Eintragungen nacheinander möglich sind und immer der Name drin stehen bleibt?
      Hier würden sich z.B. Sessions anbieten

      Gruss

      tobi
      Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

      [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
      Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

      Kommentar


      • #4
        Hi,

        oh man. Richtig. Wenn das Formular den Namen nicht kennt, kanns nicht gehen. Vor lauter lauter übersehen.

        Vielen Dank für den Hinweis ! ! !


        Gruß

        Michael
        Gruß

        Michael

        Kommentar


        • #5
          @tobi. Das stimmt. Das stammt auch noch aus Funktionstests. Habe ich schon korrigiert. Trotzdem Danke !



          Gruß

          Michael
          Gruß

          Michael

          Kommentar

          Lädt...
          X