|
You last visited: Today at 20:44
Advertisement
PHP Registration funktioniert nicht richtig
Discussion on PHP Registration funktioniert nicht richtig within the Web Development forum part of the Coders Den category.
09/15/2014, 15:33
|
#1
|
elite*gold: 300
Join Date: Apr 2013
Posts: 3,234
Received Thanks: 1,205
|
PHP Registration funktioniert nicht richtig
Hey, vorab der code:
PHP Code:
<? include "../inc/config.php"; mysql_select_db("saiirex") or die ("Unknown database"); $username= $_POST["username"]; $password= $_POST["password"]; $password2= $_POST["password2"]; $email= $_POST["email"]; if (is_null($username AND $password AND $email)){ echo "Alle Felder sind Pflichtfelder und müssen ausgefüllt werden"; } else{ if($username == "" OR $password == "" OR $password != $password2){ echo "Fehlerhafte Eingabe, bitte korrigiere deine Angaben"; } $password=md5($password); $result = mysql_query("SELECT id FROM account WHERE username == '$username'"); $amount = mysql_num_rows($result); if($ammount == 0){ $insert = "INSERT INTO account (username,password,email) VALUES ('$username','$password','$email')"; $eintragen = mysql_query($insert); if($eintragen == true){ echo "Erfolgreich registriert"; } else{ echo "Fehler beim registrieren, veruch es bitte zu einem späteren Zeitpunkt ernuet"; } } else { echo "Benutzername schon vergeben!"; } } ?>
Das Problem: Es wird kein Fehler angezeigt wenn es den gewünschten Username schon gibt.
(Es wird einfach in die DB eingetragen)
Problem 2:
if(is_null()) wird ignoriert, der Text der angezeigt werden soll, wird nicht angezeigt.
Hoffe es ist verständlich.
|
|
|
09/15/2014, 16:06
|
#2
|
elite*gold: 666
Join Date: Apr 2011
Posts: 5,810
Received Thanks: 2,418
|
Vorab: benutz  oder  für die Datenbank nicht das veraltete mysql.
Für Vergleiche in MySQL-Abfragen benutzt man = und nicht ==, siehe  (kann grad nicht sagen, ob == überhaupt funktioniert)
Edit: In meiner MySQL-Version 5.5 funktioniert == gar nicht.
Für das erste Problem: Lass dir doch erstmal ausgeben, was $amount beinhaltet, wenn ein Benutzername schon vorhanden ist.
Wobei hier eh schon ein Fehler ist:
PHP Code:
$amount = mysql_num_rows($result); if($ammount == 0) { // ... }
Zu dem zweiten Problem:
Benutz  und verknüpfe die variablen mit "oder" und nicht mit "und".
Benutz du AND/OR absichtlich? Im Regelfall benutzt man && für "und" und für "oder" ||.
Siehe  . AND und OR funktionieren zwar, aber verhalten sich teilweise anders.
|
|
|
09/15/2014, 16:16
|
#3
|
elite*gold: 300
Join Date: Apr 2013
Posts: 3,234
Received Thanks: 1,205
|
Quote:
Originally Posted by Sycophantic
Vorab benutz mysqli oder PDO für die Datenbank nicht das veraltete mysql
Für Select-Vergleiche benutzt man = und nicht ==, siehe  (kann grad nicht sagen, ob == überhaupt funktioniert)
Edit: In meiner Version 5.5 funktioniert == gar nicht.
Für das erste Problem: Lass dir doch erstmal ausgeben, was $amount beinhaltet, wenn ein Benutzername schon vorhanden ist.
Wobei hier eh schon ein Fehler ist:
PHP Code:
$amount = mysql_num_rows($result);
if($ammount == 0){
...
}
Zu dem zweiten Problem:
Benutz isset() und verknüpfe die variablen mit "oder" und nicht mit "und".
Benutz du AND/OR absichtlich? Im Regelfall benutzt man && für "und" und für "oder" ||.
|
Ups, bin von C# mit "==" gewohnt.
AND, OR habe ich so gelern, danke für den Tipp.
"
$amount = mysql_num_rows($result);
if($ammount == 0){
...
}"
Wo ist der Fehler, außer "=="?
|
|
|
09/15/2014, 16:18
|
#4
|
elite*gold: 666
Join Date: Apr 2011
Posts: 5,810
Received Thanks: 2,418
|
In php ist == schon richtig, nur bei MySQL Abfragen nicht.
Bei dem Schnippsel hast du nur einen Fehler mit dem Variablennamen $amount / $ammount.
Ich hab in meinem ersten Beitrag ein bisschen was editiert ..
|
|
|
09/16/2014, 09:25
|
#5
|
elite*gold: 300
Join Date: Apr 2013
Posts: 3,234
Received Thanks: 1,205
|
Jetzt funktioniert gar nix mehr
PHP Code:
<? include "../inc/config.php"; mysql_select_db("saiirex") or die ("Unknown database"); $username= $_POST["username"]; $password= $_POST["password"]; $password2= $_POST["password2"]; $email= $_POST["email"]; //if (!isset($username || $password || $email)){ // echo "Alle Felder sind Pflichtfelder und müssen ausgefüllt werden"; //} //else{ if($username == "" || $password == "" || $password != $password2){ echo "Fehlerhafte Eingabe, bitte korrigiere deine Angaben"; } $password=md5($password); $result = mysql_query("SELECT id FROM account WHERE username LIKE '$username'"); $amount = mysql_num_rows($result); if($amount == 0){ $insert = "INSERT INTO account (username,password,email) VALUES ('$username','$password','$email')"; $eintragen = mysql_query($insert); if($eintragen == true){ echo "Erfolgreich registriert"; } else{ echo "Fehler beim registrieren, veruch es bitte zu einem späteren Zeitpunkt ernuet"; } } else { echo "Benutzername schon vergeben!"; } //} ?>
(Habe es auskommentiert um zu testen ob das alte noch läuft.
|
|
|
09/16/2014, 13:13
|
#6
|
elite*gold: 0
Join Date: Mar 2013
Posts: 2,449
Received Thanks: 6,446
|
In PHP werden Strings durch einen . aneinandergekettet.
Wurde überall vergessen.
Beispiel:
PHP Code:
VALUES ('$username','$password','$email')
So ist es richtig:
PHP Code:
VALUES ('".$username."','".$password."','".$email."')
Zudem wurde der "PHP String" nicht durch " geschlossen, so dass die Variablen eingefügt werden konnten.
|
|
|
09/16/2014, 13:20
|
#7
|
elite*gold: 666
Join Date: Apr 2011
Posts: 5,810
Received Thanks: 2,418
|
Wo tritt denn nun der Fehler auf? Mit deiner Fehlerbeschreibung und deinem Code kann man null anfangen. Poste doch einfach den Code, den du Verwendest und der nicht funktioniert, und nicht irgendwas, was du auskommentiert hast, aber doch verwendest oder whatever.
Und versuch doch mal selbst zu debuggen.
Quote:
Originally Posted by Singleton
In PHP werden Strings durch einen . aneinandergekettet.
Wurde überall vergessen.
Beispiel:
PHP Code:
VALUES ('$username','$password','$email')
So ist es richtig:
PHP Code:
VALUES ('".$username."','".$password."','".$email."')
Zudem wurde der "PHP String" nicht durch " geschlossen, so dass die Variablen eingefügt werden konnten.
|
Hier wird gar nichts verkettet, in dem Fall passt das schon so. Siehe  .
|
|
|
09/16/2014, 13:24
|
#8
|
elite*gold: 300
Join Date: Apr 2013
Posts: 3,234
Received Thanks: 1,205
|
Quote:
Originally Posted by Sycophantic
Wo tritt denn nun der Fehler auf? Mit deiner Fehlerbeschreibung und deinem Code kann man null anfangen. Poste doch einfach den Code, den du Verwendest und der nicht funktioniert, und nicht irgendwas, was du auskommentiert hast, aber doch verwendest oder whatever.
Und versuch doch mal selbst zu debuggen.
Hier wird gar nichts verkettet, in dem Fall passt das schon so. Siehe  .
|
Es wird nix in die Datenbank geschrieben, es wird nicht ausgegeben ob alles richtig eingegeben wurde oder nicht. Die Seite Aktualisiert sich einfach^^
|
|
|
09/16/2014, 13:45
|
#9
|
elite*gold: 666
Join Date: Apr 2011
Posts: 5,810
Received Thanks: 2,418
|
Debug doch einfach mal.
Funktionieren die if, wie sie sollen? (werte ausgeben lassen und prüfen)
Funktionieren die MySQL-Abfragen? In phpmyadmin mal testen.
Ein bisschen Eigeninitiative zeigen.
|
|
|
09/16/2014, 14:06
|
#10
|
elite*gold: 300
Join Date: Apr 2013
Posts: 3,234
Received Thanks: 1,205
|
In N++ kann man debugen?
€:
Ich habe alles außer
PHP Code:
if($username == "" || $password == "" || $password != $password2){ echo "Fehlerhafte Eingabe, bitte korrigiere deine Angaben"; }
auskommentiert und er gibt mir nicht mal das aus
|
|
|
09/16/2014, 14:10
|
#11
|
elite*gold: 0
Join Date: Jun 2010
Posts: 3,406
Received Thanks: 2,024
|
man kann auch selbst debugen, da braucht man nicht zwingend ein Programm, dass es für einen macht
|
|
|
09/16/2014, 14:14
|
#12
|
elite*gold: 300
Join Date: Apr 2013
Posts: 3,234
Received Thanks: 1,205
|
Der Webserver führ den PHP Teil gar nicht aus. Egal ob es auf dieser Seite oder auf einer anderen ist. Selbst eine leere Seite mit:
PHP Code:
<?php echo "Hallo"; ?>
geht nicht.
Weiß einer woran das liegen kann? Benutze bplaced als Webspace.
|
|
|
09/16/2014, 14:21
|
#13
|
elite*gold: 666
Join Date: Apr 2011
Posts: 5,810
Received Thanks: 2,418
|
Datei als .php gespeichert?
|
|
|
09/16/2014, 14:31
|
#14
|
elite*gold: 300
Join Date: Apr 2013
Posts: 3,234
Received Thanks: 1,205
|
Quote:
Originally Posted by Sycophantic
Datei als .php gespeichert?
|
 hatte es auf HTML
Aber ich dachte man kann auch PHP Code in einer HTML Datei verwenden?
|
|
|
09/16/2014, 14:51
|
#15
|
elite*gold: 0
Join Date: Jun 2010
Posts: 3,406
Received Thanks: 2,024
|
anderst rum, man kann auch html-code in einer .php Datei verwenden. Man muss dem Server trotzdem sagen, dass es sich um eine .php handelt, weil er sie sonst nicht parst.
|
|
|
 |
|
Similar Threads
|
netzwerkkarte funktioniert nicht richtig
06/17/2014 - Technical Support - 7 Replies
hallo liebe leute,
ich habe vor kurzem ein neues computer bekommen und jetzt hab ich eigentlich alle treiber so richtig installiert weil ich dachte man muss treiber installen und so aber jetzt ist das problem das sich mein internet immer so ganz ab und zu oder auch random so das das internet weg ist. also ich spiele ein spiel, lade auf epvp den neuesten hack runter und schwupps ist unten in der leiste bei diesem computer wo zeigt das man internet hat ein rotes x dann dauert es so 3 sekunden...
|
Cabal EU Registration funktioniert nicht
05/18/2012 - Cabal Online - 2 Replies
Ich wollte mal fragen ob ihr euch registriegen könnt...
bei mir kommt jedes mal bei der registration dieser text
The page cannot be displayed because an internal server error has occurred.
Bitte um schnelle hilfe.
_________________________________________________ ________________
|
[mt2gsCMS] Registration funktioniert nicht
12/04/2011 - Metin2 Private Server - 4 Replies
Hallo , die Registration bei meinem mt2GS CMS funktioniert neuerweise nichtmehr
sie ging schon, aber jetzt geht sie nichtmehr
habe es auch schon mit dem Standartscript versucht - geht leider nicht...
|
Funktioniert nicht so Richtig....
10/20/2010 - WarRock - 6 Replies
Also ich habe mehrere Hacks und bei jedem von den bleibt bei 41% oder 42% amo stecken.....
Weiß jemand wiso oder wurde es nicht zuende gecodet?
|
WoE Damage funktioniert nicht richtig
12/28/2006 - Ragnarok Online - 6 Replies
Hi,
Ich hab nen Problem, ich hab schon verschiedene WoE damage exen getested, auch schon mit sclientinfo aber es zeigt immer nur 1 dmg an (bei mehreren hits, mehrere 1) hab auch schon mit den neusten hex zahlen probiert (aus dem anderen thread hier) funktioniert aber auch nicht. Im guilddungeon seh ich mit der original exe kein dmg, mit der woe dmg exe schon...
Außerdem, seh ich Heal, Soul Change .... die ganzen sachen mit den richtigen Werten.
Wisst ihr an was das liegen kann, bzw ne...
|
All times are GMT +1. The time now is 20:44.
|
|