HI@all,
wollt ein kleines php skript schreiben, welches prüft ob schon ein User in der Datenbank exestiert oder nicht und soll, wenn er nicht exestiert, diese neu erstellen. Das ganze soll er aber erst machen, wenn der freischalte code (der über get mitgebracht wird) richtig ist.
das ganze sieht bei mir so aus:
Das ganze funktioniert so leider nicht.
Er erkennt nicht ob er den User schon gibt oder ob der Freischaltecode richtig war/ist.
Teoretisch sollte man soetwas doch mit folgender abfrage:
if ( mysql_num_rows($result)==0) {
regeln können oder? Wenn er einen datensatz findet dann 1 wenn er nichts finden soll dann 0.
Wie könnte man noch prüfen ob der user vorhanden ist? bzw. ob der Code vom GET in der datenbank gefunden wird?
mfg
dominikoo
wollt ein kleines php skript schreiben, welches prüft ob schon ein User in der Datenbank exestiert oder nicht und soll, wenn er nicht exestiert, diese neu erstellen. Das ganze soll er aber erst machen, wenn der freischalte code (der über get mitgebracht wird) richtig ist.
das ganze sieht bei mir so aus:
PHP-Code:
<?php
include 'sessionhelpers.inc.php';
// Hier wird geprüft ob es den User schon in der freigeschalteten datenbank userfre gibt !
$sql="SELECT frei
FROM userfre
WHERE frei='".$frei."'
LIMIT 1";
$result = mysql_query($sql) OR die(mysql_error());
if ( mysql_num_rows($result)==1) { // hier wird jetzt geguckt ob der User schon freigeschaltet ist. Wenn er einen Datensatz findet: 1 wenn nicht -> else !
echo "user scho frei";
} else {
// Ab hier wird der code geprüft welcher auch in der datenbank userfrei ist. Die USer in Datenbank userfrei sind noch nicht frei geschaltet! Er sucht dann den code der vom GET kommt in der datenbank.
$sql="SELECT UserName
FROM userfrei
WHERE frei='".$frei."'
LIMIT 1";
$result = mysql_query($sql) OR die(mysql_error());
while($row = mysql_fetch_assoc($result)) {
if ( mysql_num_rows($result)==0) {
echo "Fehler, falsche freischaltecode";
} else {
// Wenn es den User noch nicht gibt und der Freischaltecode richtig war soll er den user freischalten, indem er die Daten in userfre packt.
$sql="INSERT INTO userfre
(UserName, UserPass, UserMail, frei, datum)
VALUES
('".$row['UserName']."',
'".$row['UserPass']."',
'".$row['UserMail']."',
'".$frei."',
NOW())";
echo "freigeschaltet";
}
}
}
?>
Er erkennt nicht ob er den User schon gibt oder ob der Freischaltecode richtig war/ist.
Teoretisch sollte man soetwas doch mit folgender abfrage:
if ( mysql_num_rows($result)==0) {
regeln können oder? Wenn er einen datensatz findet dann 1 wenn er nichts finden soll dann 0.
Wie könnte man noch prüfen ob der user vorhanden ist? bzw. ob der Code vom GET in der datenbank gefunden wird?
mfg
dominikoo
Kommentar