Login -.-

G

glen

Ich habe ein Loginscript aber irgendwie meint der das in der letzen Zeile etwas falsch sei, obwohl da nur ein '?>'steht...hier mal das Script

<?
error_reporting(E_ALL);
if ($submit)
{
?>

<FORM name="login" action="left.php" method="post">
<center>Nickname</center>
<input type="text" name="nick" maxlength="15" size="15"><br>
<center>Passwort</center>
<input type="password" name="pw" maxlength="15" size="15"><br><br>
<input type="submit" value="Login" name="submit">
</FORM>


<?
session_start();
require_once("dbconnect.php");

$nick = $HTTP_POST_VARS["nick"];
$pw = $HTTP_POST_VARS["pw"];


if ((!isset($nick)) OR (!isset($pw)))
{
echo ("Sorry ohne Nick oder Passwort kommst du hier nicht rein!");
}


$query = @mysql_query("SELECT * FROM userdaten WHERE Nick = '$nick'") or die('Select ist fehlgeschlagen!');
$result = @mysql_fetch_array($query) or die('Sorry, aber dieser Benutzername existiert nicht!');

if ($result['Passwort'] != $pw OR $result['Nick'] != $nick)
{
echo "Sorry, aber das Passwort gehört nicht zu diesem Nick!";
}
{
header ("Location: index2.php");
}
$rechte = $result['Rechte'];

session_register('nick');
session_register('rechte');
?>

Könnt ihr mir da helfen?! hmm....
Vorher als es in 2 Dateien war ging es, aber nun irgendwie nicht...

Könntet ihr mir vllt helfen?!
 
hey

kleiner tipp entweder html oder php und kein mischmasch mit dem ständigen öffnen und schließen! nimm also echo für sowas

fehler in der letzten Zeile = Klammerfehler!

Du musst eine klammer schließen
und zwar von if ($submit) {

und das:
if ($result['Passwort'] != $pw OR $result['Nick'] != $nick)
{
echo "Sorry, aber das Passwort gehört nicht zu diesem Nick!";
}
{
header ("Location: index2.php");
}

ist falsch, da fehlt ein else
 
Außer dem als Hinweis:
So wie es aussieht hast du mit dem Formular oben eine Ausgabe vor dem session_start(). Das wird langfristig nicht funktionieren. Also entweder das session_start() ganz an den Anfang der Datei oder vorher nichts an den Browser schicken.
 
Danke euch, ich probier es nachher wenn ich wieder am pc bin und berichte euch ob es geklappt hat ;)
Danke :)
 
Nun sieht es so aus

<?

error_reporting(E_ALL);

require_once("dbconnect.php");

if ($HTTP_POST_VARS['submit'];)
{

$nick = $HTTP_POST_VARS['nick'];
$pw = $HTTP_POST_VARS['pw'];


if ((!isset($nick)) OR (!isset($pw)))
{
echo ("Sorry ohne Nick oder Passwort kommst du hier nicht rein!");
}


$query = @mysql_query("SELECT * FROM userdaten WHERE Nick = '$nick'") or die('Select ist fehlgeschlagen!');
$result = @mysql_fetch_array($query) or die('Sorry, aber dieser Benutzername existiert nicht!');

if ($result['Passwort'] != $pw OR $result['Nick'] != $nick)
{
echo "Sorry, aber das Passwort gehört nicht zu diesem Nick!";
}
{
header ("Location: index2.php");
}
{
echo "<FORM name='login' action='left.php' method='post'>";
echo "<center>Nickname</center>";
echo "<input type='text' name='nick' maxlength='15' size='15'><br>";
echo "<center>Passwort</center>";
echo "<input type='password' name='pw' maxlength='15' size='15'><br><br>";
echo "<input type='submit' value='Login' name='submit'>";
echo "</FORM>";
}
}

?>


Aber in der if ($HTTP_POST_VARS['submit'];) ist laut ihm ein Fehler ^^
Nur welcher?! Wenn dort steht $submit und ich die Variable definiere geht es auch nicht....hm..wisst ihr wieso?!
 
Da das Board dahinter einen Smily anzeigt geh ich mal davon aus, dass sich da ein ";" befindet. Nach einer if-Bedingung kommt aber kein ";".

mfg Faramir
 
<?

error_reporting(E_ALL);

require_once("dbconnect.php");

if ("$POST['submit'];")
{

$nick = $HTTP_POST_VARS['nick'];
$pw = $HTTP_POST_VARS['pw'];


if ((!isset($nick)) OR (!isset($pw)))
{
echo ("Sorry ohne Nick oder Passwort kommst du hier nicht rein!");
}


$query = @mysql_query("SELECT * FROM userdaten WHERE Nick = '$nick'") or die('Select ist fehlgeschlagen!');
$result = @mysql_fetch_array($query) or die('Sorry, aber dieser Benutzername existiert nicht!');

if ($result['Passwort'] != $pw OR $result['Nick'] != $nick)
{
echo "Sorry, aber das Passwort gehört nicht zu diesem Nick!";
}
{
header ("Location: index2.php");
}
{
echo "<FORM name='login' action='left.php' method='post'>";
echo "<center>Nickname</center>";
echo "<input type='text' name='nick' maxlength='15' size='15'><br>";
echo "<center>Passwort</center>";
echo "<input type='password' name='pw' maxlength='15' size='15'><br><br>";
echo "<input type='submit' value='Login' name='submit'>";
echo "</FORM>";
}
}

?>


und die neue fehlermeldung ist

Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in loginform.php on line 7

mahan....
 
if ($HTTP_POST_VARS[submit])

oder

if ($HTTP_POST_VARS["submit"])

Anführungszeichen und den Strichpunkt weg!

Dann klappt's auch mit der if-Abfrage :-)
 
Notice: Undefined index: submit in /data/members/free/tripod/de/j/o/c/jock15/htdocs/Comm/loginform.php on line 7

?!
Habs so gemacht wie du sagtest ,..geht nicht ^^
 
Zurück