kostenloser Webspace werbefrei: lima-city


Newsletterskript PHP

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    davy

    Kostenloser Webspace von davy

    davy hat kostenlosen Webspace.

    Hi!

    Ich habe mir ein Newsletterskript programmiert:

    <form method="POST" action="newsletter2.php"><div align="center">
        <center>
        <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="50%" id="AutoNumber3">
          <tr>
            <td width="50%"><b><font face="Arial">Vorname: </font></b></td>
            <td width="50%"><b><font face="Arial">
            <input type="text" name="vorname" value="<? echo $_POST['vorname']; ?>" size="20"></font></b></td>
          </tr>
          <tr>
            <td width="50%"><b><font face="Arial">Nachname:</font></b></td>
            <td width="50%"><b><font face="Arial">
            <input type="text" name="nachname" value="<? echo $_POST['nachname']; ?>" size="20"></font></b></td>
          </tr>
          <tr>
            <td width="50%"><b><font face="Arial">E-Mail Adresse:</font></b></td>
            <td width="50%"><b><font face="Arial">
            <input type="text" name="email" value="<? echo $_POST['email']; ?>" size="20"></font></b><br></td>
          </tr>
        </table>
        &nbsp;<p><b><font face="Arial"><input type="submit" value="Abschicken" name="submit"></font></b></p>
        </center>
      </div>
    </form>
    
    <?php
    $vorname = $_POST['vorname'];
    $nachname = $_POST['nachname'];
    $mail = $_POST['email'];
    
    $fehlertext = "";
    if($vorname == ""){ $fehlertext = $fehlertext."Bitte trage deinen Vornamen ein!<br>\n"; }
    if($nachname == ""){ $fehlertext = $fehlertext."Bitte trage deinen Nachnamen ein!<br>\n"; }
    if($mail == ""){ $fehlertext = $fehlertext."Bitte trage deine Email-Adresse ein!<br>\n"; }
    
    if($vorname != "" && $nachname != "" && $mail != "" && isset($_POST["submit"])){
     $sql = "INSERT INTO newsletter (email, vorname, nachname) VALUES ('$mail', '$vorname', '$nachname')";
     mysql_query($sql);
    
     echo 'Sie wurden erfolgreich eingetragen!';
    }else{
     echo $fehlertext;
    }
    
    ?>


    Nun hab ich versucht, mit isset($_POST["submit"])) die Fehlertexte nur dann auszugeben, wenn auch der Submit Button gedrückt wurde, aber alle 3 Fehlertexte werden sofort beim Aufruf der Seite angezeigt.

    Was muss ich ändern, damit die Fehlertexte nur erscheinen, wenn der Button gedrückt wurde?
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Du musst eine if-Schleife schreiben, die den Submit-Button überprüft. Da kommen dann eine $_POST rein..
  4. Autor dieses Themas

    davy

    Kostenloser Webspace von davy

    davy hat kostenlosen Webspace.

    chst schrieb:
    Du musst eine if-Schleife schreiben, die den Submit-Button überprüft. Da kommen dann eine $_POST rein..


    Hallo !

    Hab ich versucht:

    if($vorname != "" && $nachname != "" && $mail != "" && isset($_POST["submit"])){
     $sql = "INSERT INTO newsletter (email, vorname, nachname) VALUES ('$mail', '$vorname', '$nachname')";
     mysql_query($sql);
    
     echo 'Sie wurden erfolgreich eingetragen!';
    }else{
     echo $fehlertext;
    }


    Geht aber nicht :/
  5. Du fängst aber so an:
    <?php
    $vorname = $_POST['vorname'];
    $nachname = $_POST['nachname'];
    $mail = $_POST['email'];


    Und so liest er, schon bevor die Schleife beginnt, diese 3 Felder aus!
  6. ole-reglitzki

    Kostenloser Webspace von ole-reglitzki

    ole-reglitzki hat kostenlosen Webspace.

    du musst unten statt
    else

    elseif(isset($_POST["submit"]))

    stehen haben.


    chst schrieb: Du musst eine if-Schleife schreiben, die den Submit-Button überprüft. Da kommen dann eine $_POST rein..

    1. was soll eine $_POST da drin?
    2. if-ABFRAGE , for-schleife, while-schleife, switch-Abfrage

    EDIT:
    @chst: wann er die ausliest ist völlig egal, wenn sie nicht vorhanden sind, wird halt null in die Felder ausgegeben

    Beitrag zuletzt geändert: 21.10.2010 22:12:39 von ole-reglitzki
  7. Autor dieses Themas

    davy

    Kostenloser Webspace von davy

    davy hat kostenlosen Webspace.

    Kannst du mir den gesamten Code posten?
  8. ole-reglitzki

    Kostenloser Webspace von ole-reglitzki

    ole-reglitzki hat kostenlosen Webspace.

    <form method="POST" action="newsletter2.php"><div align="center">
        <center>
        <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="50%" id="AutoNumber3">
          <tr>
            <td width="50%"><b><font face="Arial">Vorname: </font></b></td>
            <td width="50%"><b><font face="Arial">
            <input type="text" name="vorname" value="<? echo $_POST['vorname']; ?>" size="20"></font></b></td>
          </tr>
          <tr>
            <td width="50%"><b><font face="Arial">Nachname:</font></b></td>
            <td width="50%"><b><font face="Arial">
            <input type="text" name="nachname" value="<? echo $_POST['nachname']; ?>" size="20"></font></b></td>
          </tr>
          <tr>
            <td width="50%"><b><font face="Arial">E-Mail Adresse:</font></b></td>
            <td width="50%"><b><font face="Arial">
            <input type="text" name="email" value="<? echo $_POST['email']; ?>" size="20"></font></b><br></td>
          </tr>
        </table>
        &nbsp;<p><b><font face="Arial"><input type="submit" value="Abschicken" name="submit"></font></b></p>
        </center>
      </div>
    </form>
    
    <?php
    $vorname = $_POST['vorname'];
    $nachname = $_POST['nachname'];
    $mail = $_POST['email'];
    
    $fehlertext = "";
    if($vorname == ""){ $fehlertext = $fehlertext."Bitte trage deinen Vornamen ein!<br>\n"; }
    if($nachname == ""){ $fehlertext = $fehlertext."Bitte trage deinen Nachnamen ein!<br>\n"; }
    if($mail == ""){ $fehlertext = $fehlertext."Bitte trage deine Email-Adresse ein!<br>\n"; }
    
    if($vorname != "" && $nachname != "" && $mail != "" && isset($_POST["submit"])){
     $sql = "INSERT INTO newsletter (email, vorname, nachname) VALUES ('$mail', '$vorname', '$nachname')";
     mysql_query($sql);
    
     echo 'Sie wurden erfolgreich eingetragen!';
    }elseif(isset($_POST["submit"])){
     echo $fehlertext;
    }
    
    ?>


    Beitrag zuletzt geändert: 21.10.2010 22:49:11 von ole-reglitzki
  9. Autor dieses Themas

    davy

    Kostenloser Webspace von davy

    davy hat kostenlosen Webspace.

    ole-reglitzki schrieb:
    <form method="POST" action="newsletter2.php"><div align="center">
        <center>
        <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="50%" id="AutoNumber3">
          <tr>
            <td width="50%"><b><font face="Arial">Vorname: </font></b></td>
            <td width="50%"><b><font face="Arial">
            <input type="text" name="vorname" value="<? echo $_POST['vorname']; ?>" size="20"></font></b></td>
          </tr>
          <tr>
            <td width="50%"><b><font face="Arial">Nachname:</font></b></td>
            <td width="50%"><b><font face="Arial">
            <input type="text" name="nachname" value="<? echo $_POST['nachname']; ?>" size="20"></font></b></td>
          </tr>
          <tr>
            <td width="50%"><b><font face="Arial">E-Mail Adresse:</font></b></td>
            <td width="50%"><b><font face="Arial">
            <input type="text" name="email" value="<? echo $_POST['email']; ?>" size="20"></font></b><br></td>
          </tr>
        </table>
        &nbsp;<p><b><font face="Arial"><input type="submit" value="Abschicken" name="submit"></font></b></p>
        </center>
      </div>
    </form>
    
    <?php
    $vorname = $_POST['vorname'];
    $nachname = $_POST['nachname'];
    $mail = $_POST['email'];
    
    $fehlertext = "";
    if($vorname == ""){ $fehlertext = $fehlertext."Bitte trage deinen Vornamen ein!<br>\n"; }
    if($nachname == ""){ $fehlertext = $fehlertext."Bitte trage deinen Nachnamen ein!<br>\n"; }
    if($mail == ""){ $fehlertext = $fehlertext."Bitte trage deine Email-Adresse ein!<br>\n"; }
    
    if($vorname != "" && $nachname != "" && $mail != "" && isset($_POST["submit"])){
     $sql = "INSERT INTO newsletter (email, vorname, nachname) VALUES ('$mail', '$vorname', '$nachname')";
     mysql_query($sql);
    
     echo 'Sie wurden erfolgreich eingetragen!';
    }elseif(isset($_POST["submit"])){
     echo $fehlertext;
    }
    
    ?>



    Danke !
  10. ole-reglitzki

    Kostenloser Webspace von ole-reglitzki

    ole-reglitzki hat kostenlosen Webspace.

    Der einzige Unterschied ist halt ganz unten:
    }elseif(isset($_POST["submit"])){
     echo $fehlertext;
    }


    der Fehlertext darf ruhig erstellt werden, er soll aber nur ausgegeben werden, wenn ein Fehler vorliegt ('else') und der Button betätigt wurde ('if(...)')
  11. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!