Anzeige:
Ergebnis 1 bis 7 von 7

Thema: script erweitern und es geht nicht :(

  1. #1
    Registrierter Benutzer
    Registriert seit
    28.12.2001
    Ort
    ffm
    Beiträge
    116

    script erweitern und es geht nicht :(

    <?php
    if (isset($submit)) {


    if(strlen($name)==0) {
    $error="Sie habe keinen Namen angegeben";
    }

    if(strlen($email)==0 {
    $error.="Sie habe keine em@il Adresse angegeben";
    }

    if(strlen($anfrage)==0 {
    $error.="Sie das anfragefeld nicht ausgefüllt";
    }


    //email senden
    $recipient="info@ibizatips.de";
    $subject="Anfrage";
    $header="Form: " . $email . "\n";
    $mail_body="Das Formular wurde am " . date("d.m.Y")
    . " um " . date("H:i") . "h abgeschickt.\n";
    $mail_body.="Eingetragene Werte:\n\n";
    $mail_body.="Datum: " . date("d.m.Y") . "\n";
    $mail_body.="Zeit: " . date("d.m.Y, H:i:s",time()) . "\n\n";

    $mail_body.="Name: " . $name . "\n";
    $mail_body.="E-Mail: " . $email . "\n";
    $mail_body.="Anfrage: " . $anfrage . "\n\n";

    $mail_body.="Systemdaten des Kunden:\n";
    $mail_body.="IP: " . $REMOTE_ADDR . "\n";
    $mail_body.="System: " . $HTTP_USER_AGENT . "\n";


    mail($recipient,$subject,$mail_body,$header);

    //bestaetigung der anfrage anzeigen
    echo "Vielen Dank für Ihre Anfrage";

    }else{
    ?>

    <form action="http://ibiza.kerneln.de/pflege/form2.php" method=post>
    <input type="hidden" name="submit" value="1">
    <input type="text" name="name" size="35" value=1>
    <input type="text" name="email" size="35">
    <textarea name="anfrage" cols="30" rows="3"></textarea>
    <input type="submit" value="Abschicken">
    </form>

    <?php
    }
    ?>



    das ist mein script...

    ohne diesen teil funzt es
    if(strlen($name)==0) {
    $error="Sie habe keinen Namen angegeben";
    }

    if(strlen($email)==0 {
    $error.="Sie habe keine em@il Adresse angegeben";
    }

    if(strlen($anfrage)==0 {
    $error.="Sie das anfragefeld nicht ausgefüllt";
    }

    allerdings soll er ja noch überprüfen, ob auch eingaben in den eingabefeldern stehen

    kann jemand einen fehler sehen oder anderen vorschlag bezüglich de rüberprüfung machen ??
    mit if($name=="") (name, email und anfrage als variablen) ging es auch nicht
    debian

  2. #2
    Registrierter Benutzer
    Registriert seit
    25.12.1999
    Ort
    Stuttgart
    Beiträge
    259
    Hi,

    hilft das hier ? :

    http://www.mrunix.de/forums/showthre...light=php+POST

    Gruß micha
    IRC: irc.euirc.net #tux

  3. #3
    Registrierter Benutzer
    Registriert seit
    28.12.2001
    Ort
    ffm
    Beiträge
    116
    bin php anfänger sorry


    also mit $_POST["name"] dann :
    am anfang deklarieren oder ersetzen.. kanst mir bei einem beispiel wie bei der $name die 2 zeilen kurz zeigen wies heißen muss ?? bitte

    if(strlen($_POST["name"])==0) {
    $error="Sie habe keinen Namen angegeben";
    }

    so??


    if(strlen($name)==0) {
    $error="Sie habe keinen Namen angegeben";
    }

    if(strlen($email)==0 {
    $error.="Sie habe keine em@il Adresse angegeben";
    }

    if(strlen($anfrage)==0 {
    $error.="Sie das anfragefeld nicht ausgefüllt";
    }
    debian

  4. #4
    Registrierter Benutzer Avatar von Gaert
    Registriert seit
    09.05.2002
    Ort
    Nußloch
    Beiträge
    1.317
    Das was micha meint ist generell richtig... alle Variablen, die von draussen kommen sollte man über $_GET und $_POST bzw. über $_REQUEST holen.

    Dein Problem ist, dass du die schließende Klammer ) bei den Ifs nach dem ==0 vergessen hast... schau mal!

    Es hilft auch, wenn die PHP Tags des Forums verwendest - das erhöht die übersicht und du siehst die Fehler schneller.


  5. #5
    Registrierter Benutzer
    Registriert seit
    28.12.2001
    Ort
    ffm
    Beiträge
    116
    Original geschrieben von Gaert
    Das was micha meint ist generell richtig... alle Variablen, die von draussen kommen sollte man über $_GET und $_POST bzw. über $_REQUEST holen.

    Dein Problem ist, dass du die schließende Klammer ) bei den Ifs nach dem ==0 vergessen hast... schau mal!

    Es hilft auch, wenn die PHP Tags des Forums verwendest - das erhöht die übersicht und du siehst die Fehler schneller.

    1.
    $_POST ... wie genau müsste ichd as schreiben ?

    anstat $variable $_POST ??



    tags des forums ?? wie meinst das ??

    funzt noch nicht:
    http://ibiza.kerneln.de/pflege/form2.php
    das form zwar schon, aber auch wenn man nix ausfüllt

    <?php
    if (isset($submit)) {

    if(strlen($name)==0) {
    $error="Sie habe keinen Namen angegeben";
    }

    if(strlen($email)==0) {
    $error.="Sie habe keine em@il Adresse angegeben";
    }

    if(strlen($anfrage)==0) {
    $error.="Sie das anfragefeld nicht ausgefüllt";
    }


    //email senden
    $recipient="info@ibizatips.de";
    $subject="Anfrage";
    $header="Form: " . $email . "\n";
    $mail_body="Das Formular wurde am " . date("d.m.Y")
    . " um " . date("H:i") . "h abgeschickt.\n\n";

    $mail_body.="Datum: " . date("d.m.Y") . "\n";
    $mail_body.="Zeit: " . date("G.i") . " Uhr" . "\n\n";

    $mail_body.="Eingetragene Werte:\n";
    $mail_body.="Name: " . $name . "\n";
    $mail_body.="E-Mail: " . $email . "\n";
    $mail_body.="Anfrage: " . $anfrage . "\n\n";

    $mail_body.="Systemdaten des Kunden:\n";
    $mail_body.="IP: " . $REMOTE_ADDR . "\n";
    $mail_body.="System: " . $HTTP_USER_AGENT . "\n";


    mail($recipient,$subject,$mail_body,$header);

    //bestaetigung der anfrage anzeigen
    echo "Vielen Dank für Ihre Anfrage";
    }else{
    ?>
    <form action="http://ibiza.kerneln.de/pflege/form2.php" method=post>
    <input type="hidden" name="submit" value="1">
    <input type="text" name="name" size="35" value=1>
    <input type="text" name="email" size="35">
    <textarea name="anfrage" cols="30" rows="3"></textarea>
    <input type="submit" value="Abschicken">
    </form>

    <?php
    }
    ?>
    debian

  6. #6
    Registrierter Benutzer
    Registriert seit
    19.07.2001
    Beiträge
    144
    Hallo,
    aus Sicherheitsgründen wurde in deiner php.ini (Konfigurationsdatei für PHP) register_globals auf off gesetzt. Deswegen kannst du auf die Postvariable "name" nicht mit $name, sondern mußt mit $_POST["name"] auf die Variable, zugreifen.

    also statt:

    if (isset($submit)) {

    if(strlen($name)==0) {
    $error="Sie habe keinen Namen angegeben";
    }

    if(strlen($email)==0) {
    $error.="Sie habe keine em@il Adresse angegeben";
    }

    if(strlen($anfrage)==0) {
    $error.="Sie das anfragefeld nicht ausgefüllt";
    }

    dies:

    if (isset($_POST["submit"])) {

    if(strlen($_POST["name"])==0) {
    $error="Sie habe keinen Namen angegeben";
    }

    if(strlen($_POST["email"])==0) {
    $error.="Sie habe keine em@il Adresse angegeben";
    }

    if(strlen($_POST["anfrage"])==0) {
    $error.="Sie haben das Anfragefeld nicht ausgefüllt";
    }

    statt strlen($_POST["name"])==0 geht auch:
    if(empty($_POST["name"]))
    oder if(!isset($_POST["name"])) wie bei der Variablen submit

    Offe

  7. #7
    Registrierter Benutzer Avatar von phate
    Registriert seit
    14.02.2003
    Beiträge
    149
    Und die PHP-Tags finden sich beim Posten direkt über dem Texteingabefeld in Form eines Buttons mit der Bezeichnung PHP wieder. Bei der Codeeingabe einmal klicken für öffnende PHP-Tags, Code eingeben und am Ende nochmal klicken für schliessende PHP-Tags. Dann wird Dein Code schön nichtproportional und mit Syntax-Highlighting gepostet.

    Das erhöht eindeutig die Lesbarkeit und die Wahrscheinlichkeit, dass Dir jemand weiterhilft.

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •