Link id...?
Ik had gisteravond iets gemaakt waarmee ik via m'n database nieuwe pagina's kan maken, dat lukt allemaal netjes en en ben ik bezig geweest voor de link ernaar toe maar dat lukt niet helemaal. Ik snap dat de code fout is, maar ik kan zelf helemaal gaan alternatief bedenken van hoe hij er wel uit zou moeten zijn.
Wie wil mij helpen?
(Mijn code)
Topic verplaatst naar het juiste board[/modedit]
Wie wil mij helpen?
(Mijn code)
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
$SQL_statement="SELECT * FROM `pagina` WHERE 1";
$resultset=mysql_query($SQL_statement);
while($data=mysql_fetch_array($resultset))
{
<a href="add.php?id="$_get['id'] . > echo $_get['title']. </a> ;
}
mysql_close();
?>
$SQL_statement="SELECT * FROM `pagina` WHERE 1";
$resultset=mysql_query($SQL_statement);
while($data=mysql_fetch_array($resultset))
{
<a href="add.php?id="$_get['id'] . > echo $_get['title']. </a> ;
}
mysql_close();
?>
Topic verplaatst naar het juiste board[/modedit]
Gewijzigd op 30/12/2010 16:15:41 door Joren de Wit
echo "<a href='add.php?id=". $_get['id'] ."' > ". $_get['title'] ." </a>";
let op voor XSS hier...
let op voor XSS hier...
Gewijzigd op 30/12/2010 11:22:27 door Tikkes C
Oh bedankt ik zie al wat ik verkeerd had. (dat word maar weer goed m'n boek lezen;)
En moet get niet met hoofdletters? $_GET[]?
En je moet die > wel tussen quotes zetten:
En je moet die > wel tussen quotes zetten:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<?php
$sql="SELECT id, title FROM pagina";
$result = mysql_query($SQL_statement);
if($result) {
while($data=mysql_fetch_array($result)){
echo "<a href='add.php?id=". $_GET['id'] ."' > ". $_GET['title'] ." </a>";
}
} else {
echo "Er is een fout opgetreden: ".mysql_error();
}
?>
$sql="SELECT id, title FROM pagina";
$result = mysql_query($SQL_statement);
if($result) {
while($data=mysql_fetch_array($result)){
echo "<a href='add.php?id=". $_GET['id'] ."' > ". $_GET['title'] ." </a>";
}
} else {
echo "Er is een fout opgetreden: ".mysql_error();
}
?>
Dit is beter:
- Er is nu foutafhandeling, welke onmisbaar is
- Je SQL query is nu goed: geen backticks, WHERE had geen nut en is weg, alleen de nodige velden geselecteerd.
- Het is $_GET i.p.v. $_get
Gewijzigd op 30/12/2010 11:27:07 door - Ariën -
Oke bedankt ik zag dat er nog wat fouten waren, dus ga nu kijken of het me eerst lukt met een zelf gemaakte fouten afhandeling (het scheelt dat ik nu een goed voorbeeld erbij heb) en daarna als het me niet is gelukt gebruik ik die van aar wel.
Die van mij is een goede manier.
Geen idee wat voor soort foutafhandeling jij denkt, maar als het met die() is, dan ben je in ieder geval verkeerd bezig ;-).
ik zeg het maar eventjes ;-)
Geen idee wat voor soort foutafhandeling jij denkt, maar als het met die() is, dan ben je in ieder geval verkeerd bezig ;-).
ik zeg het maar eventjes ;-)
Bedankt,
maar er stond een topic met goede fouten afhandeling dus ik ga die maar even doorlezen en dan zal alles wel goedkome.
maar er stond een topic met goede fouten afhandeling dus ik ga die maar even doorlezen en dan zal alles wel goedkome.
Een foutafhandeling maak je door gebruikt te maken van het geen functies returnen. Bij mysql functies is dat vaak true of false.
Een voorbeeld van goede foutafhandeling:
http://snipplr.com/view/45252/goede-foutafhandeling-mysql/
Een voorbeeld van goede foutafhandeling:
http://snipplr.com/view/45252/goede-foutafhandeling-mysql/
Ik heb nu zelf mijn foutafhandeling gemaakt (was ik een halfuur zoet mee;)) en ik vond wel mooi dat hij precies het zelfde werd als die van Aar. maar hierbij nog een vraag, want er staat nu als enigste foutmelding query was empty. wat bedoelen ze hiermee?
Ik zie dat variaeble in $result leeg is.
Foutje van mij met het logisch vernoemen van variabelen ;-)
Eerste paar regels:
Foutje van mij met het logisch vernoemen van variabelen ;-)
Eerste paar regels:
Gewijzigd op 30/12/2010 12:37:47 door - Ariën -
Oke dit is nu m'n code
Ik krijg geen errors (maar ook geen resultaat). maar mag je een kolom titel noemen? want dat zou een hoop verklaren.(ik had dit namelijk al een keer met text)
Toevoeging op 30/12/2010 13:31:44:
Hier staat ie werkend: www.stefantry.nl
(ik ben nog bezig met div voor de opmaak)
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
$sql="SELECT id, titel FROM pagina";
$result = mysql_query($sql);
if($result) {
while($data=mysql_fetch_array($result)){
echo "<a href='http://www.stefantry.nl/add.php?id=". $_GET['id'] ."' > ". $_GET['titel'] ." </a>";
}
} else {
echo "Er is een fout opgetreden: ".mysql_error();
}
?>
$sql="SELECT id, titel FROM pagina";
$result = mysql_query($sql);
if($result) {
while($data=mysql_fetch_array($result)){
echo "<a href='http://www.stefantry.nl/add.php?id=". $_GET['id'] ."' > ". $_GET['titel'] ." </a>";
}
} else {
echo "Er is een fout opgetreden: ".mysql_error();
}
?>
Ik krijg geen errors (maar ook geen resultaat). maar mag je een kolom titel noemen? want dat zou een hoop verklaren.(ik had dit namelijk al een keer met text)
Toevoeging op 30/12/2010 13:31:44:
Hier staat ie werkend: www.stefantry.nl
(ik ben nog bezig met div voor de opmaak)
Je echot GET variabelen? Dat lijkt me niet kloppen, dat moet $data zijn :-)
Harstikke bedankt nu werkt ie helemaal precies zoals ik wou. maar kan iemand mij misschien uitleggen wat het verschillen is tussen _GET en $data?
GET variabelen komen uit de url, $data is de variabele die jij zelf hebt aangemaakt (in je while loop)...
Heb je nu ooit wel eens een tutorial of bijvoorbeeld php.net o.i.d. doorgenomen?
Ik leer beter in de praktijk (vmbo 3 hé :P) maar ik heb het ook zeker wel doorgelezen allemaal maar als mensen iets zeggen volg ik het beter dan uit een boekje.
Stefan groot op 30/12/2010 13:44:21:
Ik leer beter in de praktijk (vmbo 3 hé :P) maar ik heb het ook zeker wel doorgelezen allemaal maar als mensen iets zeggen volg ik het beter dan uit een boekje.
Doorlezen != doornemen.
Als je iets doorneemt, dan voer je daadwerkelijk uit wat er staat.
Een boekje is hetzelfde als wat mensen zeggen, alleen dan staat het allemaal achterelkaar.
En toch werkt het bij mij niet zo.
Je kunt het beste leren door zelf te doen. Doe je dat dan ook?




