Fehler in PHP-Script - Kontaktforumular

Dieses Thema Fehler in PHP-Script - Kontaktforumular im Forum "Webentwicklung, Hosting & Programmierung" wurde erstellt von Pallas2k6, 27. Aug. 2006.

Thema: Fehler in PHP-Script - Kontaktforumular Hi, brauche Hilfe bei einem Kontaktformular! <?php require_once( functions.php ); global $user,$db,$conf,...

  1. Hi,
    brauche Hilfe bei einem Kontaktformular!

    <?php
    require_once( functions.php );
    global $user,$db,$conf, $username;
    if( $username !='' )
    {
    $result = mysql_query( SELECT * FROM ypg_members WHERE user_name='$username' ) or poperror( mysql_error() );
    $user = mysql_fetch_array( $result );
    }
    if(isset ($action) && $action=='send')
    {
    if($name =='') poperror(Tragen Sie bitte Ihren Nachnamen ein!);
    if($vorname =='') poperror(Tragen Sie bitte Ihren Vornamen ein!);
    if($senderemail =='') poperror(Tragen Sie bitte Ihre E-Mail-Adresse ein!);
    if($message =='') poperror(Das Feld Ihre Nachricht ist leer!);
    elseif ( !eregi( ^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]
    {2,4}$, $senderemail ) ) error( Sorry! Diese E-Mail-Adresse ist ungültig );

    ----- Fehler müsste ab hier sein:

    $recipient = x@x.de;
    $subject = Anfrage;
    $mailheaders = From: <$senderemail> \n;
    $mailheaders .= Reply-To: <$senderemail>\n\n;
    $msg .= Nachname: $name\n;
    $msg .= Vorname: $vorname\n;
    $msg .= \n;
    $msg .= $strasse\n;
    $msg .= $plz ;
    $msg .= $ort\n;
    $msg .= \n;
    $msg .= -----------------------------------\n;
    $msg .= $homepageurl\n;
    $msg .= $senderemail\n;
    $msg .= -----------------------------------\n;
    $msg .= Nachricht: $message\n;
    $msg .= -----------------------------------\n;
    mail($recipient, $subject, $msg, $mailheaders) or die (Ihre Nachricht konnte leider nicht versandt werden!);

    ---- Ab hier sollte auch wieder alles OK sein ---------------------------
    ----Anmerkung: Ursprünglich sollte so das Mail versendet werden, jedoch reichen mir die Infos nicht aus.

    $subject=Anfrage von $name via $con[inName];
    mail($conf['inMail'],$subject,$message,From: .$sendermail);



    ------------------Ende-----------------------------------


    include(kopf.php);
    include (./temp/$conf[TemplateSet]/kontakt-ok.htm);
    include(fuss.php);
    }

    if(!isset ($action))
    {
    include(kopf.php);
    include (./temp/kontakt.htm);
    include(fuss.php);
    }
    ?>

    Cu Pallas :|
     
  2. Code:
    <?php
    ----- Fehler müsste ab hier sein:
    
    $recipient = x@x.de;
    $subject = Anfrage;
    $mailheaders = From: <$senderemail> \n;
    $mailheaders .= Reply-To: <$senderemail>\n\n;
    $msg .= Nachname: $name\n;
    $msg .= Vorname: $vorname\n;
    $msg .= \n;
    $msg .= $strasse\n;
    $msg .= $plz ;
    $msg .= $ort\n;
    $msg .= \n;
    $msg .= -----------------------------------\n;
    $msg .= $homepageurl\n;
    $msg .= $senderemail\n;
    $msg .= -----------------------------------\n;
    $msg .= Nachricht: $message\n;
    $msg .= -----------------------------------\n;
    mail($recipient, $subject, $msg, $mailheaders) or die (Ihre Nachricht konnte leider nicht versandt werden!);
    
    ---- Ab hier sollte auch wieder alles OK sein ---------------------------
    ?>
    
    Nö, der Teil ist in Ordnung, habs getestet ;)

    Was passiert denn überhaupt (oder nicht) bissle dürftig deine Beschreibung ;)

    Fehlermeldung / Warning ?? ??? ??

    Edit:

    Werden die Daten per Formular übergeben und REGISTER_GLOBALS ist in der PHP.INI auf OFF gestellt, solltest du deine Variablen aber mit $_POST, $_GET oder $_REQUEST ansprechen ;)

    Ist aber nur ma so ins Blaue geraten ;)
     
  3. Die PHP-Seite ist für den Mailversand und das öffnen einer HTML-Seite
    verantwortlich.
    Leider bindet die PHP-Datei die HTML-Datei nicht ein und es kommt ein leeres
    weißes Fenster.
    Dafür ist die Änderung im Mailbereich verantwortlich.

    Dieser Kleine Abschnitt war früher für den Mailversand verantwortlich, doch
    da gab es nur ein Feld Name, Nachricht und E-Mail. Das ist mir viel zu wenig - Daher die Änderungen, doch seither geht nur eine weiße leere Internetseite auf und das war's. Ich hoffe jemand erkennt mein Problem

    $subject=Anfrage von $name via $con[inName];
    mail($conf['inMail'],$subject,$message,From: .$sendermail);
     
  4. OK, also nochma langsam zum mitschreiben, der von dir erwähnte Teil zwischen:

    ----- Fehler müsste ab hier sein:
    und
    ---- Ab hier sollte auch wieder alles OK sein ---------------------------

    IST IN ORDNUNG

    kannst du aber ganz einfach selbst testen indem du nur den betreffenden Abschnit in eine Testdatei schreibst und die Variablen füllst.
    Anschließend auf den Webserver hochladen und ausführen.
    Du siehst zwar nur eine leere Seite, aber die Mail wird verschickt ;)

    z.B.
    Code:
    <?php
    function poperror($msg) {
    	echo $msg;
    	die;
    }
    
    $senderemail = test@test.de;
    $name = Testuser;
    $vorname = VN Tester;
    $strasse = Im Bach unten;
    $plz = 12345;
    $ort = Irgendwo;
    $homepageurl = [url]http://www.test.de;[/url]
    $message = Blos nen Tescht;
    
    if($name =='') poperror(Tragen Sie bitte Ihren Nachnamen ein!);
    if($vorname =='') poperror(Tragen Sie bitte Ihren Vornamen ein!);
    if($senderemail =='') poperror(Tragen Sie bitte Ihre E-Mail-Adresse ein!);
    if($message =='') poperror(Das Feld Ihre Nachricht ist leer!);
    elseif ( !eregi( ^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,4}$, $senderemail ) ) poperror( Sorry! Diese E-Mail-Adresse ist ungültig );
    
    
    $recipient = deine_email@adresse.xx;
    $subject = Anfrage;
    $mailheaders = From: <$senderemail> \n;
    $mailheaders .= Reply-To: <$senderemail>\n\n;
    $msg .= Nachname: $name\n;
    $msg .= Vorname: $vorname\n;
    $msg .= \n;
    $msg .= $strasse\n;
    $msg .= $plz ;
    $msg .= $ort\n;
    $msg .= \n;
    $msg .= -----------------------------------\n;
    $msg .= $homepageurl\n;
    $msg .= $senderemail\n;
    $msg .= -----------------------------------\n;
    $msg .= Nachricht: $message\n;
    $msg .= -----------------------------------\n;
    mail($recipient, $subject, $msg, $mailheaders) or die (Ihre Nachricht konnte leider nicht versandt werden!);
    ?>
    
    Eins hab ich aber noch gefunden ;)
    mehr kann ich nicht testen, da mir dazu die anderen Dateien bzw. die DB fehlt ;)

    BTW, das macht irgendwo keinen Sinn ;)
    Code:
    <?php
    if($message =='') poperror(Das Feld Ihre Nachricht ist leer!);
    elseif ( !eregi( ^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,4}$, $senderemail ) ) poperror( Sorry! Diese E-Mail-Adresse ist ungültig );
    ?>
    
     
  5. Nun habe ich einen Fehlermeldung. Der Feher soll in der Zeile:
    Parse error: parse error, unexpected T_STRING in /home/www/htdocs/xx.de/test/kontaktform.php on line 50

    Zeile 50 ist:
    mail($recipient, $subject, $msg, $mailheaders) or die (Ihre Nachricht konnte leider nicht versandt werden!);

    Das ist das komplette SCRIPT:
    Alle Links zu Dateien und Pfade sind OK!

    <?php
    require_once( ad/functions.php );
    global $user,$db,$conf, $username;
    if( $username !='' )
    {
    $result = mysql_query( SELECT * FROM ypg_members WHERE user_name='$username' ) or poperror( mysql_error() );
    $user = mysql_fetch_array( $result );
    }
    if(isset ($action) && $action=='send')
    {
    function poperror($msg) {
    echo $msg;
    die;
    }
    $senderemail = xx@xx.de;
    $name = Testuser;
    $vorname = VN Tester;
    $strasse = Im Bach unten;
    $plz = 12345;
    $ort = Irgendwo;
    $homepageurl = http://www.test.de;
    $message = Blos nen Tescht;

    if($name =='') poperror(Tragen Sie bitte Ihren Nachnamen ein!);
    if($vorname =='') poperror(Tragen Sie bitte Ihren Vornamen ein!);
    if($senderemail =='') poperror(Tragen Sie bitte Ihre E-Mail-Adresse ein!);
    if($message =='') poperror(Das Feld Ihre Nachricht ist leer!);
    elseif ( !eregi( ^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,4}$, $senderemail ) ) poperror( Sorry! Diese E-Mail-Adresse ist ungültig );


    $recipient = deine_email@adresse.xx;
    $subject = Anfrage;
    $mailheaders = From: <$senderemail> \n;
    $mailheaders .= Reply-To: <$senderemail>\n\n;
    $msg .= Nachname: $name\n;
    $msg .= Vorname: $vorname\n;
    $msg .= \n;
    $msg .= $strasse\n;
    $msg .= $plz ;
    $msg .= $ort\n;
    $msg .= \n;
    $msg .= -----------------------------------\n;
    $msg .= $homepageurl\n;
    $msg .= $senderemail\n;
    $msg .= -----------------------------------\n;
    $msg .= Nachricht: $message\n;
    $msg .= -----------------------------------\n;
    $msg .= \n;
    mail($recipient, $subject, $msg, $mailheaders) or die (Ihre Nachricht konnte leider nicht versandt werden!);





    include(head.php);
    include (./dat/$conf[TemplateSet]/kontaktform-send.htm);
    include(fuss.php);
    }

    if(!isset ($action))
    {
    include(head.php);
    include (./dat/kontaktform.htm);
    include(fuss.php);
    }
    ?>


    --------------------------
    CU Pallas
     
  6. Versuch es doch bitte mal OHNE diesen ganzen INCLUDE-Mist ;)

    Ich kann mich nur wiederholen, bei mir FUNKTIONIERT es ;)

    Und denk daran, das:
    Code:
    elseif ( !eregi( ^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,4}$, $senderemail ) ) poperror( Sorry! Diese E-Mail-Adresse ist ungültig );
    
    ist EINE ZEILE ;)

    (Wobei es normalerweise Wurscht ist, bei JS wäre es Fatal ;))
     
  7. SORRY! Den include-Mist brauche ich ja gerade, sonst geht die Internetseite für das Formular nicht an der richtigen Stelle auf.
    Die ganze Seite besteht aus mehreren Dateien!

    Die Interseite besteht aus mehreren Bereichen
    die alle miteinander und der Datenbank kommunizieren!
    --------------------------------------------
    | Kopf |
    --------------------------------------------
    | | |
    | Links | Kontaktforumlar |
    | | & andere Seiten hier |
    --------------------------------------------
    | Fuß |
    -------------------------------------------

    Ich hoffe nun ist mein Problem klar,
    daher brauche ich eine Lösung.

    CU Pallas
     
  8. Nein, brauchst du zum testen nicht ;)

    Mach doch einfach das was ich geschrieben habe.

    Testdatei anlegen und ausführen, dann siehst du das der Mailversand funktioniert.
    Ergo muss es an einer der Include-Dateien liegen.

    BTW, man kann Stück für Stück testen, oder (so wie du) alles auf einmal.
    Testest du alles auf einmal, kann der Fehler überall sein.
    Wenn du es Stücklesweise machst, ist es viel einfacher.

    z.B.
    Alle Includes auskommentieren, so das nur der Mailversand übrig bleibt und testen.
    Dannach ein Include nach dem anderen wieder aktivieren und testen.
    Irgendwann wird dann ein Fehler auftauchen, und schon weißt du woran es hängt.
    Im Prinzip ganz einfach, Oder ?!?!

    Tipp, es muss vor Zeile 50 sein ;)
     
Die Seite wird geladen...

Fehler in PHP-Script - Kontaktforumular - Ähnliche Themen

Forum Datum
MAl wieder ein Fehler im PHP-Script -.- Webentwicklung, Hosting & Programmierung 11. Apr. 2007
Fehlermeldung beim Ausfüren des PHP-Scripts im MS Internnt Explorer Windows XP Forum 5. Sep. 2006
Fehlermeldung beim Ausfüren des PHP-Scripts im i-Explorer Windows XP Forum 4. Sep. 2006
Fehlermeldung beim remote Login zu meiner IP-Cam Windows 7 Forum Dienstag um 12:31 Uhr
Fehler beim Ändern der Eigenschaften einer Datei Windows 10 Forum 17. Okt. 2016