Okay Danke, jetzt funktioniert es.
Ich hatte ein bisschen gesucht, aber ich hab mir nur 20 Themen angeguckt.
Bestätigungsemail
Einklappen
X
-
Okay, die Daten werden Übermittelt.
Trodtzdem bleibt noch das oben gennante Warning.
Einen Kommentar schreiben:
-
Zitat von ttrf Beitrag anzeigenIch weiß nicht wie ich prüfen kann ob die Daten per POST übermittelt werden.oder besserPHP-Code:if ($_POST) {
...
}
PeterPHP-Code:if ($_POST['email']) {
...
}
PS: Dein SQL-Query sieht auch nicht koscher aus.
Einen Kommentar schreiben:
-
sry, ich tuh mir mit php sehr schwer.
Ich weiß nicht wie ich prüfen kann ob die Daten per POST übermittelt werden.
Und wenn ich die Daten in die Datenbank eingebe und ne Mail schicke, passiert das was ich eben beschrieben hab.
Tut mir Leid, mein Lehrer hat mich ins kalte Wasser geworfen.
Einen Kommentar schreiben:
-
Sorry, aber hörst du mir überhaupt zu? Dein Problem ist, dass schon beim Aufruf der Seite der gesamte Code ab array_walk ausgeführt wird. Und da du zu dem Zeitpunkt noch keine Mail-Adresse hast, knallt es.
Peter
Einen Kommentar schreiben:
-
Warning: mail() [function.mail]: SMTP server response: 503 No valid recipients specified. in C:\xampp\htdocs\gaestebuch.php on line 72
tut mir Leid, diesen Warning hatte ich vorhin übersehen.
Wenn ich die Email eingebe und speichere verschwindet die Notice, aber dieser Warning bleibt.Es kommt dann auch keine E-mail bei mir an.Zuletzt geändert von ttrf; 21.05.2012, 16:13.
Einen Kommentar schreiben:
-
Nein, du musst zuerst prüfen, ob überhaupt Daten per POST übermittelt wurden. Und dann erst kommt der komplette Rest. Also Daten in DB schreiben und Mail verschicken.
Peter
Einen Kommentar schreiben:
-
Also muss ich eine if-Bedingung einbauen. Und die Bedingung muss dann sein, dass die Werte in der Datenbank gespeichert sind. Aber wie kann ich das da reinschreiben?
Einen Kommentar schreiben:
-
Ein Notice ist kein Fehler, sondern nur ein Hinweis auf schlampigen Code. Und das ist bei dem Code auch richtig, denn du schickst die Mail ja sofort los, ohne das etwas passiert. Du musst also vorher prüfen, ob überhaupt POST-Werte versendet wurden.
Peter
Einen Kommentar schreiben:
-
Bestätigungsemail
Hallo,
Ich will, dass man, nachdem man sich ins Gästebuch eingetragen hat, eine Bestätigungsmail bekommt. Das Gästebuch funktioniert und die Mail funktioniert auch solange ich eine E-Mail-Adresse eingebe.
Allerdings will ich ja das die E-Mail an denjenigen geht, der sich einträgt. Und bis jetzt kommt immer ein Error: Notice: Undefined index: email in C:\xampp\htdocs\gaestebuch.php on line 92
Danke im Vorraus,HTML-Code:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <?php define ( 'MYSQL_HOST', 'localhost' ); define ( 'MYSQL_BENUTZER', 'root' ); define ( 'MYSQL_KENNWORT', '' ); define ( 'MYSQL_DATENBANK', 'gästebuch' ); $db_link = @mysql_connect (MYSQL_HOST, MYSQL_BENUTZER, MYSQL_KENNWORT); if ( ! $db_link ) { die('keine Verbindung zur Zeit möglich - später probieren '); } $db_sel = mysql_select_db( MYSQL_DATENBANK ) or die("Auswahl der Datenbank fehlgeschlagen"); ?> <form name="" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST" > <p>Ihr Name:<br /> <input type="text" name="name" value="" /> </p> <p>Ihre E-Mail-Adresse:<br /> <input type="text" name='email' value="" /> </p> <p>Ihre Homepage:<br /> <input type="text" name="url" value="" /> </p> <p>Gästebucheintrag:<br /> <textarea name="eintrag" rows="10" cols="50"></textarea> </p> <input type="Submit" value="speichern" /> </form> <?php array_walk ( $_POST, 'eingabebereinigen' ); array_walk ( $_GET, 'eingabebereinigen' ); array_walk ( $_REQUEST, 'eingabebereinigen' ); function eingabebereinigen(&$value, $key) { $value = strip_tags($value, '<p><br /><b><strong>'); $value = htmlspecialchars($value, ENT_QUOTES); $value = trim($value); } $sql = " INSERT INTO gaestebuch "; $sql .= " SET "; $sql .= " name ='". $_POST['name'] ."', "; $sql .= " email ='". $_POST['email'] ."', "; $sql .= " url ='". $_POST['url'] ."', "; $sql .= " datum ='". date("Y-m-d H:i:s") ."', "; $sql .= " eintrag='". $_POST['eintrag'] ."' "; values (NULL,'$email') ; echo "<hr />SQL: $sql<hr />"; $db_erg = mysql_query( $sql ); if ( ! $db_erg ) { die('Ungültige Abfrage: ' . mysql_error()); } echo '<p><a href="projekt.php">Gästebuch anzeigen</a></p>'; $sql = select 'email' from 'gastebuch' $empfaenger = $_POST['email'] ; $absender = "ich@testkarnickel.de"; $betreff = "PHP-Mail-Test"; $mailtext = "Inhalt einer Mail zum Test von PHP"; $antwortan = "ICH@testkarnickel.de"; mail( $empfaenger, $betreff, $mailtext, "From: $absender\nReply-To: $antwortan"); exit; ?> </html>
ttrfZuletzt geändert von ttrf; 21.05.2012, 14:50.
Einen Kommentar schreiben: