ID wordt niet meegestuurd in PHP

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Fer

Fer

30/01/2007 10:41:00
Quote Anchor link
Ik ben bezig met een nieuwspagina in PHP te maken. Gekoppeld aan een database in mysql. Op de hoofdpagina verschijnen de nieuwsberichten, maar worden ingekort als er meer dan 220 tekens in voorkomen. Er verschijnt automatisch een link (MEER) en vervolgens kan het hele nieuwsbericht gelezen worden.
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)
PHP script in nieuw venster Selecteer het PHP script
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
<?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>";
}

?>





news.php voor het nieuwsbericht compleet te kunnen lezen:



Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?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']);

?>



De link naar de testsite

Alvast bedankt!
Gewijzigd op 01/01/1970 01:00:00 door Fer
 
PHP hulp

PHP hulp

20/11/2024 00:28:30
 
Robert Deiman

Robert Deiman

30/01/2007 10:54:00
Quote Anchor link
FF raden naar het boek: PHP 5 zonder stress?? :)

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)
 
Fer

Fer

30/01/2007 11:11:00
Quote Anchor link
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
Gewijzigd op 01/01/1970 01:00:00 door Fer
 
Frank -

Frank -

30/01/2007 11:15:00
Quote Anchor link
Tip:
Begin je scripts altijd met de volgende regels:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);

// rest van je script
?>

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...
 
Fer

Fer

30/01/2007 11:17:00
Quote Anchor link
Bedankt voor je tip Frank, ik zal t meenemen in mijn scripts.
 
Robert Deiman

Robert Deiman

30/01/2007 11:36:00
Quote Anchor link
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


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());
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.