Beste,
Ik ben sinds vandaag begonnen met mysqli
Alleen zit ik nu met het volgende:
Voorheen riep ik mijn data aan doormiddel van:
en dan riep ik dus de gegevens op doormiddel van:
Hoe doe ik dit in MYSQLI?
Gr Mick
Beste,
Ik ben sinds vandaag begonnen met mysqli
Alleen zit ik nu met het volgende:
Voorheen riep ik mijn data aan doormiddel van:
en dan riep ik dus de gegevens op doormiddel van:
Hoe doe ik dit in MYSQLI?
Gr Mick
En hoe roep ik zoiets op dan? En reza check je mail eens had je een vraag gesteld ivm sessie id
// $db zelf in te vullen, idem voor de variabelen erin | DATABASE VERBINDING
$db = new mysqli($dbhost, $username, $password, $database);
// fetchen, weet niet zeker of () op het einde erbij hoort, werkt het niet haal je het weg.
$data = $db->query("SELECT * FROM users")->fetch_assoc();
// echo gebruikersnaam
echo $data['gebruikersnaam'];
Bestaat $mysqli ?
(dats dus $db in mijn voorbeeld, die moet je dan wel opzetten; een mysqli db connectie)
ja die bestaat maar hij weergeeft niks.. kan dit komen omdat SESSION id niet werkt? ik krijg het niet werkend
Query:
Login sessie:
Ik snap ff je beredenering niet bij $_SESSION['id'].
$user wordt aangemaakt dankzij de sessie ID.
De sessie ID wordt aangemaakt door $user.
(kan niet xD)
heb je bovenin wel session_start(); staan? overigens, kijk eens naar PDO. stukken veiliger als je het goed gebruikt.
Reza heeft mij super geholpen!
Hou je er rekening mee dat een sessie id gebruiken niet veilig is... sessies zijn makkelijk te verkrijgen via een man in the middle attack, verander het nummer in bijv. een 1 (meestal een admin acc) en je bent ingelogd als admin.
dankjewel M.Beers
Nu heb ik nog 1 vraag:
Ik wil een get functie gebruiken in mysqli
Stukje code:
En dan op de pagina moet hij dus kijken of gebruikersnaam=NAAM wel bestaat, niet leeg is en klopt het dan moet je geen error krijgen maar een formulier
Ik heb nu dit:
if (isset($_GET["gebruikersnaam"]))
{
echo 'FORMULIER';
}
else
{
echo 'Deze gebruiker bestaat niet';
}
?>
maar dit werkt niet?
Hou je er rekening mee dat een sessie id gebruiken niet veilig is... sessies zijn makkelijk te verkrijgen via een man in the middle attack, verander het nummer in bijv. een 1 (meestal een admin acc) en je bent ingelogd als admin.
sessies kun je alleen op de server wijzigen, dus het nummer veranderen in een 1 zorgt ervoor dat je enkel een ongeldige sessie id heb. cookies zijn client-side, die moet je niet vertrouwen, maar de sessie staat op de server. enige waar je wel op moet letten is dat je sessie niet wordt ge-hijacked, dus in je php controleren of bepaalde waarden overeenkomen en gebruik maken van een SSL-beveiliging zodat een MITM-aanval nutteloos wordt.
aam=NAAM wel bestaat, niet leeg is en klopt het dan moet je geen error krijgen maar een formulier
Toon Meerdankjewel M.Beers
Nu heb ik nog 1 vraag:
Ik wil een get functie gebruiken in mysqli
Stukje code:
En dan op de pagina moet hij dus kijken of gebruikersnaam=NAAM wel bestaat, niet leeg is en klopt het dan moet je geen error krijgen maar een formulier
Ik heb nu dit:
PHPif (isset($_GET["gebruikersnaam"])) { echo 'FORMULIER'; } else { echo 'Deze gebruiker bestaat niet'; } ?>
maar dit werkt niet?
Heel simpel, je maakt een select query en zet er num_rows erbij.
Ook dit kan je chainen met -> num_rows
Alweer opgelost door Reza
Hoe?
hij heeft mij geholpen en heb het niet meer via sessie id gedaan maar dat hij alles oproept via gebruikersnaam / sessie is ingelogd etc! dus je kan nu niets meer hacken. alles is met prepared statement gedaan!
Wat zijn prepared statement?
[google]PDO Prepared Statements[/google]
zorgen ervoor dat je geen SQL-injecties meer kan uitvoeren, beter dan enkel te escapen via de oude mysql_*
// $db zelf in te vullen, idem voor de variabelen erin | DATABASE VERBINDING
$db = new mysqli($dbhost, $username, $password, $database);
// lid zoeken
$query= $db->query("SELECT * FROM users WHERE id= '".$_SESSION['id']."'");
// fetchen
$data = $query->fetch_object();
// echo gebruikersnaam
echo $data->gebruikersnaam;
/* Dit is de manier hoe ik altijd een query doe fetchen en nooit geen problemen mee :) */
Toon Meer
Heb je nog geen account? Registreer je nu en word deel van onze community!