Kalma
Erfahrenes Mitglied
Hey,
ich habe ein Login-Script gebaut, das über 2 Datenbanken geht... Nur leider will das nicht
Es soll für bands und locations sein. Wenn der User Locations ausgewählt hat, wird aus Locations ausgelesen, sonst aus bands.
Hier mein formular:
http://dfmusik.de/index.php?section=mlogin
Und hier das Script zum einloggen
Außerdem soll der einzuloggende noch zwischen ID/Email entscheiden können. Das heißt, er soll entweder seine ID angeben oder seine Email-Adresse.
Aber irgendwie das bei mir nicht
David
ich habe ein Login-Script gebaut, das über 2 Datenbanken geht... Nur leider will das nicht

Es soll für bands und locations sein. Wenn der User Locations ausgewählt hat, wird aus Locations ausgelesen, sonst aus bands.
Hier mein formular:
http://dfmusik.de/index.php?section=mlogin
Und hier das Script zum einloggen
PHP:
<?php
//posten
$nickname = $_POST['nickname'];
$passwort = $_POST['passwort'];
$loginas = $_POST['loginas'];
//passwort verschlüsseln
$passwort = md5($passwort);
//prüfen, ob id oder email angegeben wurde
//wenn das korrekt ist, ist die abfrage nach id
if ($loginas == "band")
{
if (preg_match("=^[0-9]+$=i",$nickname))
{
$Result = mysql_query("SELECT
*
FROM
bands
WHERE
`id`='$nickname'
AND
`passwort`='$passwort'
LIMIT 1");
}
else
{
$Result = mysql_query("SELECT
*
FROM
bands
WHERE
`email`='$nickname'
AND
`passwort`='$passwort'
LIMIT 1");
}
}
else
{
if (preg_match("=^[0-9]+$=i",$nickname))
{
$Result = mysql_query("SELECT
*
FROM
locations
WHERE
`id`='$nickname'
AND
`passwort`='$passwort'
LIMIT 1");
}
else
{
$Result = mysql_query("SELECT
*
FROM
locations
WHERE
`email`='$nickname'
AND
`passwort`='$passwort'
LIMIT 1");
}
}
if (mysql_num_rows($Result) > 0)
{
$data = mysql_fetch_array($Result);
$_SESSION["m_id"] = $data['id'];
$_SESSION["m_name"] = $data['name'];
header ("location: ?section=index");
}
else
{
header("location: ?section=bands");
}
?>
Außerdem soll der einzuloggende noch zwischen ID/Email entscheiden können. Das heißt, er soll entweder seine ID angeben oder seine Email-Adresse.
Aber irgendwie das bei mir nicht

David