login
pankraz
- php
Hallo zusammen
Bin schon fast am verzweifeln, wollte eigentlich nur ein kleines Lgin System machen, doch irgendwie steh ich auf der Leitung.
Das folgende Script sollte einfach checken ob der per POST gesante Name mit dem Datenbank eintrag übereinstimmt.
Was jedoch passiert, ist , dass danach beide Einträge Wie das POST lautet und dass immer GUT rauskommt.
Bitte helft mir... :)
<?php
mysql_connect("","root",);
mysql_select_db("*******");
$res = mysql_query("select * from ***");
while ($dsatz = mysql_fetch_assoc($res))
{
$name = $dsatz[name];
}
if ($name = $_POST[name])
{
echo "Gut";
}
else
{
echo "Nicht gut";
}
?>
he
if ($name = $_POST[name])
Anstatt zu vergleichen steckst du hier die Eingabe in $name.
gruß bascombe
Hallo,
if ($name = $_POST[name])
{
echo "Gut";
}
...auf deutsch:
Wenn der Variable $name der Wert $_POST[name] zugewiesen werden konnte, dann schreibe "Gut".
Und das wird wohl immer der Fall sein! Was Du möchtest ist sicherlich if ($name == $_POST[name]) { ... }.
Alex
Hi Alex,
Und das wird wohl immer der Fall sein! Was Du möchtest ist sicherlich if ($name == $_POST[name]) { ... }.
Nein, er möchte nicht auf die Konstante „name” zugreifen, er möchte den Index „name” von $_POST abfragen, er möchte also das hier machen:
if ($name == $_POST['name']) {
// ...
}
Viele Grüße,
~ Dennis.
echo $begrüßung;
if ($name = $_POST[name])
...auf deutsch:
Wenn der Variable $name der Wert $_POST[name] zugewiesen werden konnte,
Nein, richtig wäre: Wenn das Ergebnis der Zuweisung einem boolschen True entspricht, ...
Bei if ($name = false) ist die Bedingung nämlich nicht erfüllt. Dieses Prinzip wird oft bei
while ($record = mysql_fetch_*($resource))
verwendet. Die Schleife läuft nicht solange die Zuweisung geklappt hat, denn dann liefe sie unentwegt, sondern nur solange mysql_fetch_*() kein false liefert.
echo "$verabschiedung $name";
Mahlzeit,
Das folgende Script sollte einfach checken ob der per POST gesante Name mit dem Datenbank eintrag übereinstimmt.
Warum holst du dafür alle Einträge aus der Datenbank, anstatt die Abfrage mittels "WHERE" nur auf den einen Eintrag einzuschränken, auf dessen Existenz du überprüfen willst?
Ansonsten wirst du dich spätestens freuen, wenn jedesmal beim Check einige 1000 KOMPLETTE Datensätze (Wieso überhaupt "SELECT *"?) rausgefummelt und übertragen werden müssen ...
$res = mysql_query("select * from ***");
$name = $_POST['name'];
if (/* Gültigkeitsprüfung für Variable $name */)
{
mysql_query("SELECT name FROM bliblablubb WHERE name = '$name'");
}
MfG,
EKKi