PHP Hoe moet je een gastenboek maken?
Ik wil graag zelf een gastenboek schrijven, daar leer ik namelijk t meeste van.
Zou iemand mij kunnen uitleggen hoe dat precies moet? Ik bedoel niet welke code ik moet gebruiken, maar gewoon uitleggen welke acties er moeten gebeuren...
Ik wil eerst een basis hebben:
- berichten lezen + maken
En daarna uitbreiden met:
- inlogsysteem
- profiel bekijken, etc....
Alvast bedankt!!!
Tamara, heb je al enige ervaring met PHP/MySQL?
ik begin php te begrijpen... ik heb t idee dat ik de basis onder de knie heb, en daarom wil ik zelf een gastenboek maken.
ik heb ook beetje ervaring met mysql: tabellen invoegen/verwijderen (en nog iets meer), de basis
html en css is een eitje voor me
EDIT: ff mn uitleg iets veranderd ;)
Gewijzigd op 01/01/1970 01:00:00 door Tamara
Omdat je door wilt met een profiel/ inlogsysteem, bedenk welke data je nodig hebt in je database
Ga die opsomming van benodigde data normaliseren
Maak de benodigde tabellen aan
Maak het formulier voor het gastenboek
Maak een captcha/ of iets van beveiliging erbij
Maak een pagina die de input verwerkt
Maak een pagina die de items weergeeft
Gastenboek is dan klaar, en je hebt ook voorbereidingen meteen meegenomen voor inlogsysteem/ profielen.
# Ga die opsomming van benodigde data normaliseren
voor een BERICHT maken moeten de volgende velden komen:
id_bericht (= sleutel, dat snap ik nog wel)
persoonsnaam_bericht
email_bericht
titel_bericht
inhoud_bericht
tijd_bericht (dit wordt niet door de gebruiker ingevuld, maar automatisch ingevuld)
datum_bericht (zelfde als tijd_bericht)
ipnummer_bericht (zelfde als tijd_bericht)
browser_bericht (zelfde als tijd_bericht)
tijd,datum,ipnummer en browser worden allemaal geprint, dus kan niet door de gebruiker worden gewijzigd.
Voor PROFIEL maken:
id_profiel (=sleutel)
persoonsnaam_profiel
wachtwoord_profiel
woonplaats_profiel
rechten_profiel (admin of lid. in principe zou dat automatisch lid moeten zijn)
lidsinds_profiel (wordt automatisch ingevuld)
email_profiel
rechten en lidsinds worden ook geprint.
Wat doe ik goed / fout?
Quote:
tijd_bericht (dit wordt niet door de gebruiker ingevuld, maar automatisch ingevuld)
datum_bericht (zelfde als tijd_bericht)
datum_bericht (zelfde als tijd_bericht)
Je zou ook gewoon 1 datetime veld kunnen gebruiken.
hehe XD je hebt gelijk!
Als je het wil uitbreiden met een login systeem kun je beter gebruiker_id pakken ipv naam.
je bedoelt id_profiel??
Sorry dat ik dit ga zeggen maar ik vindt het nogal verwarrend voor mezelf als ik dit zo lees.
"ja. ik begrijp de meeste php code wel... maar t schrijven gaat nogal lastig... op mn stage werk ik ook de hele dag met php... dus dat zit wel oke..
html en css is een eitje voor me"
Waarom ga je Überhaupt tekst en uitleg vragen terwijl je, zoals je zegt dagelijks op je stage met php en ik verwacht ook met mysql werkt...???
on-topic:
suc6!
Gewijzigd op 01/01/1970 01:00:00 door Rein de Vries
wat ik er mee bedoel, is dat ik php begin te begrijpen... ik heb t idee dat ik de basis onder de knie heb, en daarom wil ik zelf een gastenboek maken.
ja, ik werk ook met mysql. ik weet hoe ik dingen moet invoegen/verwijderen enzo..
een half jaar geleden had ik alleen nog maar van php gehoord (nog geen eens van mysql)!
on-topic: thnx :)
kan iemand me verder helpen met normaliseren???
Eerst schrijf je een html formulier. zie zelf maar welke velden je nodig hebt.
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<form action="index.php?pagina=gastenboek_bericht" method="POST">
<li><input type="text" name="nick" > naam</li>
<li><input type="text" name="link" > link</li>
<li><textarea name="bericht" ></textarea> bericht</li>
<li><input type="submit" value="verzend"></li>
</form>
<li><input type="text" name="nick" > naam</li>
<li><input type="text" name="link" > link</li>
<li><textarea name="bericht" ></textarea> bericht</li>
<li><input type="submit" value="verzend"></li>
</form>
De action stuurt de informatie naar een bepaalde pagina, bv index.php?pagina=gastenboek_bericht, velen gebruiken liever een apparte php file, zoals gastenboek_bericht.php; je ziet maar.
in die pagina vang je dus het bericht op, en je steekt alles in een database.
BV:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?
// bv. dus in file gastenboek_bericht.php
$nick = htmlentities($_POST['nick']);
$link = htmlentities($_POST['link']);
$bericht = htmlentities($_POST['bericht']);
$tijd = time();
//die gegevens steek je dan in je database
$query = "INSERT INTO `gastenboek` (nick, link, bericht, tijd)
VALUES
("'. $nick .'", "'. $link .'", "'. $bericht .'", "'. $tijd .'");
";
// connectie maken met MySQL moet je zelf maar eens bekijken
header("location: index.php?pagina=gastenboek");
?>
// bv. dus in file gastenboek_bericht.php
$nick = htmlentities($_POST['nick']);
$link = htmlentities($_POST['link']);
$bericht = htmlentities($_POST['bericht']);
$tijd = time();
//die gegevens steek je dan in je database
$query = "INSERT INTO `gastenboek` (nick, link, bericht, tijd)
VALUES
("'. $nick .'", "'. $link .'", "'. $bericht .'", "'. $tijd .'");
";
// connectie maken met MySQL moet je zelf maar eens bekijken
header("location: index.php?pagina=gastenboek");
?>
in index.php?pagina=gastenboek zorg je dan dat je een overzicht geeft van de berichten die al in de DB staan; daarboven zet je het html formulier.
Zoals ik zeg, dit is maar een basis. Je controleert nog niet op spam, je gebruikt time() terwijl je ook datetime kan gebruiken... maar dat zou ons te ver leiden.
Ik ga kijken of ik deze week tijd heb om dit voor elkaar te krijgen.