Login  Regeln Aktuelles Datum und Uhrzeit: 09.01.2009, 09:15  
Startseite
Registrieren
Profil
Suchen
Mitgliederliste
Verzeichnis
Impressum



Partner
kostenlose Homepage
Fussball
Kostenloses Forum
SMS kostenlos
Webhosting
Webmasterportal
Kostenlos
Kredit ohne Schufa
Esoterik-Forum
Selbsthilfeforum
Artikel Backlink
Datenrettung
Kontaktformular mit PHP - lustige Fehlersuche

 
Neues Thema eröffnen   Neue Antwort erstellen    Webmaster Forum -> Serverseitige Websprachen
Vorheriges Thema anzeigen Nächstes Thema anzeigen 
Autor Nachricht
EvaMarie
Stammuser [User]
Stammuser



Anmeldung: 20.02.05
Beiträge: 34
Wohnort: Remagen

BeitragVerfasst am: 04.05.2006, 18:20    Titel: Kontaktformular mit PHP - lustige Fehlersuche Antworten mit Zitat

Sooo... Nochmal bezugnehmend auf Ostern... Hat vielleicht irgendwer noch nicht genug vom Suchen und mag mir hier mal meine Fehler raussuchen? Kann sogar ziemlich sicher versprechen, dass es mehr als einer ist... Sollte doch eigentlich einen Anreiz darstellen, oder? Lachen

Neee... Im Ernst: Habe mir den Quelltext für das Formular von irgendner Tutorial-Seite runtergefischt... Aber irgendwie wills nach meiner CSS und XHTML-Anpassung nicht mehr so ganz klappen, wie ich will. (Obwohl ich jetzt nicht weiß, obs vorher überhaupt geklappt hat;o)) Und da ich nicht mal annähernd Ahnung habe, wie PHP funktioniert... Würde mir jemand mal nen Tipp geben, was ich abändern muss, damits läuft?

Stelle euch den Code mal ein... Wäre echt lieb...


Lieber Gruß,
Eva-Marie






Das ganze wird per <?php include("texte/contact_de.php"); ?> in eine andere php-Datei eingebunden. Dann muss ich fürs ändern der einzelnen Inhalte nicht immer in meiner HTML-Struktur rumpfuschen... Falls es daran liegen sollte...


Code:

<div>
            <?php
            
            function check_email($email) //Emailadresse prüfen (Keine Umlaute etc.)
            {
            
            if( !preg_match("/^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,4}|museum$/i", $email) )  return true;
            
            return false;
            }

            // Allgemeine Variablen
            $name_tag[0] = "Sonntag";
            $name_tag[1] = "Montag";
            $name_tag[2] = "Dienstag";
            $name_tag[3] = "Mittwoch";
            $name_tag[4] = "Donnerstag";
            $name_tag[5] = "Freitag";
            $name_tag[6] = "Samstag";
            $num_tag   = date( "w");
            $day      = $name_tag[$num_tag];
            $year      = date("Y");
            $day_num   = date("d");
            $month      = date("m");
            $time      = (date("H:i"));
            
            $empfaenger = "contact@eva-marie-becker.net"; //Die eigene emailadresse
            $subject01 = "Kontaktformular"; //Der Betreff der Email
            $subject02 = "Kontaktaufnahme mit Eve-Marie Becker"; //Betreff der Bestätigungsmail
            
            if ($flag==1) //Wenn das Fromular ausgefüllt wurde.
            {
               //Die Eingaben prüfen
               if(!$namer){$fehler="Bitte Namen eingeben<br>";}
               if(!$vorname){$fehler.="Bitte Vornamen eingeben<br>";}
               if(check_email($email) & $email!="") {$fehler.="Emailadresse ist ungültig<br>";}
               if(!$email) {$fehler.="Bitte die Emailadresse eingeben<br>";}
               if(!$text) {$fehler.="Bitte eine Nachricht eingeben<br>";}
            
               if($fehler) //Bei Fehlern, Meldung ausgeben
               {
                  $meldung="" .$fehler. "";
                  unset($flag);
                  echo "Es sind folgende Fehler aufgetreten: <br/><br/> " .$meldung. "";
               }
               else //Wenn es keine Fehler gibt kann ja gemailt werden.
               {
                 //Der Body für die Mail
                 $body01 = "Nachricht gesendet am $day, $day_num.$month.$year um $time:
            ----------------------------------------------------------------
            Vorname        : $vorname
            Name           : $namer
            eMail          : $email
            ----------------------------------------------------------------
            Nachricht:
            $text";
            
                  //Body für die Bestätigungsmail
                  $body02 = "Hallo $vorname $namer!
            Ihre Email über das Kontaktformular auf http://www.eva-marie-becker.net ist soeben übermittelt worden. Ich habe folgende Nachricht von Ihnen erhalten:
            -----------------------------------------------------------------------------------
            Name           : $namer
            Vorname        : $vorname
            eMail          : $email
            -----------------------------------------------------------------------------------
            Nachricht:
            $text
            -----------------------------------------------------------------------------------
            
            Ihre Mail wird so schnell wie möglich bearbeitet.
            
            Liebe Grüße,
            Eva-Marie Becker";
            
                  //Nun kann gemailt werden
                  //Erst die Mail an den Webmaster
                  mail ($empfaenger, $subject01, $body01, "From:$email");
                  //Dann die Bestätigungsmail
                  mail ($email, $subject02, $body02, "From:$email");
                  echo "Die Mail wurde gesendet.";
               }
            }
            
            if(!$flag) //Formular noch nicht abgesendet
            {
                  ?>


            <form action="contact_de.php" method="post" enctype="multipart/form-data" name="form" id="form">
             <input type="hidden" name="flag" id="flag" value=1>
             <div style="position:absolute; top:0px; left:0px;">
               Name:
               <span style="position:absolute; left: 100px;">
                  <input name="namer" type="text" id="namer" maxlength="30" size="25" value='<?php echo $namer; ?>'>
               </span>
            </div>
            <div style="position:absolute; top:30px; left:0px;">
               Vorname:
               <span style="position:absolute; left: 100px;">
                  <input name="vorname" type="text" id="vorname" maxlength="30" size="25" value='<?php echo $vorname; ?>'>
               </span>
            </div>           
            <div style="position:absolute; top:60px; left:0px;">
               Email:
               <span style="position:absolute; left: 100px;">
                  <input name="email" type="text" id="email" maxlength="50" size="25" value='<?php echo $email; ?>'>
               </span>
            </div>      
            <div style="position:absolute; top:90px; left:0px; width:100px;">     
                   Nachricht:
               <span style="position:absolute; left:100px;">
               <textarea name="text" cols="50" rows="10"><?php echo $text; ?></textarea>
               </span>
            </div>
            <div style="position:absolute; top:280px; left:457px;">
               <input type="submit" name="Submit" value="Senden">
            </div>
          </form>
           <?php
           }
        ?>          



</div>


Nach oben
Private Nachricht senden
Metaman
Power-Poster [User]
Power-Poster



Anmeldung: 20.11.05
Beiträge: 636

BeitragVerfasst am: 04.05.2006, 18:29    Titel: Antworten mit Zitat

da wäre es schon vorteilhaft wenn du dazu schreibst was nicht geht....
also syntaxfehler sehe ich da keine.
das einzigste was sehe wäre die Zeile
Code:
<form action="contact_de.php" method="post" enctype="multipart/form-data" name="form" id="form">


das enctype="multipart/form-data"
kannst Du weglassen, ist meiner Meinung nach nur erfoderlich wenn für Dateiuploads

das hauptproblem wird warscheinlich sein, das wenn Du auf den Senden Buton klickst, das dann nichts pasiert.

wenn das so ist, liegt es daran das Du das per include lädst..
dann kannst du aber ganz einfach bei
form action="contact_de.php"
das contact_de.php weglassen, damit wird dann sozusagen das Formular an sich selbst gesendet..

_________________
Webmaster Lexikon
Schnäppchensuche
Wenn Du einen Clan Sponsor suchst, schreibe mich NICHT an!!!


Nach oben
Private Nachricht senden Website dieses Benutzers besuchen
EvaMarie
Stammuser [User]
Stammuser



Anmeldung: 20.02.05
Beiträge: 34
Wohnort: Remagen

BeitragVerfasst am: 04.05.2006, 18:54    Titel: Antworten mit Zitat

Hmm... Habe die zwei Sachen mal geändert. Tut sich aber nix.

Also wirklich gar nix. Man kann die Formularfelder vollständig und unvollständig ausfüllen, auf absenden klicken, dann leeren sich die Felder und das wars dann auch schon. Es kommt weder ne Bestätigungsmail an, noch die Weiterleitung des Kontaktformulars an mich und Fehlermeldungen bzw die Meldung "wurde versendet" (oder so) gibt er auch nicht aus Traurig

Ich habs Testweise mal hier hochgeladen.


Nach oben
Private Nachricht senden
Metaman
Power-Poster [User]
Power-Poster



Anmeldung: 20.11.05
Beiträge: 636

BeitragVerfasst am: 04.05.2006, 19:13    Titel: Antworten mit Zitat

Lachen
liegt warscheinlich an deiner PHP Version
denn die verarbeitung der Formulardaten erfolgt ab der Zeile
Code:
if ($flag==1) //Wenn das Fromular ausgefüllt wurde.

dein Server ist sicher so geschaltet das man Variablen nicht direkt übergeben kann,
das heißt man müste das $flag in $_POST['flag'] ändern
und auch alle anderen Variablen...

aber wenn es wirklich an dem liegt, gehts auch einfacher Lachen
füge mal in der dritten Zeile
also vor dem function check_email
folgenden Code ein
Code:
foreach($_GET as $getkey => $getvalue) $$getkey = $getvalue;
foreach($_POST as $postkey => $postvalue) $$postkey = $postvalue;

_________________
Webmaster Lexikon
Schnäppchensuche
Wenn Du einen Clan Sponsor suchst, schreibe mich NICHT an!!!


Nach oben
Private Nachricht senden Website dieses Benutzers besuchen
EvaMarie
Stammuser [User]
Stammuser



Anmeldung: 20.02.05
Beiträge: 34
Wohnort: Remagen

BeitragVerfasst am: 04.05.2006, 19:32    Titel: Antworten mit Zitat

Smilie Also einen Teil der Meldungen zeigt er jetzt an... Danke:)

Die Emails sind allerdings noch nicht angekommen und eine Fehlermeldung wird nur angezeigt, wenn man das Nachrichtenfeld nicht ausfüllt, ansonsten erscheint immer die Meldung "Die Mail wurde gesendet". Laut Quelltext sollte das aber ja eigentlich anders sein*am kopf kratz*


Nach oben
Private Nachricht senden
Metaman
Power-Poster [User]
Power-Poster



Anmeldung: 20.11.05
Beiträge: 636

BeitragVerfasst am: 04.05.2006, 19:41    Titel: Antworten mit Zitat

abwarten...
bei manchen Providern werden solche Mails auch gesammelt und nur einmal pro Stunde oder so verschickt....

ich geh mal davon aus das deine Emailadressen stimmen die Du dafür benutzt hast..

wenn da weiterhin nichts ankommen, dann nimm die die beiden Zeilen für den Mailversand vor
Code:
mail ($empfaenger, $subject01, $body01, "From:$email");
//Dann die Bestätigungsmail
mail ($email, $subject02, $body02, "From:$email");

und ändere die in
Code:
mail("$empfaenger", "$subject01", "$body01", "From:$email\n\n");
//Dann die Bestätigungsmail
mail("$email", "$subject02", "$body02", "From:$email\n\n");

_________________
Webmaster Lexikon
Schnäppchensuche
Wenn Du einen Clan Sponsor suchst, schreibe mich NICHT an!!!


Nach oben
Private Nachricht senden Website dieses Benutzers besuchen
800XE
Bekannter [Mod]
Bekannter



Anmeldung: 24.10.04
Beiträge: 1499
Wohnort: Speyer

BeitragVerfasst am: 05.05.2006, 02:58    Titel: Antworten mit Zitat

Metaman hat folgendes geschrieben:
Code:
mail("$empfaenger", "$subject01", "$body01", "From:$email\n\n");
//Dann die Bestätigungsmail
mail("$email", "$subject02", "$body02", "From:$email\n\n");

kann es sein, das der Provider das komisch findet (spamming?) wenn from+to die selbe Adresse ist und die mail deswegen nicht ankommt .....

@Eva
schreib mal vor die mail Befehle ein eche ....

Code:

echo("<br>sending #$empfaenger#$email#");

mail("$empfaenger", "$subject01", "$body01", "From:$email\n\n");
//Dann die Bestätigungsmail
mail("$email", "$subject02", "$body02", "From:$email\n\n");

_________________
Seien wir realistisch, versuchen wir das Unmögliche!
CMS800 :::::::::: Andy 800XE Zmuda :::::::::
ich bin nicht unhöflich, ich bin binär


Nach oben
Private Nachricht senden Website dieses Benutzers besuchen
EvaMarie
Stammuser [User]
Stammuser



Anmeldung: 20.02.05
Beiträge: 34
Wohnort: Remagen

BeitragVerfasst am: 05.05.2006, 14:26    Titel: Antworten mit Zitat

Hmmm... Alles ausprobiert... Tut sich nix Weinen

Nach oben
Private Nachricht senden
Tuemmel
User [User]
User



Anmeldung: 01.05.06
Beiträge: 19

BeitragVerfasst am: 05.05.2006, 23:26    Titel: Antworten mit Zitat

Code:
                 mail ($empfaenger, $subject01, $body01, "From:$email");
                  //Dann die Bestätigungsmail
                  mail ($email, $subject02, $body02, "From:$email");
                  echo "Die Mail wurde gesendet.";


Hallo,
änader das mal in
if( mail ($empfaenger, $subject01, $body01, "From:$email") &&
mail ($email, $subject02, $body02, "From:$email"))

echo "Die Mail wurde gesendet.";
else{
print "Die Mail wurde nicht gesendet.<br />";
print 'empfaenger:'.$empfaenger.'<br />';
print 'subject1:'.$subject01.'<br />';
print 'text1:'.$body01.'<br />';
print 'text2:'.$body02.'<br />';
print 'subject2:'.$subject02.'<br />';
print 'sender:'.$email.'<br />';
}

und schreib, ob was passiert.
btw. Das Script finde ich übrigens nicht so toll.

_________________
Suchmaschinen rank tool auf www.maboom.ch/sales/listing.php

neuer Web Counter auf www.fincy.com
auch als download-Version

Bernd R. Rickert
Casa della Pazienza
ch-6545 Selma


Nach oben
Private Nachricht senden
EvaMarie
Stammuser [User]
Stammuser



Anmeldung: 20.02.05
Beiträge: 34
Wohnort: Remagen

BeitragVerfasst am: 06.05.2006, 10:35    Titel: Antworten mit Zitat

Hmmm... Wenn ich das so änder, gibt er das

Zitat:
Die Mail wurde nicht gesendet.
empfaenger:contact@eva-marie-becker.net
subject1:Kontaktformular
text1:Nachricht gesendet am Samstag, 06.05.2006 um 11:31: ---------------------------------------------------------------- Vorname : cmwspvom Name : awndivoä eMail : info@eva-marie-becker.net ---------------------------------------------------------------- Nachricht: vwniopvwssfv
text2:Hallo cmwspvom awndivoä! Ihre Email über das Kontaktformular auf http://www.eva-marie-becker.net ist soeben übermittelt worden. Ich habe folgende Nachricht von Ihnen erhalten: ----------------------------------------------------------------------------------- Name : awndivoä Vorname : cmwspvom eMail : info@eva-marie-becker.net ----------------------------------------------------------------------------------- Nachricht: vwniopvwssfv ----------------------------------------------------------------------------------- Ihre Mail wird so schnell wie möglich bearbeitet. Liebe Grüße, Eva-Marie Becker
subject2:Kontaktaufnahme mit Eva-Marie Becker
sender:info@eva-marie-becker.net


aus... Geschockt

Also wenn du irgendne Seite weißt, wo es nen besseres Script gibt, das sogar direkt funktioniert*lach*, immer her damit. Dann bau ich das um. Ich fand nur an dem hier so toll, dass es da ne Bestätigungsmail gibt. So a la "Der Kunde ist König" Sehr glücklich


Nach oben
Private Nachricht senden
Tuemmel
User [User]
User



Anmeldung: 01.05.06
Beiträge: 19

BeitragVerfasst am: 06.05.2006, 21:26    Titel: Antworten mit Zitat

Hast du denn auf dem Server schon mal Mails verschickt?
Vielleicht ist der ja gar nicht dafür konfiguriert.

Ich würde jetzt erst mal schauen, ob denn wenigstens eine der beiden Mails verschickt wurde.

_________________
Suchmaschinen rank tool auf www.maboom.ch/sales/listing.php

neuer Web Counter auf www.fincy.com
auch als download-Version

Bernd R. Rickert
Casa della Pazienza
ch-6545 Selma


Nach oben
Private Nachricht senden
EvaMarie
Stammuser [User]
Stammuser



Anmeldung: 20.02.05
Beiträge: 34
Wohnort: Remagen

BeitragVerfasst am: 11.05.2006, 12:14    Titel: Antworten mit Zitat

Hmm... Keine Mail verschickt. Und das mit dem Mail verschicken über den Server sollte meines Wissens nach klappen...*grmpf*

Nach oben
Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

Gehe zu:  

Ähnliche Beiträge
Thema Autor Forum Antworten Verfasst am
Keine neuen Beiträge Fehlersuche PHP MySQL placido Serverseitige Websprachen 4 11.12.2008, 19:54 Letzten Beitrag anzeigen
Keine neuen Beiträge Problem mit mailform.cgi / Kontaktfor... ReneSachse Einsteigerforum 2 21.08.2008, 17:56 Letzten Beitrag anzeigen
Keine neuen Beiträge IE und firefox verschiedene darstellu... placido HTML & CSS 11 09.03.2008, 15:40 Letzten Beitrag anzeigen
Keine neuen Beiträge Kontaktformular Bulldok Einsteigerforum 14 07.03.2008, 14:15 Letzten Beitrag anzeigen
Keine neuen Beiträge Kontaktformular Gamienator HTML & CSS 10 19.09.2007, 15:28 Letzten Beitrag anzeigen
Threadübersicht