Email Freischalte Script
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
dan
denke mal
ergebnis
fehler
fragen
irgend
klicken
meinung
mitte
pa
pawort
rangliste
registrierung
set
spalt
spalten
update
variable
wenigsten
zufall
-
Hi Leute ich habe ein Problem.
Ich habe bei meiner anmeldung eine Mail mit einem Freischalte link versenden lassen ich hab diese freischalt datei auch schon gesscriptet aber es funktioniert nicht...
bitte schaust euch den Script an und vielleicht findetest ja den Fehler...
wenn den Link will : http://sirseven.xardas.lima-city.de/page/index.php?go=activate&user=lol&key=9cdfb439c7876e703e307864c9167a15
Den Account hab erstellt um alles zu testen.
Script:
<?php
mysql_connect ("mysql.lima-city.de", "USER", "pass");
mysql_select_db ('dsfasfsd');
$nick = $_GET['user'];
$pw = $_GET['key'];
$abfrage = "SELECT * FROM comm_users WHERE nick ='$nick'";
$ergebnis = mysql_query($abfrage) OR die(mysql_error());
$query = mysql_fetch_array($ergebnis);
if(($row['rang'] == 'unreg') && ($key == md5($row['pass'])))
{
$sql = "UPDATE comm_users SET rang = 'user' WHERE nick = '$nick'";
mysql_query($sql) OR die(mysql_error());
echo'
<tr>
<td width="20"> </td><td width="460px" background="pics/news_menu.gif" align="left" style="background-repeat:no-repeat; background-position:top; background-color:#FFFFFF;"><font class="header">'.$nick.' freigeschalten</font>
<!-- Anfang Men? Mitte 1 -->
<table>
<tr>
<td width="460" height="2px" align="left" class="special"></td>
</tr>
<tr>
<td width="460" class="newstext">'.$nick.' wurde erfolgreich freigeschalten.<meta HTTP-EQUIV="Refresh" CONTENT="1; url=http://sirseven.xardas.lima-city.de/page/index.php?go=login"></td>
</tr>
</table>
<!-- Ende Men? Mitte 1 -->
</td>
<td width="20"> </td>
</tr>
<tr>
<td colspan="3"> </td>
</tr>';
}
elseif(($row['rang'] != 'unreg') && ($key == md5($row['pass'])))
{
echo'
<tr>
<td width="20"> </td><td width="460px" background="pics/news_menu.gif" align="left" style="background-repeat:no-repeat; background-position:top; background-color:#FFFFFF;"><font class="header">'.$nick.' Nicht vorhanden</font>
<!-- Anfang Men? Mitte 1 -->
<table>
<tr>
<td width="460" height="2px" align="left" class="special"></td>
</tr>
<tr>
<td width="460" class="newstext">'.$nick.' konnte nicht freugeschalten werden, da er bereits freigeschalten ist.</td>
</tr>
</table>
<!-- Ende Men? Mitte 1 -->
</td>
<td width="20"> </td>
</tr>
<tr>
<td colspan="3"> </td>
</tr>';
}
?> -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
<?php
mysql_connect ("mysql.lima-city.de", "USER", "pass");
mysql_select_db ('dsfasfsd');
$nick = $_GET['user'];
$pw = $_GET['key'];
$abfrage = "SELECT * FROM comm_users WHERE nick ='$nick'";
$ergebnis = mysql_query($abfrage) OR die(mysql_error());
$query = mysql_fetch_array($ergebnis);
if(($row['rang'] == 'unreg') && ($key == md5($row['pass'])))
{
$sql = "UPDATE comm_users SET rang = 'user' WHERE nick = '$nick'";
mysql_query($sql) OR die(mysql_error());
[...]
}
elseif(($row['rang'] != 'unreg') && ($key == md5($row['pass'])))
{
[...]
}
?>
hm... ist dieser key denn gleich dem passwort von dem user? eine m?glichkeit warum es nicht geht, ich denke mal, das du mit "$row['pass'" das passwort des users aufrufst, du aber den key vergleichen willst?!
das garnix angezeigt wird, liegt wohl auch daran, das du nur mit "elseif" arbeitest, ?nder das mal in "else" dann m?sste er wenigstens anzeigen, wenn er nix ge?ndert hat...
hoffe das wars
mfg -
wie sollte ich es deiner Meinung nach machen??
Bitte kann mir kein Anderer helfen?? -
wie sollte ich es deiner Meinung nach machen??
Bitte kann mir kein Anderer helfen??
ich habe es mal so gemacht, das ich in der user tabelle ne spalte habe, wo der "freischaltcode" drin steht, dieser wird bei registrierung erstellt... den schickst du, wegen mir auch verschl?sselt mit der mail mit, und rufst diesen dann anstatt des pass auf...
wenn der link aufgerufen wird, wird einfach der freischaltcode auf 0 gesetzt, und damit bedeutet es, das der user aktiviert is....
also ich habe sowas wie gesagt auch schon gemacht, war ganz einfach, und funktioniert...
falls noch frage hast, frag ... -
jetzt kommt ja wenigstens der zweite teil des scripts... hast jetz das "elseif" in "else" ge?ndert?
dan liegt der fehler in der spalte "rang" ..nehm ich mal an....
Beitrag ge?ndert am 14.01 22:16 von ranglisten -
das script sieht nen bichen sehr gro? aus :D
ich w?rd dir vorschlagen du machst bei jedem user 2 spalten
freigeschaltet (0|1) und hexcode (irgendnenzufallscodedererstelltwird)
also 1 f?r freigeschaltet und 0 f?r nich freigeschaltet
wenn sich jemand anmeldet wird irgend nen zufalls code erstellt und in hexcode geschrieben und in freigeschaltet wird erst ma 0 reingeschrieben
den hexcode schickst du dann als link per mail wenn der user drauf klick machste nen script, das wenn der ?ber die get variable ?berlieferte hexcode, ich nenn ihn einfach ma so, mit dem in der db verglichen wird wenn der gleich is wird freigeschaltet auf 1 gesetzt -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage