Wiedermal was mit Cookies!!

if ($_cookie['user'] <> '')
Das hilft mir nicht so wirklich weiter!!
Sagen wir es hat sich jemand eingeloggt und ein Cookie namens nick hat den nick RUDI gespeichert!!
Wie mache ich das jetzt? If ($_cookie['nick'] = $nick ?????
 
if ($_cookie['user'] <> '')
Das hilft mir nicht so wirklich weiter!!
Sagen wir es hat sich jemand eingeloggt und ein Cookie namens nick hat den nick RUDI gespeichert!!

klar hilft das weiter und ich wage mal zu behaupten in deinem falle nur das hilft weiter

es gibt für dich nur 2 möglichkeiten:

1. es gibt kein cookie (das prüft die if abfrage) dann ist der user NICHT eingeloggt
2. es gibt ein cookie dann ist der user eingeloggt und welcher user es ist sagt dir
der inhalt des cookies (in deinem fall der rudi)

es geht auch so:

if (isset($_cookie['user'])) {
echo "es ist eingeloggt user: ",$_cookie['user'];
} else {
echo "DU bist nicht eingeloggt !!!";
}

der inhalt vom cookie nur wichtig falls du den user anreden möchtes :-)
 
Achso aber ist das nicht irgendwie leicht zu faken? Also, wenn ich mit jetzt z.B. ne eigene Page mache und dort ein Cookie setze mit dem namen nick kommt der typ dann bei mir rein?
Und hält das Cookie dann für lange?? Weil wenn der User sich dann einloggt kommt er auf die index.php dort wird sein Nick nicht gerbaucht aber dann kann er auf DATEN BEARBEITEN klicken und dann brauch ich weider seinen Nick muss ich dann einfach nur:
$_cookie['user']
schreiben?
 
So nun hab ich es mal getestet und mein erstes Problem!!
Ich hab in den Quelltext der index.php geschrieben:
PHP:
<tr>
                  <td class="tab_menu" align="center" width="100%" bgcolor="880000" background="images/bereiche.gif" bgcolor="880000">
                 <? if (isset($_cookie['nick'])) { 
echo "Nick: ",$_cookie['nick'];
       
} else {
echo"                  <form action=\"memberscript/control_login.php\" method=\"post\">
                  <font size=\"1\" face=\"Verdana\"><b>Nickname:</b></font><br><input type=\"text\" name=\"nick\" size=\"14\" style=\"background-image: url('http://www.ifsl2002.de/img/input.gif'); background:880000; color:#FFFFFF; border:1 ridge #000000; font:bold 10px Verdana\"></font></b><br><font size=\"1\" face=\"Verdana\"><b>Passwort:</b></font><b><font face=\"Verdana\" size=\"1\" color=\"#FFFFFF\"><br>
                  <input type=\"password\" name=\"passwort\" size=\"14\" style=\" background-image: url('http://www.ifsl2002.de/img/input.gif'); background:880000; color:#FFFFFF; border:1 ridge #000000; font:bold 10px Verdana\"></font></b><br>
                  <input type=\"submit\" name=\"login\" style=\"background-color:#880000; color:#FFFFFF; border:1 ridge #000000; font:bold 10px Verdana\" value=\"Login\"></form>"; } ?>
                  </TD>
                </tr>
              </table>
              </center>
            </div>
Aber der zeigt immer nur das Formular an!! In der control_login hab ich geschrieben:
PHP:
$dbanfrage = "select * from $tabelle where nick = '$_POST[nick]' and aktiviert= '1' and passwort = '$_POST[passwort]' ";  
$fetchdata = mysql_query($dbanfrage); 
if($fetchdata) { 
// Anzahl der Reihen pruefen 
    $number = mysql_num_rows($fetchdata); 
    if ($number == "1") { 

setcookie("nick",$_POST['nick'],36000);
setcookie("passwort",$_POST['passwort'],36000);
include "../index.php";
}  
else  
{ 
echo "Entweder du hast dich nicht aktiviert oder garnicht erst $nick angemeldet";  }   
}
Wenn ich dann mal in der index.php irgendwo $_cookie['nick'] hinsetze, dann kommt immer:
Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in /is/htdocs/37101/www.ofm2003.de/FWL/index.php on line 69

Warum??
 
naja faken geht schon

aber nicht von einer webseite sondern vom user aus

da der cookie beim user gespeichert ist kann er den inhalt des cookies "editieren" sprich als fremder user einloggen geht ....

und lebensdauer des cookies legst du ja fest :-) im befehl setcookie
(angabe in sekunden)

zu deiner 2. frage jo :-)


nachtrag:

ich sehe grade du machst ein include
nach einem include ist das cookie noch nicht gültig ...
header müsste gehen....
 
Zuletzt bearbeitet:
das macht nix ....

nach dem setcookie muss nur einmal eine neue seite galaden werden
dann kommt das cookie vom browser
zurück ...
 
Jetzt hab ich geschrieben:
PHP:
$dbanfrage = "select * from $tabelle where nick = '$_POST[nick]' and aktiviert= '1' and passwort = '$_POST[passwort]' ";  
$fetchdata = mysql_query($dbanfrage); 
if($fetchdata) { 
// Anzahl der Reihen pruefen 
    $number = mysql_num_rows($fetchdata); 
    if ($number == "1") { 

setcookie("nick",$nick,36000);
setcookie("passwort",$passwort,36000);
echo"Es hat geklappt!!! $_cookie[nick]";
}  
else  
{ 
echo "Entweder du hast dich nicht aktiviert oder garnicht erst angemeldet";  }   
}
Aber da kommt folgende Fehlermeldung:
Warning: Cannot add header information - headers already sent by (output started at /is/htdocs/37101/www.ofm2003.de/FWL/memberscript/control_login.php:11) in /is/htdocs/37101/www.ofm2003.de/FWL/memberscript/control_login.php on line 32

Warning: Cannot add header information - headers already sent by (output started at /is/htdocs/37101/www.ofm2003.de/FWL/memberscript/control_login.php:11) in /is/htdocs/37101/www.ofm2003.de/FWL/memberscript/control_login.php on line 33
Es hat geklappt!!!
 
der fehler kommt immer wenn vorm cookie
irgendwas ausgegeben wurde...

bedeutet
die erste zeile in der control_login.php
muss sein
<?

keine leerzeilen, kein echo, kein head usw..
 
Kein echo??
Also die komplette ich hab das jetzt geändert und die komplette control_login.php heißt jetzt:
PHP:
<?
$host = "23";  # MySQL Host
$user = "23";           # MySQL benutzername
$password = "23";       # MySQL  Passwort
$dbname = "23";              # MySQL Datenbankname
$tabelle = "23";           # TABELLE



//connect 2 mysql 
mysql_connect($host,$user,$password) or die ('Konnte keine Verbindung zum Server herstellen'); 
mysql_select_db($dbname) or die ('Konnte Datenbank nicht auswählen'); 
 
 
$dbanfrage = "select * from $tabelle where nick = '$_POST[nick]' and aktiviert= '1' and passwort = '$_POST[passwort]' ";  
$fetchdata = mysql_query($dbanfrage); 
if($fetchdata) { 
// Anzahl der Reihen pruefen 
    $number = mysql_num_rows($fetchdata); 
    if ($number == "1") { 

setcookie("nick",$nick,36000);
setcookie("passwort",$passwort,36000);
echo"Es hat geklappt!!! $_cookie[nick]";
}  
else  
{ 
echo "Entweder du hast dich nicht aktiviert oder garnicht erst angemeldet";  }   
}  

 
?>
Aber jetzt kommen zwar keine Fehlermeldungen mehr und es steht jetzt auch Es hat geklappt, aber danach ist der Nick nicht zusehen! Warum??
 
Zuletzt bearbeitet:
Zurück