Willkommen in der Webstatt
User-1 am 26.05.06 10:45

Hallo,

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

Quote
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");
$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") . "");
$zufall_sess_id_cookie_rand = rand("1","" . date("YszhHjn") . "");
$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>
<?
}
?>

netcup.de Warum gibt es hier Werbung?
User-2 am 26.05.06 10: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.

User-1 am 26.05.06 13: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") . "");
$zufall_sess_id_cookie_rand = rand("1","" . date("YszhHjn") . "");
$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

User-3 am 26.05.06 14:01

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

User-1 am 26.05.06 14: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") . "");
$zufall_sess_id_cookie_rand = rand("1","" . date("YszhHjn") . "");
$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'] . ") WHERE id = " . $row->id . "";


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


Aber der fehler bleibt!

User-4 am 26.05.06 15:04

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

User-5 am 26.05.06 17:28

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

User-1 am 26.05.06 17:40

oh, hab vergessen den fehler zu geben:

Quote
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'] . ") WHERE id = " . $row->id . "";

User-5 am 26.05.06 17:44

Überleg mal haarscharf.

Waxyz-190, du machst alles kaputt :(

User-4 am 26.05.06 17:44

Quote
Original von xyz-27
oh, hab vergessen den fehler zu geben:

[QUOTE]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'] . ") WHERE id = " . $row->id . "";[/quote]

Na also.

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

Pass auf was du schreibst :)
(Na, findest du den Unterschied?)

EDIT: Sorry @ Milahu ôÒ Gleichschneller Post ;)

User-1 am 26.05.06 18:48

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

User-3 am 26.05.06 19: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 [SIZE=16]functionsname()[/SIZE]; ???
und jetzt schau mal was du gemacht hast

User-1 am 26.05.06 20:17

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

User-1 am 27.05.06 19: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'] . ") WHERE id = " . $row->id . "");

Auch nicht, wieso??

Mfg. BNS

User-5 am 27.05.06 19:41

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

User-1 am 27.05.06 19: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

User-6 am 27.05.06 19:59

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

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


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

User-1 am 27.05.06 21:21

so?:

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

Aber dan bleibt der fehler!

User-5 am 27.05.06 21:40

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

User-1 am 28.05.06 10:35

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

xyz-48 kommt der fehler:

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


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

Oder verstehe ich da was Falsch?

User-7 am 28.05.06 10:42

Probiers mal so:

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

User-1 am 28.05.06 11:09

thx, al3x0r, habs ohne das
$query=
gemacht, hat geklappt, thx!

User-2 am 28.05.06 11: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 xyz-8 ganz anders. Deine Variante war mehr eine Mischung aus dem Insert und dem Update-Befehl.

User-7 am 28.05.06 12: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

User-1 am 02.06.06 15: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"); ?>
<?php include("../config.ini.php"); ?>
<?php
$zufall_sess_id_rand = rand("1","" . date("jzHshnY") . "");
$zufall_sess_id_cookie_rand = rand("1","" . date("YszhHjn") . "");
$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") {

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

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

elseif ($passwordfm == $passworddb AND $userfm == $userdb) { // Wenn richtige angaben wird das ausgeführt!
/* Variablen */
setcookie("internetivadminlogin","" . $row->pass . "");
/* 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."'") or die(mysql_error());


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

header('Location: page.php?sess=' . $zufall_sess_id . '&id='.$row->id.'');
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>xyz-19utzername:</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>xyz-19utzername:</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/scriptacuxyz-123s.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>

User-5 am 02.06.06 15:48

Quote
Original von xyz-27
leider Meldet Firefox immer das die Seite ins unendliche geladen wird!

Genaue Fehlermeldung?

User-1 am 02.06.06 16:44

...

User-5 am 02.06.06 16:52

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

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

Creative Commons Lizenzvertrag
Alle Inhalte des Webstatt-Archivs stehen unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Unported Lizenz.

Impressum & Kontakt