Sie sind nicht angemeldet.

  • [Hilfe: PHP/SQL] Kontaktfomular Problem

    1

    Dienstag, 13. April 2010, 19:39

    Kontaktfomular Problem

    Nabend,

    kann mir mal bitte jemand auf die Sprünge helfen? Ich versuche erfolglos ein Kontaktformular zu basteln, aber ich bekomm andauernd Fehler. Entweder bekomm ich "... unexpected {... (oder } jenachdem)" oder sowas wie t-else error. Vllt hat ja jemand ne gute Idee für mich:). Achja, ich hab vorher noch nie mit PHP zutun gehabt.

    Der Code wäre:

    HTML:

    Quellcode

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    
           	<form action="form_demande.php" method="post">
        			Nom:<br />
        			<input type="text" maxlength="100" name="name" size="40" /><br /><br />
            		Produit:<br />
            		<input type="text" maxlength="100" name="product" size="40" /><br /><br />
            		E-Mail:<br />
            		<input type="text" maxlength="100" name="email" size="40" /><br /><br />
            		Notes:<br />
        			<textarea name="message" cols="31" rows="5"></textarea><br /><br />
        			<input name="submit" type="submit" value="Demander" />
        		</form>



    PHP:

    PHP-Quelltext

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    
    <?php
    $submit $_POST['submit'];
    $name $_POST['name'];
    $product $_POST['product'];
    $email $_POST['email'];
    $message $_POST['message'];
    
    if ($submit){
        
        ($name&&$product&&$email&&$message)
        {
        $to 'test@test.de';
        $subject 'Das ist der erste Test Betreff!';
        $body 'Absender: $name \n E-Mailasdresse: $email \n Produkt: $product \n\n $message';
        $headers 'Von: $email';
        mail ($to$subject$body$headers);
        
        echo 'Ihre Nachricht wurde erfolgreich gesendet';
        
        }
    
    }
    
    else{
        echo 'Bitte alle Felder ausf&uuml;llen! <a href="demande_de_prix.html">Zur&uuml;ck</a>';
    
    }
     exit() 
    ?>


    Gruß

    2

    Dienstag, 13. April 2010, 22:32

    Sorry das ich das etz so sage aber dein Coding Stil ist richtig dreckig :/

    Schau mal ob du so hinkommst:

    PHP-Quelltext

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    
    <?php
    $submit = (isset($_POST['submit'])) ? $_POST['submit'] : false;
    $name = (isset($_POST['name'])) ? $_POST['name'] : false;
    $product = (isset($_POST['product'])) ? $_POST['product'] : false;
    $email = (isset($_POST['email'])) ? $_POST['email'] : false;
    $message = (isset($_POST['message'])) ? $_POST['message'] : false;
    
    if ($submit != false)
    {
       
    if($name != false && $product != false && $email != false && $message != false)
    {
    $to 'test@test.de';
    $subject 'Das ist der erste Test Betreff!';
    $body "Absender: $name \n E-Mailasdresse: $email \n Produkt: $product \n\n $message";
    $headers "Von: $email";
    mail ($to$subject$body$headers);
       
    echo 'Ihre Nachricht wurde erfolgreich gesendet';
       
    }
    
    }
    
    else{
    echo 'Bitte alle Felder ausf&uuml;llen! <a href="demande_de_prix.html">Zur&uuml;ck</a>';
    
    }
     exit() ;
    ?>




    Wenn du \n verwenden willst, musst du Anführungszeichen statt Hochkommas nehmen. Dasselbe gilt für Variablen:

    PHP-Quelltext

    1
    2
    3
    4
    5
    
    $bla "Hallo";
    echo "$bla"// Erzeugt die Ausgabe: Hallo
    echo '$bla'// Erzeugt die Ausgabe: $bla
    echo "\n"// Geht in die nächste Zeile
    echo '\n'// Erzeugt die Ausgabe: \n



    EDIT: Falls du mit der ersten Zeile des von mir geposteten Quellcodes nicht klarkommen solltest, schau dir das mal an

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »Dava« (13. April 2010, 22:47)


    3

    Dienstag, 13. April 2010, 22:49

    Erstmal danke für die Antwort. Wie oben schon geschrieben, hab ich vorher noch nie bezug zu PHP gehabt. Ich hab gegogelt und nen bisschen bei php.net gelesen und dann auf eigene Faust versucht was zu bauen.
    Habs mal hochgeladen, aber nach der eingabe schickt er mich ohne meldung zur php datei, die dann einfach nur leer ist also ne weiße Seite halt.

    Gruß

    4

    Dienstag, 13. April 2010, 22:52

    PHP-Quelltext

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    
    <?php
    $submit = (isset($_POST['submit'])) ? $_POST['submit'] : false;
    $name = (isset($_POST['name'])) ? $_POST['name'] : false;
    $product = (isset($_POST['product'])) ? $_POST['product'] : false;
    $email = (isset($_POST['email'])) ? $_POST['email'] : false;
    $message = (isset($_POST['message'])) ? $_POST['message'] : false;
    $errormsg 'Bitte alle Felder ausf&uuml;llen! <a href="demande_de_prix.html">Zur&uuml;ck</a>';
    
    
        if($name != false && $product != false && $email != false && $message != false && $submit != false)
        {
            $to 'test@test.de';
            $subject 'Das ist der erste Test Betreff!';
            $body "Absender: $name \n E-Mailasdresse: $email \n Produkt: $product \n\n $message";
            $headers "Von: $email";
            mail ($to$subject$body$headers);
            echo 'Ihre Nachricht wurde erfolgreich gesendet';
        }
        else
        {
            echo $errormsg;
        }
    
     exit() ;
    ?>

    5

    Dienstag, 13. April 2010, 22:55

    Jetzt sagt er mir ich soll alle Felder ausfüllen X(

    6

    Dienstag, 13. April 2010, 22:56

    PHP-Quelltext

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    
    <?php
    $name = (isset($_POST['name'])) ? $_POST['name'] : false;
    $product = (isset($_POST['product'])) ? $_POST['product'] : false;
    $email = (isset($_POST['email'])) ? $_POST['email'] : false;
    $message = (isset($_POST['message'])) ? $_POST['message'] : false;
    $errormsg 'Bitte alle Felder ausf&uuml;llen! <a href="demande_de_prix.html">Zur&uuml;ck</a>';
    
    
        if($name != false && $product != false && $email != false && $message != false)
        {
            $to 'test@test.de';
            $subject 'Das ist der erste Test Betreff!';
            $body "Absender: $name \n E-Mailasdresse: $email \n Produkt: $product \n\n $message";
            $headers "Von: $email";
            mail ($to$subject$body$headers);
            echo 'Ihre Nachricht wurde erfolgreich gesendet';
        }
        else
        {
            echo $errormsg;
        }
    
     exit() ;
    ?>

    7

    Dienstag, 13. April 2010, 22:59

    Ich soll immer noch alle Felder ausfüllen. :(

    8

    Dienstag, 13. April 2010, 23:05

    Ich finde ehrlich gesagt keinen fehler dran :/ höchst eigenartig

    höchstens der webserver hat noch zwischengecached :/

    9

    Dienstag, 13. April 2010, 23:07

    Ich werde es mal eben wo anders testen, vllt tut es ja da.

    10

    Dienstag, 13. April 2010, 23:10

    Mach das mal und melde uns dann hier das Ergebnis deines Tests. Am Code erkenne ich auch nach mehrmaligen durchlesen keine fehler (am HTML sowie am PHP)

    11

    Dienstag, 13. April 2010, 23:26

    Er sagt schon mal "Nachricht wurde gesendet", nur die E-Mail lässt noch auf sich warten. Mal abwarten, ist auch bis zum finish nur nen freehoster zum testen.
    Aber 1000000000 dank erstmal bis hier hin. Ich werde dann mal warten ob die E-Mail auch ordnungsgemäß ankommt :D.

    Gruß

    12

    Dienstag, 13. April 2010, 23:29

    Freut mich das ich helfen konnte ;) Ich denke mal die mail sollte nach allerspätestens 3 tagen da sein :D manche webserver brauchen wirklich so lange

    13

    Dienstag, 13. April 2010, 23:35

    Wenn sie denn ankommt, ist es mir egal wie lange sie braucht :D Später wird eh auf nen besseren Hoster umgesattelt.
    1000 dank nochmal :) Hast ein gut bei mir :D

    Gruß

    14

    Mittwoch, 14. April 2010, 13:49

    So, funktioniert ganz wunderbar!
    Für anfänger denke ich ein guter einstieg für eine Formularübergabe und Verarbeitung, vllt kan man das sticky machen oder so ;) .

    Gruß

    15

    Mittwoch, 14. April 2010, 14:23

    Freut mich zwar, dass Du es geschafft hast,
    aber wieso sollte man diesen Thread gleich zu einem Sticky machen?!
    Stell Dir mal vor, dann müsste man hier ja jedes Problem mit Lösung "anstycken"..
    Das ist ja nicht der Sinn der Sache.
    Zudem ist es ja nicht einmal ein Tutorial, ohne Erklärung und sonst etwas.
    Sogar Tutorials werden in den meisten Foren nicht gleich gestyckt, das ist ja sinnlos.

    mfG

  • Grufix-Board.de - GFX Webdesign Foto & Coding Community

    Grafik-Tutorials | Coding-Tutorials | Ressourcen | SEO | Webdesign | HTML5
    W3C Validator