Selecteer data uit mysql database en opslaan als cookie

Status
Niet open voor verdere reacties.

snorretje

Gebruiker
Lid geworden
4 apr 2013
Berichten
23
hallo,

Ik heb weer eens een vraagje.
Mijn probleem is dat ik wil dat er een cookie word aangemaakt met data uit mijn database.
Maar dat lukt niet. Ik heb al heel veel codes geprobeerd en erover nagedacht.
Ik hoop hier het antwoord te vinden.
Mijn code die ik tot nu toe al bij elkaar gesprokkeld heb:
PHP:
<?php
$con=mysqli_connect("localhost","XXX","XXX","XXX");
// Check connection
if (mysqli_connect_errno()) {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

$user = $_COOKIE['user'];
$controle = Tja wat moet hier nu;

setcookie("controle", $controle,  time()+60*30, "/", "PAD", 0);

echo $_COOKIE['user'];
echo "<br>";
echo $_COOKIE['controle'];
?>

Je ziet dat de variable "controle" de waarde van controle uit de database moet krijgen waar de username is gelijk aan de username.

Ik hoop dat ik voldoende info heb gegeven.
zoniet? laat maar weten.

Groetjes AJP

- - - -

pas 14 dus beetje rescpect aub!
 
Laatst bewerkt:
Je moet dus een query naar de database sturen waarbij een vergelijking wordt gedaan.

Je slaat nu een username op in een cookie, het is dus aannemelijk dat je een record op gaat vragen waarbij de username gelijk is aan de waarde van de cookie.
Nu zal dit alleen een doeltreffende methode zijn wanneer een username uniek in de database voorkomt anders heb je er weinig aan.

Zodra je een record terugkrijgt uit de database is het dus schijnbaar een geldige user en kun je de controle waarde wijzigen naar iets dat jij als "geldig" wilt aanmerken.
 
hoi,

Ik heb er uiteraard rekening mee gehouden dat er maar een username kan voorkomen.

Het probleem is ondertussen ook al opgelost.
Wil je een kijkje nemen?

klik hier

groetjes

AJP

- - - -

pas 14 dus beetje rescpect aub!
 
Laatst bewerkt:
Wat is de oplossing geweest dan? :)

Aan een HTML-pagina hebben we niet veel want daar zie je de PHP-code niet ;)
 
Op de plaats waar je login gegevens gecontroleerd worden heb ik deze code gebruikt
PHP:
setcookie("controle", 0,  time()+60*30, "/", "website.be", 0);
$controle = $value->controle;
header("location:controle.php?ct=$controle");

dan ga je naar de controle pagina waar de uiteindelijke cookie word aangemaakt

PHP:
$controle = $_GET['ct'];

setcookie("controle", $controle,  time()+60*30, "/", "website.be", 0);

header("location:login_success.php");

meschien een beetje omslachtig maar als er een andere manier is sta ik daar voor open:cool:

groetjes

AJP

- - - -

pas 14 dus beetje rescpect aub!
 
Laatst bewerkt door een moderator:
Wat is het idee achter die "controle"-cookie?

Je maakt hem tijdens het inloggen aan met waarde 0 en stuurt de gebruiker vervolgens door naar een pagina waar een waarde ($controle) als $_GET-parameter meegestuurd wordt.

Vervolgens wijzig je de waarde van de eerder aangemaakt "controle"-cookie naar de waarde die meegegeven wordt.

Volgens mij kun je beter dit doen tijdens het inloggen:
PHP:
setcookie("controle", $value->controle,  time()+60*30, "/", "website.be", 0);
header("location:login_success.php");
Je controleert op controleer.php toch verder niets dus is dat een redelijk loos bestand. Dan kun je dat net zo goed direct bij het inloggen doen.

Wat voor waarde komt er in de "controle"-cookie? Waarvoor gebruik je daarna de cookie?

PS: Ik begrijp niet helemaal waarom je met "pas 14 dus beetje respect aub!" komt, respect moet je verdienen en als je wilt dat ik dingen anders uitleg moet je dat gewoon vragen ;)
 
oh, met die ben pas 14 bedoelde ik helemaal niets.
Ik wou er alleen mee aangeven dat ik nog niet alles onder controle heb.
En dat ik nog niet alles snap.

Mijn site moet een control panel worden voor mijn apps die gemaakt heb.
Hier moeten verscheidenen apps komen te staan. Je kunt hier ook je persoonlijke informatie bekijken.
Als jij die persoonlijke informatie wilt ophalen dan ga je naar een pagina.
Daar word informatie opgehaal met mysql uit de rij waar jouw username is.
En die username word opgeslagen in een cookie.
Die cookie is makkelijk te bewerken. Enzo kun je dus data uit de database halen van anderen.
Daarom heb ik een controle kolom gemaakt waar iedere keer als je inlogt een unieke code van X aantal cijfers wordt gezet.
Dus als er nu data wordt weergegeven waar de username gelijk is en het controle nummer gelijk is.
Eigenlijk dus een extra soort beveiliging.

Groetjes

AJP
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan