id herkennen en rij in database aanvullen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Bert vandenbogaerde

bert vandenbogaerde

03/06/2011 11:15:27
Quote Anchor link
situatie:
Persoon logt in met zijn gegevens die opgeslaan zijn in de database.
Database kolommen zijn:
id,email,login,wachtwoord

wanneer de persoon succesvol ingelogd is ziet hij een nieuw invulveld: naam.
Wanneer de persoon op submit drukt moet de naam opgeslaan worden in de database.
M.a.w. de database kolommen zijn nu:
id,email,login,wachtwoord, naam

Tot zover ben ik mee.
Maar nu heb ik een probleem.

Bijvoorbeeld:
Er zijn 5 geregistreerden in de database.

id email login wachtwoord naam
1 [email protected] vb1 ***
2 [email protected] vb2 ***
3 [email protected] vb3 ***
4 [email protected] vb4 ***
5 [email protected] vb5 ***

Wanneer persoon vb3 inlogt (id=3) en zijn naam submit moet die naam in de rij van persoon met id=3 komen.
Het script moet dus herkennen wie inlogt en zo de aanvulling van de gegevens in die rij zetten.

Tips?
 
PHP hulp

PHP hulp

05/11/2024 11:50:00
 
Vincent Huisman

Vincent Huisman

03/06/2011 11:19:36
Quote Anchor link
Het id in een session zetten en dan met een where updaten?
 
Bert vandenbogaerde

bert vandenbogaerde

03/06/2011 11:28:03
Quote Anchor link
Vincent Huisman op 03/06/2011 11:19:36:
Het id in een session zetten en dan met een where updaten?


Kan het iets concreter?
Ben nogal nieuw in php en mysql.
 
- SanThe -

- SanThe -

03/06/2011 11:31:19
Quote Anchor link
Select uit de database de info plus het id van degene die inlogt.
Stop het id in een session.
Wanneer er nu een formulier wordt verzonden kan je de database updaten met het id uit de session.
Gewijzigd op 03/06/2011 11:31:51 door - SanThe -
 
Bert vandenbogaerde

bert vandenbogaerde

03/06/2011 11:37:47
Quote Anchor link
Zoiets dan?

SELECT * FROM mijntabel
WHERE id = [??]
 
Ruben Portier

Ruben Portier

03/06/2011 11:42:28
Quote Anchor link
Ja bert, zoiets bedoelen ze.

Tijdens het inloggen kan je best doen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$_SESSION['account_ID'] = $row1['id'];


En dan doe je om de naam te updaten hetvolgende:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
mysql_query("UPDATE tabelnaam SET naam = '".$_POST['naam']."' WHERE id = '".$_SESSION['account_ID']."'");
 
- SanThe -

- SanThe -

03/06/2011 11:47:03
Quote Anchor link
Ruben Portier op 03/06/2011 11:42:28:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
mysql_query("UPDATE tabelnaam SET naam = '".$_POST['naam']."' WHERE id = '".$_SESSION['account_ID']."'");


Denk wel aan sql-injection. Gebruik mysql_real_escape_string($_POST['naam']) voor de beveiliging van je database.
 
Ruben Portier

Ruben Portier

03/06/2011 11:48:31
Quote Anchor link
@SanThe: Ja dat is waar, maar dat zijn 'details' wat bert volgens mij zelf kan invoegen. Hetgeen ik hierboven neer geplaatst heb is een voorbeeld waarop hij dan verder kan werken. Het ging hem vooral over de structuur eigenlijk ;)

Maar inderdaad, zeker niet vergeten te beveiligen voor sql injections!

EDIT: @bert: ik raad je eigenlijk aan om over te stappen naar MySQLi. Het is beter het nu al te leren want PHP6 zou geen MySQL meer ondersteunen (of toch geen bugs/update meer uitbrengen). En MySQLi werkt gewoon iets sneller, de codes die je moet gaan gebruiken zijn iets duidelijker. Je ziet dus eigenlijk meteen waarvoor ze dienen enzovoort.
Gewijzigd op 03/06/2011 11:50:19 door Ruben Portier
 
- SanThe -

- SanThe -

03/06/2011 11:54:02
Quote Anchor link
Ruben Portier op 03/06/2011 11:48:31:
@SanThe: Ja dat is waar, maar dat zijn 'details' wat bert volgens mij zelf kan invoegen. Hetgeen ik hierboven neer geplaatst heb is een voorbeeld waarop hij dan verder kan werken. Het ging hem vooral over de structuur eigenlijk ;)

Maar inderdaad, zeker niet vergeten te beveiligen voor sql injections!


Het was geen commentaar maar slechts een aanvulling op jouw post.
 
Ruben Portier

Ruben Portier

03/06/2011 11:58:49
Quote Anchor link
Ja dat weet ik wel ;) Ik wou gewoon maar even zeggen dat ik tijdens het typen van die code wel aan gedacht hebt dat je moet beveiligen tegen sql-injectie. Ik had het er misschien beter bij gezet voor het geval dat bert dit niet zou weten.

Maar hij zal het nu wel gelezen hebben neem ik aan ;)
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.