Wenn jetzt z.B. 4 User in der Datenbank eingetragen sind, werden diese 4 auch aufgelistet?
Beiträge von DJ Deagle
-
-
Hallo,
wie oben steht, würde ich gerne eine HTML Tabelle mit dem Inhalt aus einer MySQL-Datenbank (bzw Tabelle) füllen.
Für ein Beispiel gehen wir mal von 3 Einträgen in der MySQL-Tabelle aus.Wie geht das?
lg
-
Das bekomme ich ja raus, ob er Leader ist.
Nur er geht ja alle Tabellen zusammen ab (AL,RGN,LOG). -
Das sieht iwie geil aus :O
-
error 017: undefined symbol "CancelSelectTextdraw" Eben nicht hatte es ja schon getestet
Ups, das D bei Textdraw muss groß:
CancelSelectTextDraw(playerid);
Mein Fehler -
Möchte aber kein PDO verwenden :o
-
Was ich nun vergessen habe zu fragen:
Wie bekomme ich nun raus, wo der Spieler Leader ist?
lg
-
Um meinen Vorredner mal zu komplettieren ein kleiner Exkurs zu SQL Injections.
Es gibt in SQL eine Sicherheitslücke, die es ermöglicht, durch Usereingaben einem Nutzer, der weiß, wie er es macht, Tabellen zu
manipulieren, zu löschen, neue zu erstellen usw, sofern man im Code nicht davor schützt. Dafür braucht man kein großer 1337 L33t Intern3t G4ngst4r Hacker zu sein, das kann jeder, der eine Suchmaschine bedienen kann.Um davor zu schützen, liefert PHP eine Funktion mit, die einen String escapen kann. Sobald man diese Funktion richtig anwendet, ist man auf der sicheren Seite.
Beispiel:
(Von Dir so angewendet)
Bei diesem Beispiel könnte der User nun die gesamte Tabelle manipulieren.
Die Lösung:PHPmysql_query("SELECT * FROM accounts WHERE userName = '".mysql_real_escape_string($_GET["username"])."'");
Ja, es ist nervend auf Dauer, aber für die Sicherheit sollte keine Mühe gescheut werden.
Ich verstehe nicht ganz, ich habe diesen ersten von dir genannten Code nirgends in meinem Skript o.o -
Kannst du mir eine Hilfestellung geben (für das If-Zeugs)?
Ich arbeite erst seit gestern mit PHP / CSS / HTML, und habe MySQL nur in Verbindung mit Pawn genutzt (uiii sachen in ne tabelle schreiben). -
Danke erstmal dafür.
Doch ich möchte, dass wenn 0 returnt wird, ausgegeben wird, was falsch ist (PW oder Username oder beides).
Ebenso soll dann gecheckt werden, ob Leader 1 ist oder nicht.
Also eine art "rund-um paket". -
PHP
Alles anzeigen$source = "SELECT Name,Leader FROM Users_AL WHERE Name = '".$username."' AND Leader = 1"; $result = mysql_query($source) OR die(mysql_error()); if(!mysql_num_rows($result)){ $source = "SELECT Name,Leader FROM Users_RGN WHERE Name = '".$username."' AND Leader = 1"; $result = mysql_query($source) OR die(mysql_error()); if(!mysql_num_rows($result)){ $source = "SELECT Name,Leader FROM Users_LOG WHERE Name = '".$username."' AND Leader = 1"; $result = mysql_query($source) OR die(mysql_error()); if(!mysql_num_rows($result)){ $cont = "Dieser Account ist nicht als Leader eingetragen!"; $sucess = 0; } else if(mysql_num_rows($result)){//LOG $row = mysql_fetch_object($result); if($row->Passwort == $passwort) { $sucess = 1; } else { $cont = "Falsches Passwort!"; $sucess = 0; } } } else if(mysql_num_rows($result)){//RGN $row = mysql_fetch_object($result); if($row->Passwort == $passwort) { $sucess = 1; } else { $cont = "Falsches Passwort!"; $sucess = 0; } } } else if(mysql_num_rows($result)){//AL $source = "SELECT Passwort FROM Users_AL WHERE Name = '".$username."'"; $result = mysql_query($source) OR die(mysql_error()); $row = mysql_fetch_object($result); if($row->Passwort == $passwort) { $sucess = 1; } else { $cont = "Falsches Passwort!"; $sucess = 0; } }
Und nu? :o
-
Derzeit ist es noch unverschlüsselt.
Wie geht das mit dem debuggen?
Ich arbeite erst seit gestern aktiv mit PHP / CSS / HTML -
Hallo,
wer es vielleicht mitbekommen hat, weiß, dass ich gerade ein bisschen rumversuche, und daher nun schon meinen 8. Thread hier eröffne
Also:Ich logge mich mit den korrekten Benutzerdaten ein, doch bekomme "Falsches Passwort!" zurück.
Woran liegt das?PHP
Alles anzeigen//Chopper stinkt nach fisch. $source = "SELECT Passwort FROM Users_AL WHERE Name = '".$username."'"; $result = mysql_query($source) OR die(mysql_error()); $row = mysql_fetch_object($result); if($row->Passwort == $passwort) { $sucess = 1; } else { $cont = "Falsches Passwort!"; $sucess = 0; }
Keine Warnings o.ä.lg
-
Meine Fresse bin ich blöd
danke Goldkiller klappt
-
Hallo,
ich habe mit PHP ein Loginskript gebastelt (Leaderpanel).
Leider gottes gibt er mir, wenn ich eingeloggt bin (oder nicht) folgendes aus:PHPWarning: mysql_num_rows() expects parameter 1 to be resource, string given in /users/zinneal/www/keybinder/leaderpanel2.php on line 16 Warning: mysql_num_rows() expects parameter 1 to be resource, string given in /users/zinneal/www/keybinder/leaderpanel2.php on line 19 Warning: mysql_num_rows() expects parameter 1 to be resource, string given in /users/zinneal/www/keybinder/leaderpanel2.php on line 22
Hier der Code:
PHP//Chopper stinkt nach fisch.session_start();$username = @$_POST['Name'];$passwort = @$_POST['Passwort'];if(!isset($_SESSION["username"])) { $cont = "Bitte erst im <a href='./leaderpanel.php'>Leaderpanel</a> einloggen!"; $sucess = -1;} $source = "SELECT Name,Leader FROM Users_AL WHERE Name = '".$username."' AND Leader = 1";mysql_query($source) OR die(mysql_error());if(!mysql_num_rows($source)){//LINE 16 $source = "SELECT Name,Leader FROM Users_RRR WHERE Name = '".$username."' AND Leader = 1"; mysql_query($source) OR die(mysql_error()); if(!mysql_num_rows($source)){//LINE 19 $source = "SELECT Name,Leader FROM Users_LOG WHERE Name = '".$username."' AND Leader = 1"; mysql_query($source) OR die(mysql_error()); if(!mysql_num_rows($source)){//LINE 22 $cont = "Dieser Account ist nicht als Leader eingetragen!"; $sucess = 0; } else if(mysql_num_rows($source)){//LOG $row = mysql_fetch_object($source); if($row->Passwort == $passwort) { $_SESSION["username"] = $username; $sucess = 1; } else { $cont = "Falsches Passwort!"; $sucess = 0; } } } else if(mysql_num_rows($source)){//RRR $row = mysql_fetch_object($source); if($row->Passwort == $passwort) { $_SESSION["username"] = $username; $sucess = 1; } else { $cont = "Falsches Passwort!"; $sucess = 0; } }} else if(mysql_num_rows($source)){//AL $source = "SELECT Passwort FROM Users_AL WHERE Name = '".$username."'"; mysql_query($source) OR die(mysql_error()); $row = mysql_fetch_object($source); if($row->Passwort == $passwort) { $_SESSION["username"] = $username; $sucess = 1; } else { $cont = "Falsches Passwort!"; $sucess = 0; }}
Ich weiß, etwas unübersichtlich, wie kann ich den Code optimieren, bzw wo ist der Fehler?
lg
-
PHP
Alles anzeigen$username = @$_POST['Name']; $passwort = @$_POST['Passwort']; $server = @$_POST['Server']; if($server == "AL") { $source = "SELECT Name FROM Users_AL WHERE Name = '".$username."' LIMIT 1"; $serv = 1; } else if($server == "RRR") { $source = "SELECT Name FROM Users_RRR WHERE Name = '".$username."' LIMIT 1"; $serv = 2; } else if($server == "LOG") { $source = "SELECT Name FROM Users_LOG WHERE Name = '".$username."' LIMIT 1"; $serv = 3; }else if($server == "") { $cont = "Bitte wähle einen Server aus!"; $sucess = 0; } $result = mysql_query($source) OR die(mysql_error()); if(!mysql_num_rows($result)){ if($serv == 1) { mysql_query("INSERT INTO Users_AL (`Name`, `Passwort`) VALUES ('".$username."', '".$passwort."')"); } else if($serv == 2) { mysql_query("INSERT INTO Users_RRR (`Name`, `Passwort`) VALUES ('".$username."', '".$passwort."')"); } else if($serv == 3) { mysql_query("INSERT INTO Users_LOG (`Name`, `Passwort`) VALUES ('".$username."', '".$passwort."')"); } $cont = "Dein Account wurde erfolgreich angelegt, bitte warte bis ein Leader diesen freischaltet!"; $sucess = 1; }else{ $cont = "Dieser Account wurde bereits Registriert!"; $sucess = 0; }
So klappts bei mir -
Ich habe gerade ein bisschen daran rumgespielt und nun irgendwie die richtige Lösung gefunden.
danke trotzdem für die Hilfe.lg
-
ja =D Nur jetzt stört die fuck maus ;D
Da wo der Spieler spawnt
CancelSelectTextdraw(playerid);
machen, sollte normalerweise funzen -
PHP
Alles anzeigen$username = @$_POST['Name']; $passwort = @$_POST['Passwort']; $server = @$_POST['Server']; if($server == "AL") { $source = "SELECT Name FROM Users_AL WHERE Name = '".$username."' LIMIT 1"; } else if($server == "RRR") { $source = "SELECT Name FROM Users_RRR WHERE Name = '".$username."' LIMIT 1"; } else if($server == "LOG") { $source = "SELECT Name FROM Users_LOG WHERE Name = '".$username."' LIMIT 1"; }else if($server == "") { $cont = "Bitte wähle einen Server aus!"; $sucess = 0; } $result = mysql_query($source) OR die(mysql_error()); if(!mysql_num_rows($result)){ if($server == "AL") { mysql_query("INSERT INTO Users_AL (`Name`, `Passwort`) VALUES ('".$username."', '".$passwort."')"); } else if($server == "RRR") { mysql_query("INSERT INTO Users_RRR (`Name`, `Passwort`) VALUES ('".$username."', '".$passwort."')"); } else if($server == "LOG") { mysql_query("INSERT INTO Users_LOG (`Name`, `Passwort`) VALUES ('".$username."', '".$passwort."')"); } $cont = "Dein Account wurde erfolgreich angelegt, bitte warte bis ein Leader diesen freischaltet!"; $sucess = 1; }else{ $cont = "Dieser Account wurde bereits Registriert!"; $sucess = 0; }
Nun hab ich es so.
Doch leider fügt er, auch wenn ich "RRR" ausgewählt habe auf der Seite alles in die "AL"-Tabelle...Trooper: das mit dem sucess soll kein Englisch, sondern einfach nur eine var sein.
-
Hallo,
ich habe ein kleines PHP-Skript gebastelt, welches nach einer Eingabe Dinge in eine Datenbank schreiben soll.
Leider schriebt das Skript nur, wenn der erste Server ausgewählt wurde etwas in die Datenbank.PHP
Alles anzeigen$username = @$_POST['Name']; $passwort = @$_POST['Passwort']; $server = @$_POST['Server']; if($server == "AL") { $source = "SELECT Name FROM Users_AL WHERE Name = '".$username."' LIMIT 1"; } else if($server == "RRR") { $source = "SELECT Name FROM Users_RRR WHERE Name = '".$username."' LIMIT 1"; } else if($server == "LOG") { $source = "SELECT Name FROM Users_LOG WHERE Name = '".$username."' LIMIT 1"; }else if($server == "") { $cont = "Bitte wähle einen Server aus!"; $sucess = 0; } $result = mysql_query($source) OR die(mysql_error()); if(!mysql_num_rows($result)){ if($server == "AL") { $pw = mysql_query("INSERT INTO Users_AL (`Name`, `Passwort`) VALUES ('".$username."', '".$passwort."')"); } else if($server == "RRR") { $pw = mysql_query("INSERT INTO Users_RRR (`Name`, `Passwort`) VALUES ('".$username."', '".$passwort."')"); } else if($server == "LOG") { $pw = mysql_query("INSERT INTO Users_LOG (`Name`, `Passwort`) VALUES ('".$username."', '".$passwort."')"); } mysql_query($pw); $cont = "Dein Account wurde erfolgreich angelegt, bitte warte bis ein Leader diesen freischaltet!"; $sucess = 1; }else{ $cont = "Dieser Account wurde bereits Registriert!"; $sucess = 0; }
Woran kann das liegen?
lg