Goededag,

ik ben al een tijdje bezig om het probleem op telossen maar krijg het niet voor elkaar .

ik heb een script daarmee haal ik alles uit de DB zoals links en informatie.

alleen zodra ik de pagina open zegt hij Undefined index.




<!DOCTYPE HTML>
<html>
<head>
<title>testing</title>
<link rel="stylesheet" href="../style.css" type="text/css">
</head>

<body>
<img src="../header.png" id="header" alt="plaatjes" />
<div id="menu">
<?php
mysql_connect("localhost","name","ww");
mysql_select_db("pages");
$query2="SELECT id,pages FROM pages ORDER by id ASC";
$sql2=mysql_query($query2);
while($rij = mysql_fetch_array($sql2)){
echo"<a href=\"/bedrijf/website/test/index/".$rij['pages']."\">".$rij['pages']."</a>\n";
}
?>
</div>

<?php
echo'<div id="hokje"></div>';
echo'<div id="content">';
$query="SELECT id,pages,info FROM pages WHERE pages='".mysql_real_escape_string($_GET['pages'])."'";
$sql=mysql_query($query);
while($row = mysql_fetch_array($sql)){
echo''.nl2br($row['info']).'';
}
echo'</div>';

?>

</body>
</html>


hoe kan ik dit oplossen ik heb het al met een if(isset) geprobeert maar dat werkt ook niet.

Grtz,

Nick
aan deze code schort nog het een en ander.

- ga fouten afvangen
<?php
if(!mysql_connect("localhost","name","ww"))
{
echo 'database connectie mislukt.';
exit;
}

if(!mysql_select_db("pages"))
{
echo 'database bestaat niet.';
exit;
}
?>

- plaats de php code bovenin en begin pas daarna met de output
- de mysql_* functies zijn verouderd. ga liever direct van start met mysqli_* functies.
@frank dat weet ik dat ik nog dat meot doen maar het ging er nu meer om hoe ik het voor elkaar kreeg.

en mysql is oud dat weet ik ook maar het is alleen maar even testen het werkt wel.

alleen als je naar die pagina gaat moet hij de url rewrite dan is het geen probleem.

de $_GET moet automatisch in de url gezet worden zodra je de pagina opent.

ook bij $_GET, $_POST en $_REQUEST moet je je altijd vragen of deze variabelen wel bestaan.
<?php
if(isset($_GET['pages']))
// we hebben een $_GET['pages'] variabele!
else
// helaas de $_GET['pages'] bestaat niet
?>
dat zeg ik net dat heb ik al gedaan maar dan is die error inderdaad weg alleen hij haalt de informatie niet uit de DB omdat de naam niet in de url staat dat is het probleem dus hij moet de url rewrite zo dra je zeg maar op de website komt
$_GET['pages'] bestaat niet en kan ook niet automatisch aan de url toegevoegd worden. Dit kan alleen via een redirect.

Je zou dus moeten kijken of $_GET['pages'] bestaat. Dus bijvoorbeeld:

<?php
	$pages = isset($_GET['pages']) ? $_GET['pages'] : 'default';

	// In de query dan $pages gebruiken ipv $_GET['pages']
?>


En waarom dat slappe excuus van 'Ja mysql is oud, alleen om te testen'.. Doe het in 1 keer gewoon goed en gebruik dus gelijk de mysqli_ functies. Je hebt er nu alleen maar meer werk van...
Nick van der heijden op 09/10/2013 15:07:05

alleen als je naar die pagina gaat moet hij de url rewrite dan is het geen probleem.


wat bedoel je hiermee?
hij doet nu dit

http://localhost/bedrijf/blabla

en hij moet dit rewrite zodra je op de website komt dus in dit

http://localhost/bedrijf/blabla/Home

dat is mijn vraag hoe krijg ik dit voor elkaar als ik op een linkje klik dan doet hij het perfect.

maar als ik zonder op een linkje te hebben geklikt krijg ik die error dat is logisch want hij heeft geen value in de url van de $_GET gekregen daarom moet hij de url rewrtie zodra je op de website komt.

Toevoeging op 09/10/2013 15:20:38:

Hertog jan ,

dat heb ik ook al gedaan alleen die error blijft staan.

kan ik niet doormiddel van HTACCESS me url rewrite? zodat dat wel gebeurt?
Dan doe je wat verkeerd. Laat je code zien wat je nu hebt dan? Hier heb je niet persee htacces voor nodig maar gewoon een simpele isset... In jou geval zou je code dan $pages = isset($_GET['pages']) ? $_GET['pages'] : 'Home'; moeten worden...
ik heb het nu zo staan


$pages = isset($_GET['pages']) ? $_GET['pages'] : 'Home';
$query="SELECT id,pages,info FROM pages WHERE pages='".mysql_real_escape_string($_GET['pages'])."'";
$sql=mysql_query($query);
while($row = mysql_fetch_array($sql)){
echo''.nl2br($row['info']).'';
}
echo'</div>';

Lees dan ook wat er gezegt word. Waarom controlleer je eerst of $_GET is gezet om er vervolgens niks mee te doen? Gebruik dan ook in je query de variable $pages.

Reageren