hallo iedereen,

ik ben bezig met een soort "profiel" pagina te bouwen met mysql, en ik zou met een login form, iemand laten binnenkomen op de site en dan kan hij/zij ENKEL en alleen maar zijn/haar profiel aanpassen, hoe doe ik het best? ik ga werken met dit voor het profiel:

CREATE TABLE profiel(
id INT NOT NULL AUTO_INCREMENT,
naam VARCHAR(50) NOT NULL,
leeftijd TEXT NOT NULL,
PRIMARY KEY(id)
);

en dit als login database:

CREATE TABLE tbl_auth_user (
user_id VARCHAR(10) NOT NULL,
user_password CHAR(32) NOT NULL,
PRIMARY KEY (user_id)
);

thx
ik zelf had er 1 tabel van gemaakt.
maar je kan bij table "profiel" een kolom erbij zetten:
user_id en die koppel je aan

id in table "tbl_auth_user"

(kolom id in "table_auth_user" dan wel even aanmaken)
ok, en hoe kannek dan maken dat 1 gebruiker aan 1 profiel kan editte?
dat doe je doormiddel van een login systeem
leeftijd TEXT NOT NULL,

Waarom heb je een veld van het type TEXT nodig om de leeftijd op te slaan? Leeftijd lijkt mij een getal, dus een INT.

Hoewel, leeftijd is afgeleid van de geboortedatum. Je kunt dus beter deze datum opslaan, in een DATE, en dan de leeftijd berekenen wanneer je deze nodig hebt. Dat verandert namelijk ieder jaar. Zie ook de handleiding.
dit is dus een voorbeeld van een loginsysteem hé,
maar ik zie dat de header:main.php staat, kan je dan ook zeggen van login?id=2 en dat je danz o naar het profiel gaat?
en hoe zet je dan het id=x in als variable?
dat kan met behulp van sessies
http://nl3.php.net/manual/en/ref.session.php
met behulp van sessies is het mogelijk gegevens te gebruiken op meerdere pagina's.
In je login.php plaatst je iets als dit:


<?php
session_start(); // dit moet altijd helemaal bovenaan je script staan als je met sessie's gaat werken.
if($_POST['username']=="piet" && $_POST['wachtwoord'] == "platvis")
{
$_SESSION['uid']==1;
echo "<div id='message'><p class='titel'>Inloggen gelukt</p><p class='tekst'>U bent succesvol ingelogd en wordt binnen een paar seconden doorgestuurd, in geval van een time-out fout kunt u hier klikken: </p><a href='index.php'>Verder...</a></div>";
echo "<meta http-equiv='refresh' content='3;index.php'>"
}
else
{
echo "<div id='message'><p class='titel'>Inloggen Mislukt</p><p class='tekst'>Het inloggen is mislukt, u heeft een fout combinatie gebruikersnaam/wachtwoord opgegeven. u wordt binnen een paar seconden teruggestuurd naar de login pagina. In het geval van een time-out fout kunt u hier klikken:</p><a href='login.php'>Terug...</a></div>";
echo "<meta http-equiv='refresh' content='3;index.php'>"
}
?>


we hebben nu in de sessie opgeslagen dat de ingelogde gebruiker het id 1 heeft, dit plaatsen we in het profielgedeelte


<?php
session_start();
if(empty($_SESSION['uid'])) // als de gebruiker niet is ingelogd
{
header("Location: login.php");
}
else
{
// hier het profielgedeelte met bijv de query SELECT * FROM profiel WHERE id == $_SESSION['uid']
}
?>



nog 1 kleine vraag, ik heb ook een soort cms systeem gemaakt, maar ik zit nog met een probleempje,
ik kan dus tekst enz in een database zetten, maar wanneer ik de tekst uit de database haal en deze in een webpagina gebruik, dan zijn vb de enters enz weg! hoe kan ik maken dat de enters toch getoond worden?

Reageren