Registrierung - Überprüfung klappt nicht

Ausgabe:
PHP:
array(3) { ["username"]=> string(6) "Voltex" 
["password"]=> string(9) "stpasswd" 
["email"]=> string(13) "aurec@gmx.net" }

else wurde hinzugefügt, keine wirkung

edit: Schreiben funktiuniert einwandfrei
 
Aha, ich glaube ich habe den Übeltäter:
PHP:
        mysql_query($ask);
  
      $num_rows = mysql_num_rows($ask, $connectionid);
Ändere das mal in:
PHP:
$result = mysql_query($ask);
  
$num_rows = mysql_num_rows($result);


Wie siehst du ob die Daten wirklich in der Datenbank stehen? Mit PhpMyAdmin oder ähnlichem?
 
Vielen Dank! Das hat geholfen.

und zu deiner Frage: Ja, ich hab WAMP server installiert zum lokalen testen und guck dann über phpmyadmin

was mich direkt zu meiner nächsten frage bringt... ich bleib mal in diesem topic um unnötig viele themen zu vermeiden... ich will für das cms was ich e nen admin bereich machen, benutze da auch genau das login script

Problem ist jetzt, dass ich nciht weis, wie ich rausfinden kann, ob der user einfach nur user ist oder admin... im momment ist es so, dass man nur user sein muss... hier der code

PHP:
<?php  
// Session starten 
session_start (); 

// Datenbankverbindung aufbauen  
$connectionid = mysql_connect ("localhost", "root", "");  
if (!mysql_select_db ("cmsdb", $connectionid))  
{  
  die ("Keine Verbindung zur Datenbank");  
}  

$sql = "SELECT ".  
    "userID, username, email, isAdmin ".  
  "FROM ".  
    "tbl_user ".  
  "WHERE ".  
    "(username like '".$_REQUEST["name"]."') AND ".  
    "(password = '".md5 ($_REQUEST["pwd"])."')";  
$result = mysql_query ($sql);  

if (mysql_num_rows ($result) > 0 )  
{  
  // Benutzerdaten in ein Array auslesen.  
  $data = mysql_fetch_array ($result);  

  // Sessionvariablen erstellen und registrieren  
  $_SESSION["user_id"] = $data["userID"];  
  $_SESSION["user_nickname"] = $data["username"];  
  $_SESSION["user_email"] = $data["email"];  
  $_SESSION["user_isadmin"] = $data["isAdmin"];  

  header ("Location: intern.php");  
}  
else  
{  
  header ("Location: index.php?fehler=1");  
}  
?>

da würde ich wie gesagt gerne noch das extra des isAdmin zusetzen,m was zum dortigen login nötig ist

Sprich dass die if-abfrage zusätzlich noch die bedingung bekommt "isAdmin == 1" (vom prinzip her... da ich noch PHP anfänger bin, keine ahnung wie ich das umsetzen kann)
 
Zuletzt bearbeitet:
[...]
die daten werden wohl in die Datenbank geschrieben. Aber es wird halt nicht überprüft, ob der Benutzer bereits existiert...

Beispiel: Ich registriere um 9 Uhr einen Benutzer, nennen wir ihn "user"

dann registriere ich um 10 Uhr wieder einen benutzer, auch mit dem nickname "user"

eigentlich sollte dann der fehler ausgegeben werden "Benutzername bereits in Verwendung"
[...]
Ergänzung:
Das könntest du auch MySQL erledigen lassen, indem du das Feld für den Benutzernamen auf UNIQUE setzt. Dann musst du vorher nicht mehr abrufen, ob der Benutzer schon existiert. Du schickst einfach die Query zum einfügen an die DB und schaust danach, ob ein Fehler aufgetreten ist. (z. B. mit mysql_errno())
Wenn ja, dann existiert der User schon.

Das erspart dir auch längere Konstrukte in PHP, um zu prüfen ob der Benutzer schon existiert ;)

Gruß
Bratkartoffel
 
Zurück