| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |

29-05-2004, 23:03
|
|
Simon9990
Junior Member
|
|
Registriert seit: May 2004
Beiträge: 69
|
|
Login mit Cookies
Hi
Also ich tu da schon bestimmt seit 4 Wochen herum.
Und bitte verweist mich jetzt nicht auf ein Tutorial für Cookies.
Die hab ich schon bestimmt alle  durch.
Also meine Frage ist wie mache ich das wenn einer seinen Browser schließt das er dann trotzdem eingelogged bleibt.
Ich weiss das das mit Cookies geht.
Aber was muss ich in diese Cookkies speichern?
Ja also ich muss doch bestimmt die User di bzw den Benutzernamen und das Passwort speichern.
Aber wie speichere ich die?
Oder mach ich da 2 Cookies?
Und wie und wo lese ich diese wieder aus?
Gruss Simon
|

29-05-2004, 23:21
|
Abraxax
  THE REAL HAXE (Administrator)
|
|
Registriert seit: Jul 2002
Ort: neuss.nrw.de
Beiträge: 22.621
|
|
Re: Login mit Cookies
Zitat:
Original geschrieben von Simon9990
Aber wie speichere ich die?
|
www.php.net/set_cookie
Zitat:
Original geschrieben von Simon9990
Und wie und wo lese ich diese wieder aus?
|
in $_COOKIE steht alles drin.
|

29-05-2004, 23:40
|
|
Simon9990
Junior Member
|
|
Registriert seit: May 2004
Beiträge: 69
|
|
Hi ich meine jetzt aber ich muss ja zwei Werte hinein specihern.
Wie kann ich zwei Variablen reinspeichern.
Und zweitens muss ich da einfach am Anfang der Seite das Cookie wieder mit print auslesen und dann ist der User eingelogged oder wie mach ich das sonst?
Gruss Simon
|

30-05-2004, 00:29
|
|
xManUx
Registrierter Benutzer
|
|
Registriert seit: Feb 2004
Beiträge: 833
|
|
Zitat:
Original geschrieben von Simon9990
Hi ich meine jetzt aber ich muss ja zwei Werte hinein specihern.
Wie kann ich zwei Variablen reinspeichern.
Und zweitens muss ich da einfach am Anfang der Seite das Cookie wieder mit print auslesen und dann ist der User eingelogged oder wie mach ich das sonst?
Gruss Simon
|
ich fange mal an das php-buch virtuell zu zerstückeln ( bald hat keiner mehr was davon  )
da stehts doch
PHP-Code:
<?php
$value = 'something from somewhere';
setcookie("TestCookie", $value);
setcookie("TestCookie", $value, time()+3600); /* expire in 1 hour */
setcookie("TestCookie", $value, time()+3600, "/~rasmus/", ".example.com", 1);
?>
der rest steht doch ausführlich da drin.. ( möcht die seite ja nicht ganz ruinieren ) RTFMAOYE ( ReadTheF******ManualAndOpenYourEyes )
|

30-05-2004, 10:54
|
|
Simon9990
Junior Member
|
|
Registriert seit: May 2004
Beiträge: 69
|
|
Hi aber da bleibt immer noch das Problem wie lese ich die dann aus?
Kann ich die Cookies/Datne in den Cookies dann in die Sessions geben und den Rest per
PHP-Code:
$result = mysql_query("Select * FROM user WHERE id = $Cookie['pid']");
Oder wie mach ich das sonst???
Gruss Simon
|

30-05-2004, 15:15
|
|
eurohasi
Newbie
|
|
Registriert seit: May 2004
Ort: C:/Eigene Dateien ;-)
Beiträge: 23
|
|
ich denke mal du loggst dich ein, mit folgendem code anbei:
PHP-Code:
// du kannst die zwei sachen zusammen hängen:
$value = $userid .".". $pwd;
setcookie("Name", $value ,$time()+60*60*24);
und dann im nächsten script:
PHP-Code:
// wieder auseinander hängen:
$value = explode(".", $_COOKIE[Name]);
$id = $value[0];
$pwd = $value[1];
$result = mysql_query("Select * FROM user WHERE id = $id ");
ich denke das ist verständlich .
__________________
"Die Menschheit muss lernen den Krieg zu besiegen, sonst besiegt der Krieg die Menschheit!"
John F. Kennedy
|

30-05-2004, 18:05
|
|
Simon9990
Junior Member
|
|
Registriert seit: May 2004
Beiträge: 69
|
|
hi also ich versteh das immer noch nicht ganz
Kann mir das jemand bite anhand dieses Beispiels machen?
PHP-Code:
<?php
// Session starten
session_start ();
setcookie(login,$row['name'],time()-3600*24*31);
// Datenbankverbindung aufbauen
$connectionid = mysql_connect ("localhost", "*", "*");
if (!mysql_select_db ("*", $connectionid))
{
die ("Keine Verbindung zur Datenbank");
}
$sql = "SELECT
id, name, rang
FROM
usertabelle
WHERE
(name like '".$_REQUEST["name"]."') AND (pw = '".md5 ($_REQUEST["pw"])."')";
$result = mysql_query ($sql);
if (mysql_num_rows ($result) > 0)
{
// Benutzerdaten in ein Array auslesen.
$data = mysql_fetch_array ($result);
// Sessionvariablen erstellen und registrieren
$_SESSION["user_id"] = $data["id"];
$_SESSION["name"] = $data["name"];
$_SESSION["pw"] = $data["pw"];
$_SESSION["rang"] = $data["rang"];
}
else
{
header ("Location: formular.php?fehler=1");
}
?>
Gruss Simon
Geändert von mrhappiness (20-06-2004 um 11:56 Uhr)
|

30-05-2004, 20:45
|
|
Simon9990
Junior Member
|
|
Registriert seit: May 2004
Beiträge: 69
|
|
Also halt das wo steht setcookie da hab ich mal selbst probiert.
aber was füge ich dann ein?
Gruss Simon
oder wie?
|

31-05-2004, 12:46
|
|
xManUx
Registrierter Benutzer
|
|
Registriert seit: Feb 2004
Beiträge: 833
|
|
kann es sein, dass Du zu faul bist mal in das Manual zu gucken? Cookies sind eines der einfachsten Themen überhaupt.. ( meine Meinung ) oder hast Du Tomaten auf den Augen?
Zitat:
|
setcookie(login,$row['name'],time()-3600*24*31);
|
was soll denn sowas?
1. würde das nicht login heißen, sondern "login"
2. was soll $row['name'] werden wenn das fertig ist?
3. müsste das wenn dann + statt - heißen
4. mit klammern zumindest eine! ( time()+3600*24*31 )
5. kann das cookie auf der selben seite ferner nicht mal existenz nicht auf der gleichen seite verwendet werden...
schau doch mal ins handbuch??
__________________
Es kommt nicht darauf an, mit dem Kopf durch den Monitor zu rennen,
sondern mit den Augen das Manual zu lesen.
|

31-05-2004, 18:12
|
|
Simon9990
Junior Member
|
|
Registriert seit: May 2004
Beiträge: 69
|
|
Hallo
Also das ist ja nicht das Problem ich hab hier nur das falsche Script gepostet.
Nur wie mach ich das für dieses Script.
Ich versteh das irgendwie nicht.
PHP-Code:
<?php
include("mysql.php");
if (isset($_POST['logout']))
{
$skeys = array_keys($_SESSION);
foreach($skeys as $sk)
unset($_SESSION[$sk]);
session_destroy();
}
if (isset($_POST['login']) && isset($_POST['name1']) && 0 < strlen($_POST['name1'])
&& isset($_POST['pw1']) && 0 < strlen($_POST['pw1'])
)
{
$n = mysql_escape_string($_POST['name1']);
$pw = md5($_POST['pw1']);
$query = "SELECT * FROM $usertable WHERE LCASE(name)=LCASE('$n') AND pw='$pw'";
$connect = mysql_query($query) or die(mysql_error());
if (mysql_num_rows($connect)==1)
{
list($_SESSION['id'],$_SESSION['name'],$_SESSION['rang'],$_SESSION['email'],$_SESSION['avatar'],$_SESSION['hobbies'])
= mysql_fetch_row($connect);
}
else
$error = 'Benutzerkennung/Passwort falsch';
}
if (!isset($_SESSION['name']))
{ ?>
<table width="173" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="8" bgcolor="#e7e7e7"><div align="center"><img src="http://sunInfo.spacig.de/Templates/bar01.jpg" width="8" height="22"></div></td>
<td width="157" background="http://sunInfo.spacig.de/Templates/bar02.jpg" bgcolor="#e7e7e7"><div align="center"><strong>Login</strong></div></td>
<td width="8" bgcolor="#e7e7e7"><img src="http://sunInfo.spacig.de/Templates/bar03.jpg" width="8" height="22"></td>
</tr>
<tr>
<td height="91" colspan="4"><table width="173" border="0" cellpadding="0" cellspacing="0">
<tr>
<td height="91" background="http://sunInfo.spacig.de/Templates/space.gif"><table width="173" border="1" cellpadding="0" cellspacing="0">
<tr>
<td height="89" bgcolor="#e7e7e7"><form method="POST" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<table width="168" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="39">Name</td>
<td width="117"><input type="text" name="name1" size="14" />
<input type="hidden" name="login" value="login" />
</td>
</tr>
<tr>
<td width="39">Passw</td>
<td width="117"><input type="password" size="14" name="pw1" />
</td>
</tr>
<tr>
<td width="39"> </td>
<td width="117"><input type="submit" name="login" value="Login">
</td>
</tr>
<?php if(isset($error)) { ?>
<tr>
<td width="39"> </td>
<td width="117"><?php echo $error; ?> </td>
</tr>
<?php } ?>
</table>
</form></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
<?php
}
else
{ ?>
<p>angemeldet als: <?php echo $_SESSION['name']; ?>
</p>
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<input type="submit" name="logout" value="abmelden" />
</form>
<?php
}
ob_end_flush();
?>
<p> </p>
|

19-06-2004, 20:01
|
|
Nico_Schubert
Registrierter Benutzer
|
|
Registriert seit: Apr 2003
Beiträge: 27
|
|
Zitat:
Original geschrieben von Simon9990
hi also ich versteh das immer noch nicht ganz
Kann mir das jemand bite anhand dieses Beispiels machen?
PHP-Code:
<?php
// Session starten
session_start ();
setcookie(login,$row['name'],time()-3600*24*31);
// Datenbankverbindung aufbauen
$connectionid = mysql_connect ("localhost", "*", "*");
if (!mysql_select_db ("*", $connectionid))
{
die ("Keine Verbindung zur Datenbank");
}
$sql = "SELECT
id, name, rang
FROM
usertabelle
WHERE
(name like '".$_REQUEST["name"]."') AND (pw = '".md5 ($_REQUEST["pw"])."')";
$result = mysql_query ($sql);
if (mysql_num_rows ($result) > 0)
{
// Benutzerdaten in ein Array auslesen.
$data = mysql_fetch_array ($result);
// Sessionvariablen erstellen und registrieren
$_SESSION["user_id"] = $data["id"];
$_SESSION["name"] = $data["name"];
$_SESSION["pw"] = $data["pw"];
$_SESSION["rang"] = $data["rang"];
}
else
{
header ("Location: formular.php?fehler=1");
}
?>
Gruss Simon
|
Alles Schönen und Gut, aber Poste Deine Daten von der Datenbank nicht.
mfg. Nico
Geändert von mrhappiness (20-06-2004 um 11:56 Uhr)
|

20-06-2004, 11:57
|
|
mrhappiness
PHP Guru
|
|
Registriert seit: Oct 2002
Beiträge: 14.890
|
|
Zitat:
Original geschrieben von Nico_Schubert
Alles Schönen und Gut, aber Poste Deine Daten von der Datenbank nicht.
mfg. Nico
|
an und für sich lobenswert, aber wenn du nochmal seine zugangsdaten zitierst und ich wegen dir 2 beiträge editieren muss, dann...
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|