ID in url met $_GET functie
Ik maak een site met profielen die ik zelf heb aangemaakt. Nou wil ik dat elk id een eigen pagina krijgt (dus ?id=1), en ik heb het geprobeerd met de $_GET function, maar ik krijg het niet voor elkaar.
Het liefst zou ik ze vervolgens wijzigen in bv. /Lionel_Messi, maar dat moet via .htaccess denk ik?
Alvast bedankt (Y)
Zorg er wel voor dat je dan de unieke username opvraagt via GET. Dan valt dit eenvoudig te herschrijven met .htaccess.
Gewijzigd op 31/10/2015 18:30:59 door - Ariën -
- Ariën - op 31/10/2015 18:30:40:
Bedankt voor je reactie Ariën. Het probleem is alleen dat het al een stap eerder misgaat, ik krijg dat met die $_GET namelijk niet voor elkaar.
Wat heb je nu precies aan code?
- Ariën - op 31/10/2015 18:44:48:
Wat heb je nu precies aan code?
Ik had een tutorial gevolgd waarin dit de code was, daar ging het alleen om een registratiesysteem. Het probleem is alleen dat ik zelf niet goed begrijp wat er gebeurt, en het dan ook niet goed kan vertalen naar mijn eigen wensen.
Functions.php
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
require("config.php");
function getId($username)
{
$q = mysql_query("SELECT `id` FROM `profielen` WHERE `username`='".$username."'");
while($r = mysql_fetch_assoc($q))
{
return $r['id'];
}
}
?>
require("config.php");
function getId($username)
{
$q = mysql_query("SELECT `id` FROM `profielen` WHERE `username`='".$username."'");
while($r = mysql_fetch_assoc($q))
{
return $r['id'];
}
}
?>
Index.php
Code (php)
Ik heb me er al behoorijk in verdiept, maar er gaat me toch nog veel boven de pet. Daarnaast heb ik geen 'username'. Ik heb van alles geprobeerd met bv 'naam' ipv 'username' maar ik krijg het niet voor elkaar. Ik roep alles aan dmv $row['naam'] ik weet niet hoe ik daar een variabele van kan maken.
Welke velden kent je profielen-tabel?
id, naam, voornaam, tussenvoegsel, land, geboortedatum
De enige oplossing is om zelf een unieke username te genereren voor de gebruiker, en deze door hen aan te laten passen naar hun wens.
Gewijzigd op 31/10/2015 19:42:55 door - Ariën -
Toevoeging op 31/10/2015 19:49:19:
- Ariën - op 31/10/2015 19:33:16:
Hoe wil je dan een unieke naam in de URL gebruiken? Het enige wat nu uniek is zal het ID zijn. Want wat als er nu meerdere Jan Janssen's zijn?
De enige oplossing is om zelf een unieke username te genereren voor de gebruiker, en deze door hen aan te laten passen naar hun wens.
De enige oplossing is om zelf een unieke username te genereren voor de gebruiker, en deze door hen aan te laten passen naar hun wens.
Ik heb alleen geen 'gebruikers', ik maak gewoon 'statische profielen' aan. De gehele naam gebruiken volstaat ook niet? Want ik verwacht eigenlijk geen dubbelgangers.
Verder raad ik aan om de MySQL functie te herschrijven naar MySQLi-functies, gezien ze eruitgaan in versie PHP 7.
Quote:
Ik heb alleen geen 'gebruikers', ik maak gewoon 'statische profielen' aan. De gehele naam gebruiken volstaat ook niet? Want ik verwacht eigenlijk geen dubbelgangers.
"Never make assumptions!" Er zijn meer Jan de Boer'en, Jan Janssen en Klaas Pieterssen op de wereld dan je denkt. of onderscheid ze met een unieke username, of een met een ID-nummer.
Gewijzigd op 31/10/2015 19:55:32 door - Ariën -
- Ariën - op 31/10/2015 19:49:48:
Dan kan je toch gewoon de id in GET gebruiken i.p.v. een username?
Verder raad ik aan om de MySQL functie te herschrijven naar MySQLi-functies, gezien ze eruitgaan in versie PHP 7.
Verder raad ik aan om de MySQL functie te herschrijven naar MySQLi-functies, gezien ze eruitgaan in versie PHP 7.
En net dat kan ik dus niet, vandaar mijn vraag. Zou je me kunnen uitleggen hoe ik het werkend kan krijgen? Ik heb al op vele fora rondgezocht, maar het gaat altijd over registratie en dergelijk waardoor ik er niks van snap.
Van die MySQL-functies heb ik helemaal nog niks begrepen. Ik heb een tutorial gekeken en aan de hand daarvan geprobeerd om het voor elkaar te krijgen.
mysql_query -> mysqli_query etc...
Echter moeten er bij mysqli_query en mysqli_real_escape_string ook een link-indentifier naar de connectie verwacht. Kortom dus de variabele die je connectie van mysqli_connect gebruikt.
Enfin, op www.php.net/mysqli_connect, www.php.net/mysqli_query, www.php.net/mysqli_real_escape_string en dergelijke staat een heldere beschrijving van de functieopbouw.
- Ariën - op 31/10/2015 20:01:30:
In de meeste gevallen is het het toevoegen van een i aan de functienaam:
mysql_query -> mysqli_query etc...
Echter moeten er bij mysqli_query en mysqli_real_escape_string ook een link-indentifier naar de connectie verwacht. Kortom dus de variabele die je connectie van mysqli_connect gebruikt.
Enfin, op www.php.net/mysqli_connect, www.php.net/mysqli_query, www.php.net/mysqli_real_escape_string en dergelijke staat een heldere beschrijving van de functieopbouw.
mysql_query -> mysqli_query etc...
Echter moeten er bij mysqli_query en mysqli_real_escape_string ook een link-indentifier naar de connectie verwacht. Kortom dus de variabele die je connectie van mysqli_connect gebruikt.
Enfin, op www.php.net/mysqli_connect, www.php.net/mysqli_query, www.php.net/mysqli_real_escape_string en dergelijke staat een heldere beschrijving van de functieopbouw.
Ga ik nalezen. Maar als ik alle 'username' vervang door 'id' dan werkt het nog steeds niet.
Laat eens zien wat je nu hebt aan code?
Ik gebruik de codes van hierboven, alleen dan 'username' vervangen door 'id'. Ik probeer van alles, maar door mijn gebrek aan kennis weet ik eigenlijk niet wat ik nou precies aan het doen ben. Ik heb mijn hoop dan ook volledig op jou/jullie gevestigd.
$_SESSION['id'], bestaat die wel? Die kan je toch direct in de query werpen, zonder die hele eigen gemaakte functie? Je hebt toch geen vertaal-slag nodig, omdat er geen username is.
- Ariën - op 31/10/2015 20:39:47:
$_SESSION['id'], bestaat die wel? Die kan je toch direct in de query werpen, zonder die hele eigen gemaakte functie? Je hebt toch geen vertaal-slag nodig, omdat er geen username is.
De code die hier staat is praktisch alles wat ik heb. Ik heb nog wel wat code, maar dat is gewoon het 1-op-1 aanroepen van data. Die complexere codes heb ik me nog niet echt eigen gemaakt. Die $_SESSION is dan ook afkomstig uit die tutorial mbt inlogsysteem etc, maar jij zult beter dan ik weten wat dat doet. Nogmaals, ik ben echt een beginner. Ik weet nauwelijks wat een query is.
Wat zou er dan uit de code moeten?
Weet je hoe ik het werkend krijg dan, of wil je dat niet zeggen?
Gewijzigd op 31/10/2015 21:08:38 door G Jansma
Na het correcte inloggen wordt er een sessie aangemaakt. Ik vermoed $_SESSION['id']. Deze kan je direct gebruiken in je location-header. Daar heb je geen SQL-query voor nodig.
- Ariën - op 31/10/2015 21:09:43:
Na het correcte inloggen wordt er een sessie aangemaakt. Ik vermoed $_SESSION['id']. Deze kan je direct gebruiken in je location-header. Daar heb je geen SQL-query voor nodig.
Er hoeft niet ingelogd te worden.