Ergebnis 1 bis 7 von 7

Thema: PHP Formular

  1. #1
    HTML Newbie
    Registriert seit
    04.03.2007
    Beiträge
    7
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard PHP Formular

    Hallo,
    habe gerade ein PHP Formular gebastelt, jedoch funktioniert es nicht so wie ich es möchte.
    <?php
    $gesendet = $_POST['gesendet'];
    $name = $_POST['name'];
    $mail = $_POST['mail'];
    $betreff = $_POST['betreff'];
    $hp = $_POST['hp'];
    $nachricht = $_POST['nachricht'];

    if( $name == "") {
    header("location:f1.html");
    }
    else {
    if( $betreff == ""){
    header("location:f2.html");
    }
    else {
    if( $email == "") {
    header("location:f3.html");
    }
    else {
    if( $nachricht == "") {
    header("location:f4.html");
    }
    else {
    $an ="...";
    $text="Hallo,\nSie haben eine neue Nachricht von $name erhalten:\n
    ==========================\n\n
    Daten des Abesnders:\n\n
    Name: $name\n
    E-Mail: $email\n
    Homepage: $homepage\n
    Nachricht:\n$nachricht
    \n\n==========================";
    mail($an,$betreff,$text,"From: ".$email);
    header("location:send.html");
    }
    }
    }
    }
    ?>
    Das Formular ist zur Verständnis glaube ich unwichtig, oder? Wenn nicht sagt einfach bescheid, dann poste ich es noch.

    Wo der Fehler steckt ist mir nicht bewusst. Er ruft immer die erste Fehlerseite auf .. auch wenn ich einen Namen angegeben habe.

    Was ist falsch?

    Viele Grüße
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    Sebian
    Gast

    Standard

    mhm deine php auswertung sieht ganz gut aus, evt. könnte man die eingabeüberprüfungen mit isset($name) ect. eleganter lösen.

    auch die ganzen errorseiten sind meinermeinung nicht wirklich gut. wenn jetzt email und name nicht passen kommt nur eine fehlermeldung.
    Die ganzen Weiterleitungen find ich auch nicht so toll

    dann glaub ich das der code ordentlicher ist, wenn nach den locations noch ein exit kommt

    ich glaub dein Fehler liegt im html teil des formulars... könntest den vllt. auch noch schicken....

    hier mal dein code aufs wesentliche korrigiert

    Code:
    <?php
    $gesendet = $_POST&#91;'gesendet'&#93;;
    $name = $_POST&#91;'name'&#93;;
    $mail = $_POST&#91;'mail'&#93;;
    $betreff = $_POST&#91;'betreff'&#93;;
    $hp = $_POST&#91;'hp'&#93;;
    $nachricht = $_POST&#91;'nachricht'&#93;;
    
    if &#40;$name == ""&#41; &#123;
    	header&#40;"Location&#58; f1.html"&#41;;
    	exit&#40;&#41;;
    &#125;
    else if &#40;$betreff == ""&#41; &#123;
    	header&#40;"Location&#58; f2.html"&#41;;
    	exit&#40;&#41;;
    &#125;
    else if &#40;$email == ""&#41; &#123;
    	header&#40;"Location&#58; f3.html"&#41;;
    	exit&#40;&#41;;
    &#125;
    else if &#40;$nachricht == ""&#41; &#123;
    	header&#40;"Location&#58; f4.html"&#41;;
    	exit&#40;&#41;;
    &#125;
    else &#123;
    	$an ="...";
    	$text="Hallo,\nSie haben eine neue Nachricht von $name erhalten&#58;\n
    	==========================\n\n
    	Daten des Abesnders&#58;\n\n
    	Name&#58; $name\n
    	E-Mail&#58; $email\n
    	Homepage&#58; $homepage\n
    	Nachricht&#58;\n$nachricht
    	\n\n==========================";
    	mail&#40;$an,$betreff,$text,"From&#58; ".$email&#41;;
    	header&#40;"Location&#58; send.html"&#41;;
    	exit&#40;&#41;;
    &#125;
    ?>

    lg sebian

  3. #3
    HTML Newbie
    Themenstarter

    Registriert seit
    04.03.2007
    Beiträge
    7
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Hallo, danke für die antwort. Ich habe jetzt deine Version ausprobiert, jedoch kommt das gleiche Ergebniss raus.

    Hier ist das Formular:
    <form method="post" action="send.php">
    <label for="name" accesskey="1">Name:
    </label>
    <input type="text" id="name" />

    <label for="mail" accesskey="2">E-Mail:
    </label>
    <input type="text" id="mail" />

    <label for="homepage" accesskey="3">Homepage:
    </label>
    <input type="text" id="homepage" />

    <label for="betreff" accesskey="3">Betreff:
    </label>
    <input type="text" id="betreff" />

    Nachricht:

    <textarea cols="50" rows="10" name="nachricht"></textarea>



    <input type="submit" name="gesendet" value="Absenden" /><input type="reset" value="Zurücksetzen" style="margin-left: 5px;" />
    </form>
    Hoffe das kann dir weiterhelfen.

    Viele Grüße

  4. #4
    Sebian
    Gast

    Standard

    hast die name tags bei den text-inputs vergessen. Die id tags braucht man aber trotzdem für das label zeug oder sonstige JS sachen...


    hier die korriegierte version:
    Code:
    <form method="post" action="send.php">
    <label for="name" accesskey="1">Name&#58;
    </label>
    <input type="text" id="name" name="name" />
    
    <label for="mail" accesskey="2">E-Mail&#58;
    </label>
    <input type="text" id="mail" name="email" />
    
    <label for="homepage" accesskey="3">Homepage&#58;
    </label>
    <input type="text" id="homepage" name="homepage" />
    
    <label for="betreff" accesskey="3">Betreff&#58;
    </label>
    <input type="text" id="betreff" name="betreff" />
    
    Nachricht&#58;
    
    <textarea cols="50" rows="10" name="nachricht"></textarea>
    
    
    <input type="submit" name="gesendet" value="Absenden" /><input type="reset" value="Zurücksetzen" />
    </form>

  5. #5
    Meister(in)
    Registriert seit
    15.01.2007
    Ort
    Hannover
    Beiträge
    382
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    <input type="text" id="mail" />

    deine inputs haben garkeine namen... die id brauchst du nur, um mit javascript zu arbeiten....
    müsste also so aussehen:
    <input type="text" id="mail" name="mail" />


    //blub....... zu langsam gewesen

  6. #6
    HTML Newbie
    Themenstarter

    Registriert seit
    04.03.2007
    Beiträge
    7
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Hallo,
    danke für eure antworten

    Habe jetzt alles korrigiert, jedoch funktioniert es immer noch nicht.
    Hier die "aktuelle" Version:

    Code:
    <form method="post" action="send.php">
    <label for="name" accesskey="1">Name&#58; <span class="red">*</span>
    </label>
    <input type="text" id="name" name="name" />
    
    <label for="mail" accesskey="2">E-Mail&#58; <span class="red">*</span>
    </label>
    <input type="text" id="mail" name="mail" />
    
    <label for="homepage" accesskey="3">Homepage&#58;
    </label>
    <input type="text" id="homepage" name="homepage" />
    
    <label for="betreff" accesskey="3">Betreff&#58; <span class="red">*</span>
    </label>
    <input type="text" id="betreff" name="betreff" />
    
    Nachricht&#58; <span class="red">*</span>
    
    <textarea cols="50" rows="10" name="nachricht"></textarea>
    
    
    <input type="submit" name="gesendet" value="Absenden" /><input type="reset" value="Zurücksetzen" style="margin-left&#58; 5px;" />
    </form>
    Code:
    <?php
    $gesendet = $_POST&#91;'gesendet'&#93;;
    $name = $_POST&#91;'name'&#93;;
    $email = $_POST&#91;'email'&#93;;
    $betreff = $_POST&#91;'betreff'&#93;;
    $homepage = $_POST&#91;'homepage'&#93;;
    $nachricht = $_POST&#91;'nachricht'&#93;;
    
    if &#40;$name == ""&#41; &#123;
       header&#40;"Location&#58; f_name.html"&#41;;
       exit&#40;&#41;;
    &#125;
    else if &#40;$betreff == ""&#41; &#123;
       header&#40;"Location&#58; f_mail.html"&#41;;
       exit&#40;&#41;;
    &#125;
    else if &#40;$email == ""&#41; &#123;
       header&#40;"Location&#58; f_betreff.html"&#41;;
       exit&#40;&#41;;
    &#125;
    else if &#40;$nachricht == ""&#41; &#123;
       header&#40;"Location&#58; f_nachr.html"&#41;;
       exit&#40;&#41;;
    &#125;
    else &#123;
       $an ="...";
       $text="Hallo,\nSie haben eine neue Nachricht von $name erhalten&#58;\n
       ==========================\n\n
       Daten des Abesnders&#58;\n\n
       Name&#58; $name\n
       E-Mail&#58; $email\n
       Homepage&#58; $homepage\n
       Nachricht&#58;\n$nachricht
       \n\n==========================";
       mail&#40;$an,$betreff,$text,"From&#58; ".$email&#41;;
       header&#40;"Location&#58; send.html"&#41;;
       exit&#40;&#41;;
    &#125;
    ?>
    Egal welches Feld ich frei lasse, e ruft immer nur die erste Fehler Seite auf.

    Viele Grüße

  7. #7
    Gast

    Standard

    statt $email = $_POST['email'];
    musst du $email = $_POST['mail']; nehmen!! oder halt im html teil anpassen...

    dann gings bei mir!

Ähnliche Themen

  1. Formular per php
    Von minder im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 3
    Letzter Beitrag: 22.02.2008, 14:11
  2. Formular
    Von Gast im Forum HTML & CSS Forum
    Antworten: 6
    Letzter Beitrag: 13.12.2007, 13:51
  3. Formular
    Von WWKiller im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 2
    Letzter Beitrag: 22.07.2006, 18:22
  4. php Formular
    Von schnieselwiesl im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 3
    Letzter Beitrag: 23.09.2005, 22:32
  5. formular in pop up
    Von jakobus im Forum HTML & CSS Forum
    Antworten: 9
    Letzter Beitrag: 04.08.2004, 15:35

Stichworte

Berechtigungen

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