Supportnet Computer
Planet of Tech

Supportnet / Forum / Skripte(PHP,ASP,Perl...)

Variablen abgleichen





Frage

Wie kann ich Variablen, z.B. $username und $password mit den entsprechenden Eintragungen in einer mySQL-Tabelle abgleichen und Fall von "true" oder "false" entsprechende Sätze ausgeben lassen? Derzeit habe ich durch die Eingaben in ein Formular die Variablen username und password per POST übermitteln lassen an folgende Datei login.inc: [code] <? if($username=="") { require("./header.php"); echo"Es wurde kein Benutzername angegeben."; require("./footer.php"); exit; } elseif($username && $password=="") { require("./header.php"); echo"Es wurde kein Passwort angegeben."; require("./footer.php"); exit; } mysql_connect("localhost","SQLbenutzer","SQLpasswort"); mysql_select_db("handsmakemusic_de"); $sql="select from hmm_member where username='$username' and password='$password'"; $result=mysql_query($sql); if(mysql_fetch_row($result)) { setcookie("username","$username",time()+60*60*34*30); setcookie("password","$password",time()+60*60*34*30); require("./header.php"); echo"Zum Benutzernamen $username wurde das Passwort $password eingegeben.<br>Cookie wurde gesetzt."; require("./footer.php"); exit; } ?> [/code] Es soll im Falle von Übereinstimmung von Passwort und Username mit den SQL Einträgen ein Cookie mit diesen Angaben gesetzt werden. Ich hoffe auf Hilfe und Erklärung. Gruss Tim

Antwort 1 von iLL.cHiLL

Oh..

Also da sind massig Fehler drin
In diesem Code ist zumindest schon mal der anfang richtig. Aber die sql abfrage ist auch total kaputt..


<?php



if($username=="" OR $password=="")
{
require("./header.php");
echo"Bitte vollständige Daten eingeben!";
require("./footer.php");
exit;
}


else {

mysql_connect("localhost","SQLbenutzer","SQLpasswort");
mysql_select_db("handsmakemusic_de");
$sql="select from hmm_member where `username`='".$username."' and password='".$password'."";

$result="mysql_query($sql)";
if(mysql_fetch_row($result))
{
setcookie("username","$username",time()+60*60*34*30);
setcookie("password","$password",time()+60*60*34*30);
require("./header.php");
echo"Zum Benutzernamen $username wurde das Passwort $password eingegeben.<br>Cookie wurde gesetzt.";
require("./footer.php");
exit;

}
else ();

}

?>


gruß kane


Antwort 2 von iLL.cHiLL

So.. ich habs ned getestet aber so ist es noch mal richtiger.. probier mal und sag mir falls ne Fehlermeldung kommt


<?php



if($username=="" OR $password=="")
{
require("./header.php");
echo"Bitte vollständige Daten eingeben!";
require("./footer.php");
exit;
}


else {

mysql_connect("localhost","SQLbenutzer","SQLpasswort");
mysql_select_db("handsmakemusic_de");
$sql="select from hmm_member where `username`='".$username."'";

$result="mysql_query($sql)";
while($row = mysql_fetch_assoc($daten))
{

if ($row['password' == $password]

{
setcookie("username","$username",time()+60*60*34*30);
setcookie("password","$password",time()+60*60*34*30);
require("./header.php");
echo"Zum Benutzernamen $username wurde das Passwort $password eingegeben.<br>Cookie wurde gesetzt.";
require("./footer.php");
exit;

}


else { echo "Falscher Benutzername oder falsches Kennwort!";
}}}
?>



Antwort 3 von Timmy

Ich muss leider sagen, dass es nicht funktioniert.

Folgende Fehlermeldung:
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /is/htdocs/42653/www.handsmakemusic.de/hmm1/id/login.inc on line 16

Und was mache ich jetzt?

Antwort 4 von Timmy

Was beinhaltet denn die Variable $daten?

Wenn Du Dir das nochmal anschauen möchtest, dann klicke hier.

Benutzer: test
Passwort: test

Antwort 5 von Timmy

Hab es jetzt selbst hinbekommen mit folgendem Skript:


<?php

mysql_connect("localhost","sqlusername","sqlpassword");
mysql_select_db("dbname");
$sql="select * from hmm_member";
$result=mysql_query($sql);

while($row=mysql_fetch_array($result))
{
if ($username=="")
{
require("./header.php");
echo"KEIN BENUTZER ANGEGEBEN!";
require("./footer.php");
exit;
}
if ($username!=$row[username])
{
require("./header.php");
echo"$username, Du existierst noch nicht in der Datenbank.";
require("./footer.php");
exit;
}
if ($username==$row[username] && $password=="")
{
require("./header.php");
echo"$username, bitte Passwort angeben.";
require("./footer.php");
exit;
}
if ($username==$row[username] && $password!=$row[password])
{
require("./header.php");
echo"$username, Dein Passwort ist falsch!";
require("./footer.php");
exit;
}
if ($username==$row[username] && $password==$row[password])
{
setcookie("username","$username",time()+60*60*34*30);
setcookie("password","$password",time()+60*60*34*30);
require("./header.php");
echo"$username, Dein Passwort lautet: $password";
require("./footer.php");
exit;
}
}
?>

Ich danke Dir aber trotzdem recht herzlich. Ich werde sicherlich noch viele weitere Anfragen schicken...

Gruss Tim

Antwort 6 von alfred0.der.analt0rpedo

no prob.. habs auch erst gelernt und da hat mir immer semi und der nemesis ( richtig ?? ) geholfen.. naja ist eigentlich ned schwer die sprache...


gruß