/ Forside/ Teknologi / Udvikling / PHP / Spørgsmål
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Php cookies???
Fra : Yumatci
Vist : 3213 gange
50 point
Dato : 08-02-05 16:43

Jeg er begyndt at eksperimentere med php og cookies! Og har lavet følgende php fil:

Kode
<?php
$passwd = "none";
$user = "Tobias";
$samlet = $user.'&'.$passwd;

setcookie("mobilforum", $samlet, time()+36000);

$cookie_info = explode("&", $cookie_data);
$user = $cookie_info[0];
$passwd = $cookie_info[1];

echo "User: ".$user. " Passwd: ".$passwd;
?>


Og når jeg kører php filen så får jeg en cookie som jeg skal! Men den udskriver bare ikke variablerne $user og $passwd Hvad kan der være galt???

Hjælp!!!

Hilsen Yumatci


 
 
Kommentar
Fra : natmaden


Dato : 08-02-05 17:00

din side skal først opdateres for at kunne hente den tilbage.

Kommentar
Fra : natmaden


Dato : 08-02-05 17:04

Tror du finder løsningen her.
http://dk2.php.net/manual/da/function.setcookie.php

Hilsen Natmaden

Kommentar
Fra : Yumatci


Dato : 08-02-05 17:07

Ok kan jeg ikke lave sådan at jeg har to filer sådan her:

setcookie.php

Kode
<?php
$passwd = "none";
$user = "Tobias";
$samlet = $user.'&'.$passwd;

setcookie("mobilforum", $samlet, time()+36000);

// kald hentcookie.php filen
?>


hentcookie.php

Kode
<?php
$cookie_info = explode("&", $cookie_data);
$user = $cookie_info[0];
$passwd = $cookie_info[1];

echo "User: ".$user. " Passwd: ".$passwd;
?>


Sådan at der hvor der står kald hentcookie.php der kalder den filen hentcookie.php får så burde den jo være updateret!

Accepteret svar
Fra : natmaden

Modtaget 60 point
Dato : 08-02-05 17:39

jo du kan og husk at cookies høre til inden html.
er siden først begyndt at dannes, er det for sent med cookien. *(tror jeg nok)*

Jeg tror at denne virker men har ikke prøvet den endnu !
Kode
<?php
$passwd = "none";
$user = "Tobias";
$samlet = $user.'&'.$passwd;

setcookie("mobilforum", $samlet, time()+36000);

// kald hentcookie.php filen
header("Location: hentcookie.php");
exit;

?>

NB.
den originale skrivmåde er
header("Location: http://www.example.com/");
og efter serveropsætning kan man være nød til at fuske lidt med den.

http://dk.php.net/manual/da/function.header.php

Kommentar
Fra : Yumatci


Dato : 08-02-05 17:43

Det virker ikke den udskriver stadig ikke variablerne!

Kommentar
Fra : natmaden


Dato : 08-02-05 17:53

kikker tilbage om et par timer

Kommentar
Fra : Yumatci


Dato : 08-02-05 20:28

Jeg har fået det til at virke og nu prøvde jeg så at blande det sammen med mit login og får fejl!

index.htm

Kode
<html>

<head>
<title>Webzite forum</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>

<body>

<div id="menu">
</div>

<div id="overskrift">
<p><b>The Mobil Forum</b></p>
</div>

<div id="login" align="center">
<p><u><b>Login</b></u></p>
<form action="login.php" method="post">
<p>Brugernavn: </p><input type="text" name="bruger">
<p>Password: </p><input type="password" name="passwd">

<input type="submit" value="Login">
<a href="opret.htm">Opret ny bruger</a>
</form>
</div>

</body>

</html>


style.css

Kode
#menu {
position:absolute;
top: 152px;
left: 0px;

width: 1000px;
height: 10px;

background-color: #000;

}

#overskrift {
position:absolute;
top: 180px;
left: 400px;


font-size: 30px;
}

#login {
border-width: 1px;
border-style: solid;

position:absolute;
top: 300px;
right: 10px;

height: 270px;
width: 200px;

background-color: #CCCCCC;

}



login.php

Kode
<?php

include("connect.php");

connectdata();

$bruger = $_REQUEST["bruger"];
$passwd = $_REQUEST["passwd"];



$hent = mysql_query("SELECT * FROM brugere WHERE bruger = '$bruger' AND passwd = '$passwd'");

if($data = mysql_fetch_array($hent)) {

echo "Du er nu logget ind!";
setcookie("user", $bruger, time()+3600);
setcookie("passwd", $passwd, time()+3600);
mysql_close();
exit;
}
else {
echo "Forkert password/brugernavn prøv igen!";
mysql_close();
exit
}
?>


connect.php

Kode
<?php
function connectdata() {

$server = "localhost";
$bruger = "root";
$kode = "";
$database = "test";

if (!mysql_connect("$server","$bruger","$kode")) {
echo "Kunne ikke oprette en forbindelse til MySQL.";
}

if(!mysql_select_db("$database")) {
echo "Kunne ikke vælge databasen: $database";
}
}
?>


Når jeg kører index.htm og logger ind med et brugernavn og password der allerede eksistere. Så sender den oplysninger til login.php som den skal og der skal den så oprette en cookie men istedet skriver den denne fejl:

Du er nu logget ind!
Warning: Cannot modify header information - headers already sent by (output started at c:\apache\htdocs\gaestebog\login\connect.php:19) in c:\apache\htdocs\gaestebog\login\login.php on line 17

Warning: Cannot modify header information - headers already sent by (output started at c:\apache\htdocs\gaestebog\login\connect.php:19) in c:\apache\htdocs\gaestebog\login\login.php on line 18

Kommentar
Fra : Yumatci


Dato : 08-02-05 21:55

Det er det med at jeg laver cookien skal stå i headeren men hvordan kan den fejl rettes kan jeg ikke bruge ob_start() og ob_flush() på en eller anden måde???

Godkendelse af svar
Fra : Yumatci


Dato : 11-02-05 08:46

Tak for svaret natmaden.
                        

Du har følgende muligheder
Eftersom du ikke er logget ind i systemet, kan du ikke skrive et indlæg til dette spørgsmål.

Hvis du ikke allerede er registreret, kan du gratis blive medlem, ved at trykke på "Bliv medlem" ude i menuen.
Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408926
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste