php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2006

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 24.07.2006, 22:29  
Erfahrener Benutzer
 
Registriert seit: 20.08.2007
Beiträge: 347
CHRIS befindet sich auf einem aufstrebenden Ast
Standard Registrierungs Script - Mail senden usw. geht nur teilweise!

Servus Mädels,

hab ein kleines Problem ...

Ich hab ein Registrierungs Script geschrieben ... dieses klappt aber nicht bei jeder e-Mail Adresse ... aber ich versteh nicht warum?!

Hier mal der Code!

Hab irgendwie das gefühl das es an meinem server host liegt ... 1blu.de

Hier mal der Code! Wenn ich etwas vergessen haben solte, fragt =) Mein Frage also an euch, warum sendet er nur manchmal e-Mail an die User?

register.php
PHP-Code:
<?php

if(isset($_GET['k'])) {
$abfrage mysql_query("SELECT id, name, pw, email, time, ip FROM `reguser` WHERE (kay = '$_GET[k]')AND(time = '$_GET[t]')");
$out mysql_fetch_object($abfrage);

if(
$out->id == "") {
    echo 
"<table border=\"0\" class=\"news_head\" width=\"".$width_main."\" height=\"24\">
        <tr>
            <td>"
.$leerz."<span class=\"head_font\">Account wurde bereits Aktiviert</span></td>
        </tr>
    </table>

    <table border=\"0\" class=\"news_main\" width=\""
.$width_main."\">
        <tr>
            <td>
            <table align=\"center\">
                <tr>
                    <td align=\"center\">
[b]Der Link wurde bereits aktiviert.[/b]
 Sollte dein Username und/oder dein Passwort nicht funktionieren, registrier dich einfach nochmal!

</td>
                </tr>
            </table>
            </td>
        </tr>
    </table>"
;
echo 
$design_fuss_pw;

}
else {
    
$pw md5($out->pw);

    echo 
"<table class=\"news_head\">
        <tr>
            <td>"
.$leerz."<span class=\"head_font\">Account wurde erfolgreich Aktiviert</span></td>
        </tr>
    </table>

    <table class=\"news_main\">
        <tr>
            <td>

            <table align=\"center\">
                <tr>
                    <td>
                    Dein Account wurde erfolgreich aktiviert.
Ab sofort kannst du dich mit deinem Nicknamen und Passwort auf Party-Werth einloggen. 

[b]Viel Spaß auf Party-Werth![/b]
                    </td>
                </tr>
            </table>
            

            </td>
        </tr>
    </table>"
;


echo 
$design_fuss_pw;

    
$enterusernow mysql_query("INSERT INTO `user` (first_name, pw, email, name, user_reg_time) VALUES ('$out->name', '$pw', '$out->email', '$out->name', '$_GET[t]')");
    
    
$del mysql_query("DELETE FROM `reguser` WHERE id = '$out->id'");   
}
}
else {
    
if(isset(
$create_account)) {
$error 0;

if(
$useremail1 == "") {
$fehler2 "- Du musst eine E-Mail Adresse eingeben
"
;
$error++;
}
if(
$useremail2 == "") {
$fehler3 "- Du musst deine E-Mail Adresse erneut eingeben
"
;
$error++;
}
if(
$useremail1 != $useremail2) {
    
$fehler6 "- Die E-Mail Adressen stimmen nicht überein
"
;
    
$error++;
}
else {
    
$useremail $useremail1;
}

if(
$allet_ok == "") {
$fehler4 "- Du musst mit unsern Nutzungsbedinungen einverstanden sein.
"
;
$error++;
}

if(
$usernick == "") {
$fehler1 "- Du musst einen Nick eintragen
"
;
$error++;
}
else {
    
$sql mysql_query("SELECT id, name, email FROM `user` WHERE name = '$usernick'");
$out mysql_fetch_object($sql);
if(
$out->name != "") {
    
$error++;
    
$fehler5 "- Dein Nick ist leider schon besetzt
"
;
}
}

if(
$useremail != "") {
$sql1 mysql_query("SELECT id, name, email FROM `user` WHERE email = '$useremail'");
$out1 mysql_fetch_object($sql1);
if(
$out1->email != "") {
    
$fehler7 "- Deine E-Mail Adresse ist leider schon besetzt
"
;
    
$error++;
}
}

$email $useremail;
if (
$email!="" && ereg("^([a-zA-Z0-9._-]+)@([a-zA-Z0-9.-]+.[A-Za-z][A-Za-z]+)$"$email))
{
$fehler0 "";
}
else
{
$fehler0 "- Die eingegebene E-Mail Adresse existiert nicht
"
;
$error++;
}


if(
$error 0) {
$stop "
[b]Folgende Fehler sind aufgetreten:[/b]
"
.$fehler1.$fehler2.$fehler3.$fehler4.$fehler5.$fehler6.$fehler7.$fehler0;

echo 
"<table border=\"0\" class=\"news_head\" width=\"".$width_main."\" height=\"24\">
        <tr>
            <td>"
.$leerz."<span class=\"head_font\">Achtung: Es sind Fehler aufgetreten</span></td>
        </tr>
    </table>

    <table border=\"0\" class=\"news_main\">
        <tr>
            <td>
            <table align=\"center\" border=\"0\">
                <tr>
                    <td>"
.$stop."</td>
                </tr>
            </table>
                     

                    </td>
        </tr>
    </table>
        <table class=\"news_fuss\">
                <tr>
                        <td><a href=\"javascript:history.back()\">"
.$zurueck_pw."</a></td>
                </tr>
        </table>"
;
}
else {

//Settings für Key und Passwort Generator
$conso=array("b","c","d","f","g","h","j","k","l","m","n","p","r","s","t","v","w","x","y","z""1""2""3""4""5""6""7""8""9");
$vocal=array("a","e","i","o","u");
$key="";
//Key Generieren
srand ((double)microtime()*1000000);
for(
$f=1$f<=12$f++)
{
$key.=$conso[rand(0,28)];
$key.=$vocal[rand(0,4)];
}

//Passwort generieren
srand ((double)microtime()*1000000);
for(
$f=1$f<=5$f++)
{
$password.=$conso[rand(0,28)];
$password.=$vocal[rand(0,4)];
}
$time time();
$enteruser mysql_query("INSERT INTO `reguser` (name, pw, email, kay, time, ip) VALUES ('$usernick', '$password', '$useremail', '$key', '$time', '$REMOTE_ADDR')");

$abfrage mysql_query("SELECT id, pw, email, time, ip FROM `reguser` WHERE kay = '$key'");
$out mysql_fetch_object($abfrage);

$headlink "http://meine-page.de/";
$link $headlink."include.php?path=user/register.php&k=".$key."&t=".$time."&id=".$out->id;


$to $useremail;
$from "From: [email]info@party-werth.com[/email]"
$subject "Deine Zugangsdaten für Party-Werth"

$headers '';
$headers .= "From: $from\n";
$headers .= "MIME-Version: 1.0\n";
$headers .= "Content-Type: text/html; charset=utf-8\n";  

$message "
<html>
<head>
</head>
<body>
[b]Herzlichen Glückwunsch.


Dein Account wurde erfolgreich auf Party-Werth erstellt.[/b]



Soeben wurde ein neuer Account auf Party-Werth mit deiner E-Mail Adresse erstellt. (Solltest du keinen Account erstellt haben, ignoriere diese e-Mail einfach.)

Dein Account wird erst dann Aktiv geschaltet, sobald du den Link in dieser E-Mail anklickt. (AOL User müssen den Link in die Adresszeile kopieren)


Aktivierungslink: <a href=\""
.$link."\">Neues Passwort aktivieren</a>


AOL User: "
.$link." (Link kopieren und in der Adresszeile ausführen)




Zu deiner Sicherheit empfehlen wir nach der Aktivierung, sich einzulogen und das Passwort unter 'Setup -&gt; Passwort ändern' zu bearbeiten.




Dein Username: "
.$usernick."


Dein Passwort: "
.$password."




Sollten Probleme auftreten, schreib uns über unser Kontaktformular oder eine E-Mail an <a href=\"mailto:info@party-werth.com\">info@party-werth.com</a> .




MFG <a href=\"http://www.party-werth.com\">www.party-werth.com</a>


Bei Fragen kannst du auf diese E-Mail Antworten! (info@party-werth.com)

</body>
</html>"
;

echo 
"<table class=\"news_head\">
        <tr>
            <td>"
.$leerz."<span class=\"head_font\">Registrierung war erfolgreich</td>
        </tr>
    </table>

    <table class=\"news_main\" height=\"150\">
        <tr>
            <td align=\"center\">"
;

if ( 
mail($to$subject$message$headers) ) echo '[b]Herzlichen Glückwunsch.
Eine E-Mail mit deinen Zugangsdaten und Aktivierungslink wurde an <u>'
.$useremail.'</u> geschickt.[/b]

            
Der Account ist noch deaktiviert. Um diesen freizuschalten, muss der Link in der E-Mail aktiviert werden.

[b]Viel Spaß auf Party-Werth!'
; else echo '[b]Die E-Mail konnte nicht verschickt werden.[/b]';


echo 
"[/b]</td>
        </tr>
    </table>

        <table class=\"news_fuss\">
                <tr>
                        <td><a href=\"javascript:history.back()\">"
.$zurueck_pw."</a></td>
                </tr>
        </table>"
;
}
}
else {
?>

<table class="news_head">
    <tr>
        <td><?php echo $leerz?><span class="head_font">Registrierung</span></td>
    </tr>
</table>

<table class="news_main">
        <tr height="190">

            <td>
<form method="POST" action="include.php?path=user/register.php">

<table align="center" width="620">
        <tr>
            <td heigth="3"></td>
        </tr>
        <tr>
            <td height="90" align="center">Deine E-Mail Adresse <u>muss</u> korrekt eingegeben werden, an diese E-Mail Adresse wird eine E-Mail von Party-Werth gesendet mit einem Aktivierungslink, Usernamen und Passwort.
            Innerhalb von 48 Stunden muss dieser Link zur Aktivierung angeklickt werden, ansonsten wird dieser automatisch nach Zeitüberschreibtung gelöscht.</td>
        </tr>
        <tr>
            <td></td>
        </tr>
</table>
<table align="center" width=\"440\">
        <tr>
            <td>gewünschter Username:</td>
            <td><input type="text" name="usernick" size="40"> (benötigt)</td>
        </tr>
        <tr>
            <td>Deine E-Mail Adresse:</td>
            <td><input type="text" name="useremail1" size="40"> (benötigt)</td>
        </tr>
        <tr>
            <td>Deine E-Mail Adresse: (wdh.)</td>
            <td><input type="text" name="useremail2" size="40"> (benötigt)</td>
        </tr>
    </table>

    <table align="center" width="440">
        <tr height="35">
            <td><input type="checkbox" name="allet_ok" value="ON">Ich habe die [url="include.php?path=data/nutzungsbedinungen.php"]Nutzungsbedigungen[/url] 
    gelesen und bin damit einverstanden</td>
        </tr>
        <tr height="35">
            <td align="center"><input type="submit" value="Account erstellen" name="create_account"> [url="include.php?path=user/lost_pw.php"](Passwort vergessen?)[/url]</td>
        </tr>
    </table>

</form>

        </td>
    </tr>
</table>


<?php
echo $design_fuss_pw;
}
}
?>
LG Christian

//Edit: Versteh nit ganz warum vor und nach dem Code leer Reihen sind, von mir sind se nit! :/
CHRIS ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 24.07.2006, 23:01  
Gast
 
Beiträge: n/a
Standard

hi,

seh ich das richtig:
eine mail wird an anbieter/user a problemlos verschickt, an anbieter/user b aber nicht?

gruß
 
Alt 24.07.2006, 23:13  
Gast
 
Beiträge: n/a
Standard Re: Registrierungs Script - Mail senden usw. geht nur teilwe

Zitat:
Zitat von chris00
//Edit: Versteh nit ganz warum vor und nach dem Code leer Reihen sind, von mir sind se nit! :/
Jo. So wird Dein Script etwas angezeigt:
http://test.php-help.info/service/index.php?show=1.phps
 
Alt 25.07.2006, 09:05  
Erfahrener Benutzer
 
Registriert seit: 20.08.2007
Beiträge: 347
CHRIS befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Brian_J
hi,

seh ich das richtig:
eine mail wird an anbieter/user a problemlos verschickt, an anbieter/user b aber nicht?

gruß
Genau so ist es! Ich verstehs leider auch nicht ...

LG Chris

//Edit: Könnt ja selber mal versuchen euch zu registrieren ... http://www.party-werth.eu/include.ph...r/register.php <- !
CHRIS ist offline  
Alt 25.07.2006, 19:36  
Erfahrener Benutzer
 
Registriert seit: 20.08.2007
Beiträge: 347
CHRIS befindet sich auf einem aufstrebenden Ast
Standard

AHH keiner mehr ne idee?

LG Chris
CHRIS ist offline  
Alt 25.07.2006, 19:45  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Ehrlich gesagt hat wohl eher keiner Lust sich 308 Zeilen Code anzuschauen. Ich zumindest nicht. Werde das auch mal in die Forenregeln übernehmen, dass mehr als 50 Zeilen Code kontraproduktiv sind..


Zu deinem Problem ganz allgemein:
Was heißt "dieses klappt aber nicht bei jeder e-Mail Adresse"?
a.) bei welchen E-Mail-Adressen klappt es, bei welchen nicht?
b.) welche Fehlermeldungen bringt in diesem Fall dein Script oder was ist der Rückgabewert von mail() bzw. ereg()?
c.) welche Werte übergibst du dann an mail() - PHP-Variablen interessieren nicht, relevant ist der exakte Inhalt
Zergling-new ist offline  
Alt 25.07.2006, 20:12  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von Zergling
Ehrlich gesagt hat wohl eher keiner Lust sich 308 Zeilen Code anzuschauen.
Zumal der auch finster ist.

Zitat:
Was heißt "dieses klappt aber nicht bei jeder e-Mail Adresse"?
a.) bei welchen E-Mail-Adressen klappt es, bei welchen nicht?
Solche fürchterlichen Emails bleiben in jedem SPAM Filter hängen.
Fängt an bei dem nicht kodierten Umlaut im Header usw. usf.

Ob sein Emailtest "Formular-SPAM" erkennt, bin ich zu faul zu testen.
Deutlich sichtbar ist allerdings, daß das Script nur mit gesetztem register_globals funktioniert. Wie lange es dauert, bis ihm die die direkte Verwendung unmgeprüfter Formulardaten mal schmerzhaft auf die Füße fällt, wird die Zeit zeigen... <g>
 
Alt 26.07.2006, 13:10  
Erfahrener Benutzer
 
Registriert seit: 20.08.2007
Beiträge: 347
CHRIS befindet sich auf einem aufstrebenden Ast
Standard

Anstatt zu schreiben, wie ich die Fehler die ich gemacht habe verbessern kann, schreibst du nur das alles scheiß ist ... dann poste doch lieber überhaupt nicht!

LG Chris
CHRIS ist offline  
Alt 26.07.2006, 13:49  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von chris00
Anstatt zu schreiben, wie ich die Fehler die ich gemacht habe verbessern kann,
Du willst Fehler "verbessern"? Deine Fehler sind schon falsch genug.

Zitat:
schreibst du nur das alles scheiß ist ...
So isses. Schmeiß das Script weg.

1. FAQ lesen http://www.php-faq.de
Beachte das:
27. Guter Code
http://www.php-faq.de/ch/ch-code.html

12. Sicheres Programmieren in PHP
http://www.php-faq.de/ch/ch-security.html

11. Variablen und Formulare
http://www.php-faq.de/ch/ch-webvariablen.html

Lies danach das:
27.2. Von HTML zu PHP: Schreibe Formularverarbeitungen in Normalform
http://www.php-faq.de/q/q-stil-normalform.html

11.18. Wie erkenne ich fehlerhafte/fehlende Eingaben?
http://www.php-faq.de/q/q-formular-verarbeitung.html

12.11. Prüfe importierte Parameter. Traue niemandem
http://www.php-faq.de/q/q-sicherheit-parameter.html

11.20. Warum funktionieren meine Formulare nicht? (register_globals)
http://www.php-faq.de/q/q-formular-r...r-globals.html

Benutze phpmailer, um eine syntaktisch korrekte Email zu erzeugen.
http://www.google.de/search?hl=de&q=phpmailer&meta=

Zitat:
dann poste doch lieber überhaupt nicht!
Davon werden Deine Scripte auch nicht besser.
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
dateien aus verzeichnis einzeln als mail attachment versenden mathes PHP Tipps 2008 5 17.07.2008 19:45
Diverses aus meinem Apache Logs robo47 Server, Hosting und Workstations 5 25.05.2007 22:45
mail script Cheesy92 PHP Tipps 2006 11 21.07.2006 15:16
Script beendet sich ohne Fehlermeldung Zahl PHP Tipps 2006 6 04.06.2006 20:41
mail() und boundary Problem Gef PHP Tipps 2006 4 02.03.2006 00:47
[Erledigt] Verzögerung durch included Script? Umgehen? PHP Tipps 2005-2 4 10.07.2005 19:26
[Erledigt] Relay Script PHP-Fortgeschrittene 11 01.06.2005 16:02
[Erledigt] Hilfe bei Download Verwaltungs Script PHP Tipps 2005 8 04.05.2005 10:29
Mail senden mit PHP PHP Tipps 2005 10 27.02.2005 23:19
mail() Funktion - Liefert TRUE jedoch .... PHP Tipps 2005 21 23.02.2005 11:54
Fehlermeldungen beim senden eines Formulars ohne Attachment PHP Tipps 2004-2 2 16.11.2004 18:29
Dateidownload per Script klappt nur teilweise? PHP Tipps 2004 2 25.10.2004 11:50
"das" Script oder "der" Script?? Simbo Off-Topic Diskussionen 31 16.09.2004 17:04
[Erledigt] HTML-Bestellformular mit mail() senden nach vorherigen if... PHP Tipps 2004 3 13.07.2004 15:41

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
registrierungs script, registrierungsscript, name e-mail homepage enter security code ip-adress options: ? html is off ? bbcode is on ? smilies are on, \name:\ \email:\ \homepage:\ \enter security code\ \ip-adress:\, wow name e-mail homepage enter security code ip-adress options: ? html is off ? bbcode is on ? smilies are on, registrier script, \name:\ \e-mail:\ \homepage:\ \enter security code\ \ip-adress:\, hat name e-mail homepage enter security code ip-adress options: ? html is off ? bbcode is on ? smilies are on, registrierungs script für homepage, \name\ \e-mail\ \homepage\ \enter security code\ options: • html is off • bbcode is on • smilies are on, \options: • html is off • bbcode is on • smilies are on \, name: e-mail: homepage: enter security code ip-address options: • html is off • bbcode is on • smilies are on, link name e-mail homepage enter security code ip-adress options: ? html is off ? bbcode is on ? smilies are on, registrierungs script php, 1blu \phpmailer\, registrirungs skript, registrier script html, s name e-mail homepage enter security code ip-adress options: ? html is off ? bbcode is on ? smilies are on, http://www.php.de/php-tipps-2006/41356-registrierungs-script-mail-senden-usw-geht-nur-teilweise.html, w e-mail homepage enter security code ip-adress options

Alle Zeitangaben in WEZ +2. Es ist jetzt 18:13 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.