tutorials.de Buch-Aktion 05/2012
Like Tree1Danke
  • 1 Beitrag von Schind
ERLEDIGT
JA
ANTWORTEN
2
ZUGRIFFE
345
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    smyle smyle ist offline Mitglied Gold
    Registriert seit
    Jun 2008
    Beiträge
    217
    Hallo ich habe ein Problem mit einem Formular.

    Im HTML habe ich folgendes:
    HTML-Code:
    <form name="gaestebuchform" method="POST" action="guestbook/insert.php">
    Das heisst wenn der Submit Button gewählt wurde wird man auf insert.php weitergeleitet.
    Dort wird überprüft ob alle eingaben stimmen und wenn nicht wird eine Meldungen in folgender Form angezeigt. Hier der Code:
    PHP-Code:
    if(isset($_POST['send']))
    {
      
    $nachname PostVar("Name");
      
    $anzeigename PostVar("Anzeigename");
      
    $ort PostVar("Ort");
      
    $homepage $_POST['Homepage'];
      
    $vorname PostVar("Vorname");
      
    $geb PostVar("Geburtsdatum");
      
    $plz PostVar("PLZ");
      
    $mail PostVar("Mail"); 
      
    $titel PostVar("titel");
      
    $text PostVar("text");
      
    $link $_SERVER['PHP_SELF'];
      
    $datum date("j. n. Y"); 
      
    $uhrzeit date("H:i:s");   
      
    $grenzwert 1000
      
    $echo "";
      if(!isset(
    $userid)){$userid=Null;}

      
    //Die Seite mus sneu geladen werden.
      
    if(isset($_POST['Name'])){$_SESSION['Name'] = $nachname;}
      if(isset(
    $_POST['Vorname'])){$_SESSION['Vorname'] = $vorname;}
      if(isset(
    $_POST['Anzeigename'])){$_SESSION['Anzeigename'] = $anzeigename;}
      if(isset(
    $_POST['Ort'])){$_SESSION['Ort'] = $ort;}
      if(isset(
    $_POST['Homepage'])){$_SESSION['Homepage'] = $homepage;}
      if(isset(
    $_POST['Geburtsdatum'])){$_SESSION['Geburtsdatum'] = $geb;}
      if(isset(
    $_POST['PLZ'])){$_SESSION['PLZ'] = $plz;}
      if(isset(
    $_POST['Mail'])){$_SESSION['Mail'] = $mail;}
      if(isset(
    $_POST['titel'])){$_SESSION['titel'] = $titel;}
      if(isset(
    $_POST['text'])){$_SESSION['text'] = $text;}  

      
      if((isset(
    $_POST['Name']) && $_POST['Name'] != "Nachname") && (isset($_POST['Vorname']) && $_POST['Vorname'] != "Vorname") && 
      (isset(
    $_POST['Anzeigename']) && $_POST['Anzeigename'] != "Anzeigename") && (isset($_POST['Geburtsdatum']) && $_POST['Geburtsdatum'] != "Geburtsdatum") && 
      (isset(
    $_POST['Mail']) && $_POST['Mail'] != "E-Mailadresse")/* && (check_email_address($_POST['Mail']) == 1)*/)
        {
         if(
    check_date($_POST['Geburtsdatum'],"dmY",".")) // Überprüft Datumformat
         
    {   
            if(
    strlen($text) > $grenzwert
            {
              
    $text substr($text,0,$grenzwert);          
              
    $echo.="Es sind nur maximal 1000 Zeichen erlaubt. Bitte überprüfen sie ihre Eingabe. <br>";
            } 
            else 
            {          
             
    $date check_year($geb );
            if(
    $date === 2)
            {
             
    $_SESSION['echo'] = "";
             
    $echo.="Eingabe wurde nicht gespeichert.<br>Überprüfen sie das Datum.<br>";
            }
            else if(
    $date === 3)
            {
             
    $_SESSION['echo'] = "";
             
    $echo.="Eingabe wurde nicht gespeichert.<br>Sie müssen mindestens 12 Jahre alt sein.<br>";
            }         
            else if(
    $date == true)
             {
              
    $_SESSION['echo'] = ""
              
    $_SESSION['Name'] = "";
              
    $_SESSION['Vorname'] = "";
              
    $_SESSION['Anzeigename'] = "";
              
    $_SESSION['Ort'] = "";
              
    $_SESSION['Homepage'] = "";
              
    $_SESSION['Geburtsdatum'] = "";
              
    $_SESSION['PLZ'] = "";
              
    $_SESSION['Mail'] = "";
              
    $_SESSION['titel'] = "";
              
    $_SESSION['text'] = "";
            
              
    $query "INSERT INTO `guestbook` (`Account_ID`, `Nachname`, `Vorname`, `Anzeigename`, `Geburtsdatum`, `Ort`, `PLZ`, `Homepage`, `E-Mail`, `Titel`, `Text`, `date`, `time`) VALUES ('".$userid."', '".$nachname."', '".$vorname."', '".$anzeigename."', '".$geb."', '".$ort."', '".$plz."', '".$homepage."', '".$mail."', '".$titel."', '".$text."', '".$datum."', '".$uhrzeit."');";
              
    mysql_query($query);
              
    $echo.="Eingabe wurde gespeichert.<br>";
              
    $_SESSION['test'] = "OK";
            }
            else{
    $echo.="Eingabe wurde nicht gespeichert.<br>";}
          }
         }
         else { 
    $echo.="Bitte überprüfen Sie Ihr Datum!<br>";}
        }
        else
        {    
         echo
    "<div style='margin:5px;'><p style='height:10px;'></p>";
         if(
    $_POST['Name'] == "Nachname" && $_POST['Vorname'] == "Vorname"){$echo.="Bitte Nach- und Vorname eingeben. Beide sind für die Besucher nicht sichtbar.<br>";}
         if(
    $_POST['Name'] == "Nachname" && $_POST['Vorname'] != "Vorname"){$echo.= "Bitte Nachname eingeben. Der Nach- und Vornamen sind für die Besucher nicht sichtbar.<br>";}
         if(
    $_POST['Vorname'] == "Vorname" && $_POST['Name'] != "Nachname"){$echo.= "Bitte Vorname eingeben. Der Nach- und Vornamen sind für die Besucher nicht sichtbar.<br>";}
         if(
    $_POST['Anzeigename'] == "Anzeigename"){$echo.="Bitte einen Anzeigenamen eingeben.<br>";}
         if(
    $_POST['Geburtsdatum'] == "Geburtsdatum"){$echo.="Bitte Geburtstag im Format tt.mm.jjjj eingeben.<br>";}
         if( 
    $_POST['Mail'] == "E-Mailadresse"){$echo.="Bitte E-Mailadresse eingeben. Diese ist für die Besucher nicht sichtbar.<br>";}
    //     if(check_email_address($_POST['Mail']) != 1){echo 'Bitte überprüfen Sie Ihre E-Mailadresse!<br>';}
         
    echo"</div>";
        }

        
    $_SESSION['echo'] = $echo;
        echo 
    "<meta http-equiv='refresh' content='0; url=../guestbook.html'>";

    Die Meldung ist zuunterst $_Session[‚echo‘].

    Das Problem, das Session echo wird nach der Weiterleitung zu guestbook.html nicht mehr angezeigt. Es ist einfach leer.

    Ich musste das mit den beiden Dateien machen, da sonst mit F5 immer wieder denselben Eintrag eingetragen wird.

    Hat jemand eine Lösung?
     

  2. #2
    Schind Schind ist offline Mitglied Bronze
    Registriert seit
    Jul 2003
    Beiträge
    28
    Ist dies dein gesamter Code? Falls ja, musst die die Session auch in all deinen Seiten öffnen, um darauf zugreifen zu können (session_start).

    siehe z.B. hier: http://www.php-einfach.de/php-tutorial/php-sessions.php
    smyle bedankt sich. 

  3. #3
    smyle smyle ist offline Mitglied Gold
    Registriert seit
    Jun 2008
    Beiträge
    217
    :S Ein blöder Fehler… Ich hatte den Session_start(); in meiner ersten Datei, aber in der zweiten nicht.

    Danke für den Link und für den Tipp..

    Gruss
    Smyle
     

Ähnliche Themen

  1. Formular aus Thread anzeigen
    Von MikeBi im Forum .NET Windows Forms
    Antworten: 5
    Letzter Beitrag: 19.05.10, 19:13
  2. formular mail(...)absenderadresse anzeigen
    Von calvinklein im Forum PHP
    Antworten: 7
    Letzter Beitrag: 25.03.08, 16:57
  3. Mehrere arrays aus Formular anzeigen
    Von zamo76 im Forum PHP
    Antworten: 34
    Letzter Beitrag: 20.09.06, 15:38
  4. Meldungen für Steuerelemente?
    Von Tobias Menzel im Forum VisualStudio & MFC
    Antworten: 2
    Letzter Beitrag: 12.08.04, 19:11
  5. Fake-Meldungen
    Von EroA im Forum Fun-Forum
    Antworten: 2
    Letzter Beitrag: 14.01.02, 01:08