TestUser via PHPmyAdmin

  • Themenstarter Themenstarter DaWeed
  • Beginndatum Beginndatum
D

DaWeed

Guest
Im moment bin ich dabei ein Login script zu schreiben und ich denke , dass das auch soweit richtig ist , möchte es aber auch nun selbst testen und ich habe in einem Tutorial gelesen (http://www.php-resource.de/tutorials/read/38/2/ Unterpunkt "Der Beispielbenutzer") ,
dass man sich einen BeispielUser anlegen soll.
Aber WIE mach ich das jetzt via PHPmyAdmin??
Denn ich kann zwar der Tabelle , in der ich die verschiedenen angaben reingebracht haba für einen User, neue Felder anlegen aber nicht den Inhalt bestimmen.
was nun?? ?(
 
- du klickst auf das kleine Symbol vor dem Tabellennamen oder auf den Tabellennamen selber
- und dann oben in der Leiste auf "einfügen"
Somit kannst du einen neuen Datensatz einfügen.
 
Das zugehörige SQL-Statement steht doch in dem Tutorial drin. In phpMyAdmin gibt's allerorts Buttons und Links, wo "SQL" draufsteht, da kannste das einfach reinkopieren, anpassen und absenden. Ansonsten die Tabelle aufrufen und bei den Reitern oben"Einfügen" (oder "Insert" wenn du eine englische Installation hast) auswählen. Da kommt ein Formular, in welches du die Daten des Benutzers eintragen kannst. Ob du so aber Zugriff auf die mysql-Funktionen (md5) hast, weiß ich nicht.
 
cool danke für die Hilfe aber jetzt stellt sich für mich das Problem , dass das folgende script
bei der if abfrage true ergibt also , wird sofort der if teil angezeigt obwohl man nichts eingegebn hat wo is der Fehler:
<form method="post" action="login.php">
<label>Benutzername:</label><input name="username" type="text">
<br>
<label>Passwort: </label><input name="userpass" type="password" id="userpass">
<br>
<input name="login" type="submit" id="login" value="Einloggen">
</form>



<?php
$link = mysql_connect('localhost', 'rider', 'meinpasswort') or die("Fehler konnte nicht Einloggen");
//mysql Verbindung aufbauenn
mysql_select_db("rider");
//mysql db auswählen
$loginstring = "SELECT UserName,UserPass FROM User WHERE UserName = '$_POST[UserName]';";
//Definition der Daten die ausgelesen werden sollen
$anfrage = mysql_query($loginstring);
//Loginstring als query senden um abfrage zu starten
$daten = mysql_fetch_assoc($anfrage);
//Tabelle prüfen
$arg1 =$daten[UserPass];
//User Passwort aus der Tabelle auslesen und definieren
$arg2 = $_POST[passwort];
//Eingegebenes Passwort definieren
if ($arg1 == $arg2) {//Prüfen ob beide Passwörter gleich sind
echo "Login erfolgreich!<br /></n>"; //-+
echo "Viel Spaß beim Spielen.<br /></n>"; // |-wenn true , dann das ausgeben
echo "Euer MoE Team"; //-+
}
else {
echo "Login erfolglos<br /></n>"; //-+
// +-wenn false, dann das ausgeben
echo "Benuztername oder Passwort ist Falsch";//-+
}
?>
 
Ich denke, das Passwort landet als MD5-Hash in der Datenbank?
Und wozu den Vergleich nicht gleich von mySQL erledigen lassen?

Beispiel:

PHP:
<?php

$result = mysql_query ( 'SELECT username FROM user
                         WHERE username="'     . $_POST [ 'username' ] . '"
                         AND   userpass=MD5("' . $_POST [ 'password' ] . '")' );
                         
if ( $line = mysql_fetch_assoc ( $result ) )
{
  // Login erfolgreich
}
else
{
  // Ungültige Zugangsdaten
}

?>
 
Hast die ' vergessen.
So ist es:
Code:
$arg1 =$daten[UserPass];
$arg2 = $_POST[passwort];
So sollte es sein:
Code:
$arg1 =$daten['UserPass'];
$arg2 = $_POST['passwort'];

Zudem solltest du die Eingaben vor der Datenbankabfrage mit strip_tags() und ähnlichem umwandeln um die Sicherheit zu erhöhen.

mfg
coderinblack
 
okay das problem hat sich erledigt dickes danke nochma an alle aba ich hab gleich nen neues xD undzwar will ich eine anmelde datei machen , sodass man sich erst registrien muss und sich erst dann einloggen das scrript sieht so aus:
<?php
$link = mysql_connect('localhost', 'rider', 'meinpasswort') or die("Fehler konnte nicht Anmelden");
mysql_select_db("rider");
$anmeldestring = "INSERT INTO User ('UserNick','UserPass','UserMail') VALUES ($_POST['UserNick'], $_POST['UserPass'], $_POST['UserMail'])";
$anfrage = mysql_query($anmeldestring) or die("Konnte nicht Anmelden");
?>

da wiird dann aber ein parse error angezeigt:
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /usr/export/www/hosting/rider/Anmeldung.php on line 4


line4=$anmeldestring = "INSERT INTO User ('UserNick','UserPass','UserMail') VALUES ($_POST['UserNick'], $_POST['UserPass'], $_POST['UserMail'])";


wo is der fehler ich blick da nich durch was ich falsch gemacht haben soll
 
Hi,
da ist nochmal ein Fehler drin:
Code:
$loginstring = "SELECT UserName,UserPass FROM User WHERE UserName = '$_POST[UserName]';";
Mit dem Ersetzen:
Code:
$loginstring = "SELECT UserName,UserPass FROM User WHERE UserName = '".$_POST['UserName']."'";

Benutzt du eine Verschlüsselung?? (md5,...)
Wenn nein, sollte es jetzt gehen...

mfg
coderinblack
 
Zurück
Oben