Webstatt.org - Community seit 2006 - 2012 (2024?)

Login Formular will nicht!

user-137
26.05.2006 08:45

Hallo,

ich habe versucht nen Login Formular für meinen Adminbereich zu machen.
Nur leider kommt immer, der mirunerklärliche Fehler:

Parse error: parse error, unexpected T_VARIABLE in

Der Sollte aber gar nicht kommen, da es ja erst ausgeführt werden soll wenn gesendet wurde: (Die Kommentare stehen für das zugangsscript zur DB, somit passen alle Zeilen wider!

<?php
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
if (isset($_POST['send'])) {

$abfrage = mysql_query("SELECT * FROM admin"zwinkern;
$row = mysql_fetch_object($abfrage)
$userfm = md5($_POST['user']);
$userdb = $row->user;
$passworddb = $row->password;
$passwordfm = md5($_POST['pass']);

if ($passwordfm == $passworddb AND $userfm == $userdb) { // wenn richtige angaben wird das ausgeführt!
/* Variablen */

$zufall_sess_id_rand = rand("1","" . date("jzHshnY"zwinkern . ""zwinkern;
$zufall_sess_id_cookie_rand = rand("1","" . date("YszhHjn"zwinkern . ""zwinkern;
$zufall_sess_id = md5($zufall_sess_id_rand);
$zufall_sess_id_cookie = md5($zufall_sess_id_cookie_rand);

/* Variablen ENDE */
/* Session in datenbank schreiben */

// Kommt noch

/* Session in datenbank schreiben ENDE */
?>
Falsches passwort, oder benutzername!
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<input name="user" type="text"><input name="pass" type="password"><input name="send" type="submit" value="Login">
</form>
<?
}
}

else {

?>
Bitte einlogen
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<input name="user" type="text"><input name="pass" type="password"><input name="send" type="submit" value="Login">
</form>
<?
}
?>

user-203
26.05.2006 08:51

Bei der Fehlersuche solltest du immer zuerst drauf gucken, ob du alles mit einem Semikolon abgeschlossen hast. In Zeile 20 zum Beispiel fehlt eins.

Denkt dran, Kinder auf dem Rücksitz verursachen Unfälle, Unfälle auf dem Rücksitz verursachen Kinder.
user-137
26.05.2006 11:57

thx, hab vergessen es beim umbauen von der while auf das hinzuztun!

Aber noch eine Frage, ich will die SESS-ID und die IP in die DB schreiben doch leider will es nicht:

			if ($passwordfm == $passworddb AND $userfm == $userdb) { // Wenn richtige angaben wird das ausgeführt!
/* Variablen */

$zufall_sess_id_rand = rand("1","" . date("jzHshnY"zwinkern . ""zwinkern;
$zufall_sess_id_cookie_rand = rand("1","" . date("YszhHjn"zwinkern . ""zwinkern;
$zufall_sess_id = md5($zufall_sess_id_rand);
$zufall_sess_id_cookie = md5($zufall_sess_id_cookie_rand);

/* Variablen ENDE */
/* Session in datenbank schreiben */

mysql_query = "UPDATE admin(sessid ,ip) VALUES ($zufall_sess_id, $REMOTE_ADDR) WHERE id = " . $row->id . "";


/* Session in datenbank schreiben ENDE */
/* Zeigen wenn richtig */

Ich bin noch nicht so erfahren mit dem Eintragen in DB's und das macht mir noch Probleme, aber was ist den falsch???

Mfg. BNS

Avatar user-162
26.05.2006 12:01

falls du $REMOTE_ADDR vorher nicht irgendwo extra deklariert hast wäre die Richtige schreibweise $_SERVER['REMOTE_ADDR'] ....

Perfection is not when there’s nothing to add, but when there’s nothing to take away swisscheek.com/magazine
user-137
26.05.2006 12:10

Gut dan habe ich das so:

			if ($passwordfm == $passworddb AND $userfm == $userdb) { // Wenn richtige angaben wird das ausgeführt!
/* Variablen */

$zufall_sess_id_rand = rand("1","" . date("jzHshnY"zwinkern . ""zwinkern;
$zufall_sess_id_cookie_rand = rand("1","" . date("YszhHjn"zwinkern . ""zwinkern;
$zufall_sess_id = md5($zufall_sess_id_rand);
$zufall_sess_id_cookie = md5($zufall_sess_id_cookie_rand);

/* Variablen ENDE */
/* Session in datenbank schreiben */

mysql_query = "UPDATE admin(sessid ,ip) VALUES ($zufall_sess_id, " . $_SERVER['REMOTE_ADDR'] . "zwinkern WHERE id = " . $row->id . "";


/* Session in datenbank schreiben ENDE */
/* Zeigen wenn richtig */
?>


Aber der fehler bleibt!

user-343
26.05.2006 13:04

Eine Zeilenangabe?
Die Nadel im Heuhaufen zu suchen ist nicht gerade das wahre zwinkern

Avatar user-255
26.05.2006 15:28

Schau halt einfach mal in die Zeile, die in der Fehlermeldung erwähnt wird.. :tired:

Those who can, do. Those who can't, teach. # Musik gehört dem Volk! # last.fm
user-137
26.05.2006 15:40

oh, hab vergessen den fehler zu geben:

Parse error: parse error, unexpected '=' in C:\FoxServ\www\Re-Design\admin\index.php on line 37


das wäre diese:

mysql_query = "UPDATE admin(sessid ,ip) VALUES ($zufall_sess_id, " . $_SERVER['REMOTE_ADDR'] . "zwinkern WHERE id = " . $row->id . "";

Avatar user-255
26.05.2006 15:44

Überleg mal haarscharf.

Wasili, du machst alles kaputt traurig

Those who can, do. Those who can't, teach. # Musik gehört dem Volk! # last.fm
user-343
26.05.2006 15:44

Original von user-137
oh, hab vergessen den fehler zu geben:

Parse error: parse error, unexpected '=' in C:\FoxServ\www\Re-Design\admin\index.php on line 37


das wäre diese:

mysql_query = "UPDATE admin(sessid ,ip) VALUES ($zufall_sess_id, " . $_SERVER['REMOTE_ADDR'] . "zwinkern WHERE id = " . $row->id . "";


Na also.

$mysql_query = "UPDATE admin(sessid ,ip) VALUES ($zufall_sess_id, " . $_SERVER['REMOTE_ADDR'] . "zwinkern WHERE id = " . $row->id . "";


Pass auf was du schreibst lächeln
(Na, findest du den Unterschied?)

EDIT: Sorry @ Milahu ôÒ Gleichschneller Post zwinkern

user-137
26.05.2006 16:48

Frage, wiso muss man es mit "$" machen, ist mysql_query immer eine Variable??

Avatar user-162
26.05.2006 17:40

weil dus als Variable deklarierst.... Variablen werden im Allgemeinen mit $ am Anfang geschriben!

was du machen willst ist die Funktion mysql_query ausführen... ABER schon mal davon gehört dass Funtionen so aussehen functionsname(); ???
und jetzt schau mal was du gemacht hast

Perfection is not when there’s nothing to add, but when there’s nothing to take away swisscheek.com/magazine
user-137
26.05.2006 18:17

ah, klar! thx, für die erleuterung!

user-137
27.05.2006 17:24

ich habe es als variable versucht, es wird nichts in die Datenbank geschrieben und als funktion:

mysql_query("UPDATE admin(sessid ,ip) VALUES ($zufall_sess_id, " . $_SERVER['REMOTE_ADDR'] . "zwinkern WHERE id = " . $row->id . ""zwinkern;


Auch nicht, wieso??

Mfg. BNS

Avatar user-255
27.05.2006 17:41

Auswendig lernen und ab sofort immer so anwenden:
mysql_query('anfrage'zwinkern or die(mysql_error());

Those who can, do. Those who can't, teach. # Musik gehört dem Volk! # last.fm
user-137
27.05.2006 17:57

Ach, ich vergesse das immer einzubauen, aber hier der fehler:

You have an error in your SQL syntax near '(sessid ,ip) VALUES (d38a39dc9eccc5c1426ee98d55c18e1e, 127.0.0.1) WHERE id = 1' at line 1

Avatar user-253
27.05.2006 17:59

Strings müssen in Hochkommas...
VALUES ('d38a39dc9eccc5c1426ee98d55c18e1e','127.0.0.1'zwinkern oder allgemein:

mysql_query("UPDATE admin(sessid ,ip) VALUES ('$zufall_sess_id', '" . $_SERVER['REMOTE_ADDR'] . "'zwinkern WHERE id = " . $row->id . ""zwinkern;


Man lernt im Übrigen viel mehr wenn man zumindest versucht den Fehler selbst zu finden.

user-137
27.05.2006 19:21

so?:

mysql_query("UPDATE admin('sessid' ,'ip'zwinkern VALUES ('$zufall_sess_id', '" . $_SERVER['REMOTE_ADDR'] . "'zwinkern WHERE id = '" . $row->id . "'"zwinkern or die(mysql_error());


Aber dan bleibt der fehler!

Avatar user-255
27.05.2006 19:40

Identifier in Backticks, Werte in Hochkommas.
Hier, bekommst ein paar Backticks: ````````````````
Und noch ein paar Hochkommas: '''''''''''''''''''''''

Those who can, do. Those who can't, teach. # Musik gehört dem Volk! # last.fm
user-137
28.05.2006 08:35

Ok, also so:
Werte = das was eingetragen wird
Identifer = wo es eigetragen wird

Dan kommt der fehler:

You have an error in your SQL syntax near '(`sessid` ,`ip`) VALUES ('675b9d345265d1940be76b70149937de', '127.0.0.1'zwinkern WHERE ' at line 1


mysql_query("UPDATE admin(`sessid` ,`ip`) VALUES ('$zufall_sess_id', '" . $_SERVER['REMOTE_ADDR'] . "'zwinkern WHERE id = `" . $row->id . "`"zwinkern or die(mysql_error());


Oder verstehe ich da was Falsch?

Avatar user-118
28.05.2006 08:42

Probiers mal so:


$query=mysql_query("UPDATE `admin` SET `sessid` = '$zufall_sess_id', `ip`= '".$_SERVER['REMOTE_ADDR']."' WHERE `id` = '".$row->id."'"zwinkern or die(mysql_error());

Ich brauche keine Signatur
user-137
28.05.2006 09:09

thx, al3x0r, habs ohne das
$query=

gemacht, hat geklappt, thx!

user-203
28.05.2006 09:29

das widerum hat im prinzip keinerlei bedeutung, nur halt, dass du den rückgabewert in einer variable hast, was dir ja so direkt nichts bringt. Der Query-Text selber ist bei user-118 ganz anders. Deine Variante war mehr eine Mischung aus dem Insert und dem Update-Befehl.

Denkt dran, Kinder auf dem Rücksitz verursachen Unfälle, Unfälle auf dem Rücksitz verursachen Kinder.
Avatar user-118
28.05.2006 10:18

Ist ja gut, dass es nun funzt.
Es setze aus gewöhnung immer eine Variable für den Query, ist für mich übersichtlicher.

mfg Alex

Ich brauche keine Signatur
user-137
02.06.2006 13:38

Hallo,

hab versucht nun mit einem Cookie zu überprüfen ob man sich schon mal eingelogt hatt, nur leider Meldet Firefox immer das die Seite ins unendliche geladen wird!
Wieso?? Habe versucht es selber zu lösen, kriege es aber nicht hin!

<?php ob_start(); ?>
<?php include("../function.ini.php"zwinkern; ?>
<?php include("../config.ini.php"zwinkern; ?>
<?php
$zufall_sess_id_rand = rand("1","" . date("jzHshnY"zwinkern . ""zwinkern;
$zufall_sess_id_cookie_rand = rand("1","" . date("YszhHjn"zwinkern . ""zwinkern;
$zufall_sess_id = md5($zufall_sess_id_rand);
$zufall_sess_id_cookie = md5($zufall_sess_id_cookie_rand);

if (isset($_POST['send']) || $_COOKIE["internetivadminlogin"]!="yes"zwinkern {

$abfrage = mysql_query("SELECT * FROM admin"zwinkern;
$row = mysql_fetch_object($abfrage);
$userfm = md5($_POST['user']);
$userdb = $row->user;
$passworddb = $row->password;
$passwordfm = md5($_POST['pass']);

if ($_COOKIE["internetivadminlogin"]!="" . $row->pass . ""zwinkern {
header('Location: page.php?sess=' . $row->sessid . '&id='. $row->id .''zwinkern;
exit();
}

elseif ($passwordfm == $passworddb AND $userfm == $userdb) { // Wenn richtige angaben wird das ausgeführt!
/* Variablen */
setcookie("internetivadminlogin","" . $row->pass . ""zwinkern;
/* Variablen ENDE */
/* Session in datenbank schreiben */

mysql_query("UPDATE `admin` SET `sessid` = '$zufall_sess_id', `ip` = '".$_SERVER['REMOTE_ADDR']."', `time` = '" . time() . "' WHERE `id` = '".$row->id."'"zwinkern or die(mysql_error());


/* Session in datenbank schreiben ENDE */
// Weiterleiten

header('Location: page.php?sess=' . $zufall_sess_id . '&id='.$row->id.''zwinkern;
exit();
// Weiterleiten ENDE
?>

<br>
<div align="center"><img src="../images/admin/index.jpg"></div><br><br><br><br>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<table align="center" width="682" border="0" cellpadding="0" cellspacing="0">
<tr>
<td id="oben_links"></td>
<td id="oben_mitte"></td>
<td id="oben_rechts"></td>
</tr>
<tr>
<td id="mitte_links"></td>
<td id="mitte_mitte"><h2 align="center">Login erfolgreich </h2><br>
<p align="center">Herzlich Willkommen, <?php echo $row->name ?></p></td>
<td id="mitte_rechts"></td>
</tr>
<tr>
<td id="unten_links"></td>
<td id="unten_mitte"></td>
<td id="unten_rechts"></td>
</tr>
</table><?
}
else {
/* Falsche Angaben */
?>
<br>
<div align="center"><img src="../images/admin/index.jpg"></div><br><br><br><br>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<table align="center" width="682" border="0" cellpadding="0" cellspacing="0">
<tr>
<td id="oben_links"></td>
<td id="oben_mitte"></td>
<td id="oben_rechts"></td>
</tr>
<tr>
<td id="mitte_links"></td>
<td id="mitte_mitte"><h2 align="center">Login</h2>
<table width="100%" border="0">
<tr>
<td>Benutzername:</td>
<td><input name="user" type="text"></td>
</tr>
<tr>
<td>Passwort:</td>
<td><input name="pass" type="password"></td>
</tr>
<tr>
<td>&nbsp;</td>
<td><input name="send" type="submit" value="Login"></td>
</tr>
</table><p align="center"><b>Fehler:</b> Die Zugangsdaten sind nicht korrekt!</p></td>
<td id="mitte_rechts"></td>
</tr>
<tr>
<td id="unten_links"></td>
<td id="unten_mitte"></td>
<td id="unten_rechts"></td>
</tr>
</table></form>
<?
}
}

else {
/* Enter Screen */
?><br>
<div align="center"><img src="../images/admin/index.jpg"></div><br><br><br><br>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<table align="center" width="682" border="0" cellpadding="0" cellspacing="0">
<tr>
<td id="oben_links"></td>
<td id="oben_mitte"></td>
<td id="oben_rechts"></td>
</tr>
<tr>
<td id="mitte_links"></td>
<td id="mitte_mitte"><h2 align="center">Login</h2>
<table width="100%" border="0">
<tr>
<td>Benutzername:</td>
<td><input name="user" type="text"></td>
</tr>
<tr>
<td>Passwort:</td>
<td><input name="pass" type="password"></td>
</tr>
<tr>
<td>&nbsp;</td>
<td><input name="send" type="submit" value="Login"></td>
</tr>
</table><p align="center">&nbsp;</p></td>
<td id="mitte_rechts"></td>
</tr>
<tr>
<td id="unten_links"></td>
<td id="unten_mitte"></td>
<td id="unten_rechts"></td>
</tr>
</table></form>
<?
}
?>
<script type="text/javascript" src="../js/prototype.js"></script>
<script type="text/javascript" src="../js/scriptaculous.js?load=effects"></script>
<script type="text/javascript" src="../js/lightbox.js"></script>
<!-- Hier endet das Einbinnden der JS Datein -->
<!-- Hier beginnt das Einbinnden der CSS Datein -->
<link rel="stylesheet" type="text/css" href="../css.css">
<link rel="stylesheet" type="text/css" href="../css/lightbox.css" media="screen" />
<title>Internetiv | Administration | Login</title>

Avatar user-255
02.06.2006 13:48

Original von user-137
leider Meldet Firefox immer das die Seite ins unendliche geladen wird!

Genaue Fehlermeldung?

Those who can, do. Those who can't, teach. # Musik gehört dem Volk! # last.fm
user-137
02.06.2006 14:44

...

Avatar user-255
02.06.2006 14:52

Komisch Ding. Vielleicht solltest vor exit() mal den Ausgabepuffer leeren.. (?)

Hat die Schreibweise eigentlich nen tieferen Sinn?
"" . $a . ""

Those who can, do. Those who can't, teach. # Musik gehört dem Volk! # last.fm