php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 21-05-2012, 15:43
ttrf
 Registrierter Benutzer
Links : Onlinestatus : ttrf ist offline
Registriert seit: May 2012
Beiträge: 6
ttrf befindet sich auf einem aufstrebenden Ast
Standard 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




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>
Danke im Vorraus,

ttrf

Geändert von ttrf (21-05-2012 um 15:50 Uhr)
Mit Zitat antworten
  #2 (permalink)  
Alt 21-05-2012, 16:28
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.722
Kropff befindet sich auf einem aufstrebenden Ast
Standard

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
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
  #3 (permalink)  
Alt 21-05-2012, 16:52
ttrf
 Registrierter Benutzer
Links : Onlinestatus : ttrf ist offline
Registriert seit: May 2012
Beiträge: 6
ttrf befindet sich auf einem aufstrebenden Ast
Standard

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?
Mit Zitat antworten
  #4 (permalink)  
Alt 21-05-2012, 16:55
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.722
Kropff befindet sich auf einem aufstrebenden Ast
Standard

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
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
  #5 (permalink)  
Alt 21-05-2012, 17:10
ttrf
 Registrierter Benutzer
Links : Onlinestatus : ttrf ist offline
Registriert seit: May 2012
Beiträge: 6
ttrf befindet sich auf einem aufstrebenden Ast
Standard

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.

Geändert von ttrf (21-05-2012 um 17:13 Uhr)
Mit Zitat antworten
  #6 (permalink)  
Alt 21-05-2012, 17:13
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.722
Kropff befindet sich auf einem aufstrebenden Ast
Standard

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
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
  #7 (permalink)  
Alt 21-05-2012, 17:23
ttrf
 Registrierter Benutzer
Links : Onlinestatus : ttrf ist offline
Registriert seit: May 2012
Beiträge: 6
ttrf befindet sich auf einem aufstrebenden Ast
Standard

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.
Mit Zitat antworten
  #8 (permalink)  
Alt 21-05-2012, 17:26
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.722
Kropff befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von ttrf Beitrag anzeigen
Ich weiß nicht wie ich prüfen kann ob die Daten per POST übermittelt werden.
PHP-Code:
if ($_POST) {
  ...

oder besser
PHP-Code:
if ($_POST['email']) {
  ...

Peter

PS: Dein SQL-Query sieht auch nicht koscher aus.
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
  #9 (permalink)  
Alt 21-05-2012, 17:37
ttrf
 Registrierter Benutzer
Links : Onlinestatus : ttrf ist offline
Registriert seit: May 2012
Beiträge: 6
ttrf befindet sich auf einem aufstrebenden Ast
Standard

Okay, die Daten werden Übermittelt.
Trodtzdem bleibt noch das oben gennante Warning.
Mit Zitat antworten
  #10 (permalink)  
Alt 21-05-2012, 17:42
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.722
Kropff befindet sich auf einem aufstrebenden Ast
Standard

Das Forum hat auch eine Suche. Dann findest du Sachen wie das hier.

Peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
  #11 (permalink)  
Alt 21-05-2012, 17:49
ttrf
 Registrierter Benutzer
Links : Onlinestatus : ttrf ist offline
Registriert seit: May 2012
Beiträge: 6
ttrf befindet sich auf einem aufstrebenden Ast
Standard

Okay Danke, jetzt funktioniert es.

Ich hatte ein bisschen gesucht, aber ich hab mir nur 20 Themen angeguckt.
Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
bestätigungsemail, variabeln


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Bestätigungsemail für Interessenten kommt nicht an kleinman PHP Developer Forum 3 17-02-2011 19:22
bestätigungsemail senden patrasz PHP Developer Forum 1 05-08-2006 00:49

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 00:04 Uhr.