• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

php-fehler ...

  • Ersteller Ersteller general_xxx
  • Erstellt am Erstellt am
Status
Für weitere Antworten geschlossen.
G

general_xxx

Guest
Hi leute,

ich möchte bei meinem game, ein loginscript einfügen. Soweit ist das auch schon fertig, aber ich möchte, dass eine aktivierungsmail an die angegebene mail adresse geschjickt wird.

Ok, dass hier ist ein auszug meiner registrieren.php :

PHP:
}else{
$username = $_POST['username']; 
$mail = $_POST['mail'];
$pass = md5($_POST['password']);
if($insert = @mysql_query("INSERT INTO dieb_user_".$digit." SET user = '$username', passwort = '$pass', email = '$mail'")) {
$header="From: $admin_mail\r\n";
$email_betreff= "Game";
$kommentar= "Hallo, das ist der inhalt der mail" ;
mail($mail,$email_betreff,$kommentar,$header); //line 67
$inhalt .= '<p align="center">Der neue Benutzer wurde erfolgreich angelegt!<br><br><a href="login.php">Klick hier um zum LogIn zu kommen!</a></p>';
}else{
$inhalt .= '<p align="center">Leider trat ein fehler auf, bitte dem admin melden<br><br><a href="registrieren.php">Zur&uuml;ck</a></p>';
}

So, da kommt den aber folgener fehler. Das ist mir eigentlich schon klar gewesen, weil ich ja noch keinen mail-server hab(glaub ich).


Code:
Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\Programme\xampp\htdocs\xampp\site\diebspiel\registrieren.php on line 67

allerdings habe ich bei mir xampp für windows installiert, und da ist doch mercury bei. allerdings sieht der mir ein bisschen kompliziert aus. deshalb wollte ich nach einer alternative dafür fragen, und evtl auch tips was ich in meinem fall einstellen muss. Bzw was ich umschreiben/verändern muss...

Jetzt erstaml danke, an die leute die sich das hier bis jetzt schon durchgelesen haben.

Aber leider hab ich noch ne 2 frage :

gehen wir jetzt mal davon aus, das mit dem mail-server alles glatt läuft, denn bleibt noch die sache mit dem aktivierungslink.

Auszug aus der login.php

PHP:
...
}elseif($result['aktiviert'] == '0') {
     $inhalt .= '<form action="login.php" method="post">';
     $inhalt .= '<p align="center">Der Account ist noch nicht aktiviert, bitte aktivieren sie ihn, indem sie den Link in ihrer email benutzen!<br><br>';
     $inhalt .= '<input type="hidden" name="username" value="'.$_POST['username'].'">';
     $inhalt .= '<input type="submit" name="zurueck" value="Zur&uuml;ck"></p>';
     $inhalt .= '</form>';
...

Der aktivierungslink soll also auf eine noch nicht geschriebene aktivieren.php so wirken, dass er in der mysql-datenbank

Code:
$dbHost = "localhost";
$dbUser = "root";
$dbPass = "";
$dbName = "abc";
in der datenbank abc die zelle des bestimmten benutzers die zahl "0" zur "1" umwandelt.
Habt ihr ne idee was genau ich da schreiben muss ???

Danke erstmal für eure zukünftigen Antworten, und fürs lesen/interesse eurer seits ^^

Thx

Mfg

Marek
 
Zuletzt bearbeitet von einem Moderator:
ja sry, hab ich auch schon gemerkt, aber was muss man da nochmal genau schreiben???
 
Für Code benutzt du [CODE ]Hier steht dein Code[/CODE ]
Für HTML benutzt du [HTML ]Hier steht dein HTML[/HTML ]
Für PHP benutzt du [PHP ]Hier steht dein PHP[/PHP ]

Denk dir die Leerzeichen in den Tags weg
 
so, hab ich geändert, sry, aber das merk ich mir jetzt :-)
 
das heißt, dass die funktion mail() net definiert ist. kommt dasnur lokal oder auch im netz?

Nils aka XraYSoLo
 
kommt leider immer, alleine weil auch kein smtp server auf port 25 läuft, weil ich noch keinen guten kenne ..., bzw. wo soll ich denn was definieren ??? in der php.ini?
 
was für ein server ist das, den du hast? normalerweise bieten das alle kostenpflichtigen und auch manche freie (ohost usw.) an.

Nils aka XraYSoLo
 
xampp für windows, wie gesagt, da ist mercury schon bei, aber wie genau muss ich da was einstellen ?
 
bei apachefriends.org steht alles. also hast du gar keinen server (lies doch wenigstens, was ich schreib'), sondern nur 'ne serverungebung.

Nils aka XraYSoLo
 
oh, sorry, wusste nich, dass es da so große unterschiede gibt. gibt es denn nicht aber trozdem ein relativ einfaches progi was einen mailserver "emuliert" ???
 
jetzt hab ichn es gelesen. also das argument [mail function] in der php.ini ändern. außerdem benutze ich jetzt den hamster mailserver, weil der sehr gut sein soll
 
nochmal auf deine frage welchen server ich habe .... ist ein ganz normaler xp pc, mit xampp, mehr ist es noch nicht. sry dass ich dich am anfang nicht verstanden habe, aber so ist das manchmal ^^.

weißt du denn ein gutes mail-server-programm, welches in meiner serverumgebung läuft, und was nicht zu kompliziert ist ???

mfg

DCSS
 
ein mailprogramm ist normalerweise im xqmpp paket mit bei... musst du nur starten (über das contorlpannel)

Musst nur bei "MERCURY" auf start klicken
 
jop, dasa hab ich schon gefunden, aber was muss ich da einstellen, damit es auf die befehle meiner php-datei hört ?

wenn ich die oben genannte "registrieren.php" benutze,

PHP:
...
}else{
$username = $_POST['username']; 
$mail = $_POST['mail'];
$pass = md5($_POST['password']);
if($insert = @mysql_query("INSERT INTO dieb_user_".$digit." SET user = '$username', passwort = '$pass', email = '$mail'")) {
$header="From: $admin_mail\r\n";
$email_betreff= "Anmeldung in unserer Community";
$kommentar= "Hallo, das ist der inhalt der mail" ;
mail($mail,$email_betreff,$kommentar,$header);
$inhalt .= '<p align="center">Der neue Benutzer wurde erfolgreich angelegt!<br><br><a href="login.php">Klick hier um zum LogIn zu kommen!</a></p>';
}else{
$inhalt .= '<p align="center">Leider trat ein fehler auf, bitte dem admin melden<br><br><a href="registrieren.php">Zur&uuml;ck</a></p>';
}
}
}
...


wird folgener fehler ausgegeben :

Code:
Warning: mail() [function.mail]: SMTP server response: 553 We do not relay non-local mail, sorry. in C:\Programme\xampp\htdocs\xampp\site\diebspiel\registrieren.php on line 67


was ist denn jetzt da falsch ?

Das würde auf deutsch ja heißen, dass mercury keine "nicht-lokalen" mailserver ansteuern kann, oder muss man da erst was umstellen ?
 
Zuletzt bearbeitet von einem Moderator:
ok, das problem hat sich auch erledigt, bei configuration -> smtp server -> connection control -> häckchen von do not permit smtp relaying of non-local mail.

jetzt aber noch ein problem, die mails kommen nicht an !!!


weiß jmd. warum das so ist ?
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben