Thread: school: php
-
01-04-2012, 16:33 #1
school: php
Hey
Voor school moet ik een website maken waar php bij gebruikt word.
Momenteel heb ik een simpel login systeem. Met een gastenboek.
Ik zat met het idee om een pc builder (zoals alternate) te maken in php.
Maar enige tips voor ik werkelijk hiermee mee start? Zodat ik niet voor verassingen kom te staan!
Wie wil helpen met deze site is welkom, zoolang ik kan volgen is het oke! :P
Het moet simpel blijven omdat php nog redelijk nieuw is voor mij.
Ook heb ik vragen met men gastenboek, momenteel laat het laatste 10 berichten zien, meer niet. maar ik wil dus knoppen om de rest te laten tonen. Hoe is nog de vraag voor mij!
Mvg,
Thomasno votes
-
-
01-04-2012, 19:17 #2Het lukt niet om een knop te maken dat het weergegeven bericht kan verwijderen .. geen idee hoe ik dit kan doen :/PHP Code:
<?php
$result = mysql_query("SELECT * FROM `gastenBoek` ORDER BY `id` DESC LIMIT 0,10");
while($row = mysql_fetch_array($result)) {
echo '<div id="Boek">';
if($fInfo['naam'] == $row['naam']){
echo '<div style="float: right;"><input type="submit" value="Verwijder" onclick="<?php mysql_query("DELETE FROM `exaam`.`gastenboek` WHERE `id` = '.$row['id'].';"); ?>" /></div>';
}
echo '<b>'.$row['naam'].' op '.$row['datum'].':</b><br>'.$row['text'].'</div>';
}
?>
ook ideetjes om de andere berichten weer te geven? maar toch elke keer 10 berichten max te geven voor geen lange pagina's?no votes
-
01-04-2012, 19:23 #3
1. Gebruik in een query nooit SELECT * tenzij je echt alles nodig hebt. Dit verhoogt de duur van je script en je brandwidth. Als ik het me goed herinner stoppen sommige hosts je account als je dat doet en je unlimited brandwidth hebt.
2. Gebruik geen inline CSS maar extern...
3. Ik mis comments
4. Probeer variabelen altijd in het Engels te zetten, dit staat vaker beter en is duidelijker. (Persoonlijke voorkeur.)
5. Je while statement klopt niet helemaal.no votes
-
01-04-2012, 19:42 #4
1. ik moet alles hebben van die tabel

2. ja heb ik enkel bij deze div gedaan, is ook maar om te testen, als het werkt kan ik verbeteren ..
3. nja doe ik normaal niet, slechte gewoonte..
4. idd voorkeur, ik heb dyslexie, dus ik hou het bij wat ik het simpelste vind om te typen op dat moment
5. wat klopt er niet?
Dit werkt. ik krijg 10 berichten. Geen probleem.PHP Code:<?php
$result = mysql_query("SELECT * FROM `gastenBoek` ORDER BY `id` DESC LIMIT 0,10");
while($row = mysql_fetch_array($result)) {
echo '<div id="Boek">';
echo '<b>'.$row['naam'].' op '.$row['datum'].':</b><br>'.$row['text'].'</div>';
}
?>
Nu wil ik ervoor zorgen dat de gebruiker zijn eigen berichten ook kan verwijderen.
Wel even toevoegen, ik heb sinds 2 weken geleden geleerd om met mysql te werken in php ..PHP Code:<?php
$result = mysql_query("SELECT * FROM `gastenBoek` ORDER BY `id` DESC LIMIT 0,10");
while($row = mysql_fetch_array($result)) {
echo '<div id="Boek">';
if($fInfo['naam'] == $row['naam']){ // kijken of de naam overeen komt, zo ja mag er een knop om te verwijderen te voorschijn komen
echo '<div style="float: right;"><input type="submit" value="Verwijder" onclick="<?php mysql_query("DELETE FROM `exaam`.`gastenboek` WHERE `id` = '.$row['id'].';"); ?>" /></div>'; // de query geeft problemen, maar geen idee wat het net is..
}
echo '<b>'.$row['naam'].' op '.$row['datum'].':</b><br>'.$row['text'].'</div>';
}
?>no votes
-
01-04-2012, 19:53 #5Approved 9liver
- Registered
- 18/01/04
- Location
- Melle
- Posts
- 10,535
- iTrader
- 56 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 27/102
1. Zolang je die informatie niet toont op je pagina heeft dat niks met bandbreedte te zien, je zal hooguit meer geheugen gebruiken.
3. Elke keer je commentaar gebruikt faal je in het schrijven van leesbare en duidelijke code.
4. Gelukkig dat je vermeld dat dit persoonlijk voorkeur is.“In terms of how we evaluate schooling, everything is about working by yourself. If you work with someone else, it’s called cheating. Once you get out in the real world, everything you do involves working with other people.”
PSN: Cycloon - Final Fantasy XIV: A realm reborn characterno votes
-
01-04-2012, 20:25 #6
is er mss een beter manier dan ik wil doen?
of enige fouten dat ik niet zie als onervaren?
ik doe alles in kladblok, is niet zo erg handig maarjano votes
-
01-04-2012, 20:29 #7Approved 9liver
- Registered
- 18/01/04
- Location
- Melle
- Posts
- 10,535
- iTrader
- 56 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 27/102
De code die in de ondelete moet is javascript en geen php. Het meest eenvoudige is dat je gewoon een url achter je knop steekt die verwijst naar dezelfde pagina met een parameter pagina.php?verwijder=123 met 123 de id die je wil gaan verwijderen. Genoeg informatie te vinden via google over hoe je zoiets doet.
“In terms of how we evaluate schooling, everything is about working by yourself. If you work with someone else, it’s called cheating. Once you get out in the real world, everything you do involves working with other people.”
PSN: Cycloon - Final Fantasy XIV: A realm reborn characterno votes
-
01-04-2012, 20:34 #8
zoeken op parameters?
no votes
-
01-04-2012, 20:45 #9Approved 9liver
- Registered
- 18/01/04
- Location
- Melle
- Posts
- 10,535
- iTrader
- 56 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 27/102
Zoek eens op php guestbook tutorial, er zijn er duizenden te vinden. Kijk eens naar alle mogelijke manieren die zij bedacht hebben om een bericht te verwijderen. Kies er daarna de beste uit.
“In terms of how we evaluate schooling, everything is about working by yourself. If you work with someone else, it’s called cheating. Once you get out in the real world, everything you do involves working with other people.”
PSN: Cycloon - Final Fantasy XIV: A realm reborn characterno votes
-
01-04-2012, 20:53 #10
dus,
Als ik een link leg naar een pagina
bv: delete.php?id=1
dan op de pagine de query uitvoer met dat id en dan terug verwijs naar gastenboek.php zou het moeten werken?no votes
-
01-04-2012, 21:32 #11PHP Code:
<?php
$result = mysql_query("SELECT * FROM `gastenBoek` ORDER BY `id` DESC LIMIT 0,10");
while($row = mysql_fetch_array($result)) {
echo '<div id="Boek">';
if($fInfo['naam'] == $row['naam']){
echo '<div style="float: right;"><a href="verwijder.php?id='.$row['id'].'">Verwijder</a></div>';
}
echo '<b>'.$row['naam'].' op '.$row['datum'].':</b><br>'.nl2br($row['text']).'</div>';
}
?>dit werktPHP Code:<?php
$con = mysql_connect("localhost","root","");
if (!$con) {
die('Could not connect: ' . mysql_error());
}
mysql_select_db("exaam", $con);
$id = $_GET['id'];
mysql_query("DELETE FROM `exaam`.`gastenboek` WHERE `id` = ".$id.";");
header("Location: gastenBoek.php");
?>
no votes
-
01-04-2012, 22:13 #12
nu volgend probleem
Ik wil een pc-builder maken in php
maar hoe ga ik alles opslagen in een databank?
bv. ik nee 2 HD en deze zijn 2 verschillende ..
Alles komt in eigen tabbelen
zoals alle HDD, moederborden, ...
dus gebruik van id is het simpelste denk ik dan
maar opslagen van een hele config? hoe?no votes
-
02-04-2012, 20:51 #13Member
- Registered
- 18/12/07
- Location
- Wijnegem
- Posts
- 1,158
- iTrader
- 3 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 0/5
Als ik u was zou ik in netbeans werken ofzo, heb daar zelf ook php in geschreven en vond dat heel goed gaan. Code completion enzo kunt die debugger daar gemakkelijk in installeren, werkt algemeen gewoon veel beter.
Ook zoek u is dingen op over sql injection want string concatenatie in sql statements vraagt gewoon om misbruikt te wordenno votes
-
02-04-2012, 22:52 #14PHP Code:
$result = mysql_query("SELECT * FROM `gastenBoek` WHERE `id` = ".$id.";");
$row = mysql_fetch_assoc($result);
De info in textarea lukt.PHP Code:<div id="Boek"><p><?php echo $fInfo['naam'];?></p>
<textarea name="text1" cols="40" rows="5"><?php echo $row['text']; ?></textarea><br>
<input type="submit" name="Post" value="Posten" /></div>
<?php
if( isset($_POST['Post'])){
mysql_query("UPDATE `gastenboek` SET text='".$_POST['text1']."' WHERE id=".$id);
header("Location: gastenBoek.php");
exit;
}
?>
Maar om het weer uit te halen en dan dus een update uit te voeren lukt niet ..
Waarom weet ik niet, er komen geen foutmeldingen maar het doet ook niet wat ik vraag ..
no votes
-
02-04-2012, 23:56 #15Member
- Registered
- 18/12/07
- Location
- Wijnegem
- Posts
- 1,158
- iTrader
- 3 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 0/5
ge zet is ne form rond uw textarea en submit en zet de action op post. Als het werkt moet ge is ingeven => qsdf' truncate table exaam --
en volges mij moet er gene ; in dat sql statement als da verzonden wordt vanuit phpno votes

