ID wordt niet meegestuurd in PHP
Ik gebruik 2 pagina's, 1 pagina index.php met nieuwsberichtenoverzicht. 1 Pagina om het geselecteerde nieuwsbericht te lezen.
Als er verzoek wordt gedaan om een nieuwsbericht helemaal te lezen, blijf de ID= leeg. Het is misschien allemaal vrij basic, maar ik heb nog niet zoveel arvaring met php en mysql en ik kom niet echt vooruit. Ik heb er al verschillende boeken bij gehaald, maar het haal tniets uit.
Ik hoop dat jullie me op weg kunnen helpen want ik wil het graag onder de knie krijgen!
de index.php:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?php
//pad naar rootmap
$rootdir="../";
//tot welke rubriek behoort de pagina?
$section="news";
/***********************************News-System********************************/
//Hier worden de berichten uit de database ingelezen
$db = mysql_connect("localhost","***","****") or die (mysql_error());
mysql_select_db("ferrysch_pagina",$db);
$news_SQL="SELECT * FROM news ORDER BY news_datetime DESC";
$news_result=mysql_query($news_SQL);
/***********************************News-System-Ende***************************/
//Eerste deel van de standaardopmaak laden
include("../opmaak/header.inc.php");
include($rootdir."opmaak/navigation.inc.php");
//Hier komt de inhoud
//Hier worden de berichten weergegeven
while($news=mysql_fetch_array($news_result)){
//Opmaak van datum
$unixtime = strtotime($news['news_datetime']);
//controle op lengte hoofdtekst en eventueel inkorten
if(strlen($news['news_main'])>220){
$news['news_main']=substr($news['news_main'],0,180) . " ... <a href=news.php?news_ID=" . $news['news_ID'] . ">meer</a>";
}
?>
//pad naar rootmap
$rootdir="../";
//tot welke rubriek behoort de pagina?
$section="news";
/***********************************News-System********************************/
//Hier worden de berichten uit de database ingelezen
$db = mysql_connect("localhost","***","****") or die (mysql_error());
mysql_select_db("ferrysch_pagina",$db);
$news_SQL="SELECT * FROM news ORDER BY news_datetime DESC";
$news_result=mysql_query($news_SQL);
/***********************************News-System-Ende***************************/
//Eerste deel van de standaardopmaak laden
include("../opmaak/header.inc.php");
include($rootdir."opmaak/navigation.inc.php");
//Hier komt de inhoud
//Hier worden de berichten weergegeven
while($news=mysql_fetch_array($news_result)){
//Opmaak van datum
$unixtime = strtotime($news['news_datetime']);
//controle op lengte hoofdtekst en eventueel inkorten
if(strlen($news['news_main'])>220){
$news['news_main']=substr($news['news_main'],0,180) . " ... <a href=news.php?news_ID=" . $news['news_ID'] . ">meer</a>";
}
?>
news.php voor het nieuwsbericht compleet te kunnen lezen:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
//Nieuwspagina - weergave van een volledig bericht.
$rootdir="../";
$section="news";
//Parameter inlezen
$news_ID=$_GET['news_ID'];
//type variabele instellen om misbruik te voorkomen
settype($news_ID,"int");
/***********************************News-Systeem********************************/
//Bericht inlezen aan de hand van news_ID
$db = mysql_connect("localhost","***","***") or die (mysql_error());
mysql_select_db("ferrysch_pagina",$db);
$news_SQL="SELECT * FROM news WHERE news_ID=" . $news_ID;
$news_result=mysql_query($news_SQL);
$news=mysql_fetch_array($news_result);
mysql_close();
/***********************************News-Systeem-Einde**************************/
//Hier worden de berichten weergegeven
//De datum opmaken
$unixtime = strtotime($news['news_datetime']);
?>
//Nieuwspagina - weergave van een volledig bericht.
$rootdir="../";
$section="news";
//Parameter inlezen
$news_ID=$_GET['news_ID'];
//type variabele instellen om misbruik te voorkomen
settype($news_ID,"int");
/***********************************News-Systeem********************************/
//Bericht inlezen aan de hand van news_ID
$db = mysql_connect("localhost","***","***") or die (mysql_error());
mysql_select_db("ferrysch_pagina",$db);
$news_SQL="SELECT * FROM news WHERE news_ID=" . $news_ID;
$news_result=mysql_query($news_SQL);
$news=mysql_fetch_array($news_result);
mysql_close();
/***********************************News-Systeem-Einde**************************/
//Hier worden de berichten weergegeven
//De datum opmaken
$unixtime = strtotime($news['news_datetime']);
?>
De link naar de testsite
Alvast bedankt!
Gewijzigd op 01/01/1970 01:00:00 door Fer
Maar waar ik denk dat het fout gaat is dat je kolom news_ID niet bestaat (is ook hoofdletter gevoelig, dus controleer daar even op)
Hartstikke bedankt, mede door je snelle reactie Robert.
Nu werkt het
Gewijzigd op 01/01/1970 01:00:00 door Fer
Begin je scripts altijd met de volgende regels:
Dan krijg je alle fouten en waarschuwingen die er zijn ook daadwerkelijk op het scherm te zien.
En ga natuurlijk geen @-jes gebruiken om fouten en waarschuwingen weer te onderdrukken...
Bedankt voor je tip Frank, ik zal t meenemen in mijn scripts.
Fer schreef op 30.01.2007 11:11:
Hey, je hebt gelijk over dat boek en de hoofdletters! het boek waar ik mee oefen heet PHP5 & Mysql. Ik ben al wat fouten tegen gekomen in het boek en nu dus weer 1. De ID moet in kleine letters en nu doet ie 't!
Hartstikke bedankt, mede door je snelle reactie Robert.
Nu werkt het
Hartstikke bedankt, mede door je snelle reactie Robert.
Nu werkt het
Dit wist ik toevallig, want die fout was ik zelf ook al tegengekomen in het boek, en Frank heeft gelijk voor de foutmeldingen. En met SQL gebruik je dit;
$var=mysql_query($sql) or trigger_error(mysql_error());