/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Problem med $_GET og en include
Fra : Jesper Andersen


Dato : 28-12-05 08:36

Hejsa...
Jeg har min egen hjemmeside som hedder www.syswatch.dk
Jeg har kodet den i php og er bygget op med div's.

Midter div'en laver en include som denne for at hente de forskellige
sider:

if($_GET[s]) {
include("$_GET[s].php");
}else{
include("forside.php");
}

Under min galleri side, lister jeg forskellige galleri som man kan
klikke på, det har virket upåklageligt lige indtil jeg nåede record nr
10 i databasen, så vil den ikke mere.

Jeg har fundet frem til at det må være i den del der includer siden
der ikke kan finde ud af det med gid'et.

Og et link til et galleri kan se fx sådan her ud:

http://www.syswatch.dk/?s=visgal&gid=9

Visgal.php viser alle billederne i det galleri med gid=9.

Dette virker fint lige op til gid 9, men så snart man har gid 10 eller
derover så fanger siden ikke id'et.

Hvordan kan man rette op på det `?

Mvh
Jesper Andersen

 
 
Jesper H (29-12-2005)
Kommentar
Fra : Jesper H


Dato : 29-12-05 14:44

Øh, så vidt jeg kan se, virker
http://www.syswatch.dk/?s=visgal&gid=11
(hvor gid=11) da vist rimelig fint (Projekt R6 renovering). Men sandt
nok, den virker ikke med
http://www.syswatch.dk/?s=visgal&gid=10
eller
http://www.syswatch.dk/?s=visgal&gid=12
osv.
At dømme ud fra den fejlkode, den giver, ser det ud som om at der
simpelthen ikke er nogle billeder hørende til den galleri-id. Udover
det, så ser det ud til, at du i din kode mangler at teste for,
hvorvidt galleriet er tomt, og efterfølgende så bør skrive noget til
brugeren om, at galleriet ikke eksisterer. Du kan se det på:
Warning: sort() expects parameter 1 to be array, null given in
/home/www/syswatch.dk/visgal.php on line 28
Warning: Invalid argument supplied for foreach() in
/home/www/syswatch.dk/visgal.php on line 31
Den variabel, du kører sort på, og som bør være et array, er tom,
hvormed sort() og foreach() fejler. Hvis du evt. vil vise lidt af koden
i visgal.php, kan vi nok lidt bedre hjælpe dig.

--
Mvh Jesper, http://fdf.dk/landsdel1/


Jesper Andersen (29-12-2005)
Kommentar
Fra : Jesper Andersen


Dato : 29-12-05 15:46

Hej Jesper,
Det skyldes at jeg lige har fået det lavet, jeg fandt ud af hvad det
var der var galt.
Det skyldes at det nye galleri jeg havde lavet, indeholdte alt for
store filer til at mit php script kunne håndtere dem, og så gik den
helt amok og meldte fejl.
Jeg fandt løsningen ved at kigge i serverens httpd-error.log.

Mvh
Jesper Andersen


On 29 Dec 2005 05:44:13 -0800, "Jesper H" <jesper.haukrogh@gmail.com>
wrote:

>Øh, så vidt jeg kan se, virker
>http://www.syswatch.dk/?s=visgal&gid=11
>(hvor gid=11) da vist rimelig fint (Projekt R6 renovering). Men sandt
>nok, den virker ikke med
>http://www.syswatch.dk/?s=visgal&gid=10
>eller
>http://www.syswatch.dk/?s=visgal&gid=12
>osv.
>At dømme ud fra den fejlkode, den giver, ser det ud som om at der
>simpelthen ikke er nogle billeder hørende til den galleri-id. Udover
>det, så ser det ud til, at du i din kode mangler at teste for,
>hvorvidt galleriet er tomt, og efterfølgende så bør skrive noget til
>brugeren om, at galleriet ikke eksisterer. Du kan se det på:
>Warning: sort() expects parameter 1 to be array, null given in
>/home/www/syswatch.dk/visgal.php on line 28
>Warning: Invalid argument supplied for foreach() in
>/home/www/syswatch.dk/visgal.php on line 31
>Den variabel, du kører sort på, og som bør være et array, er tom,
>hvormed sort() og foreach() fejler. Hvis du evt. vil vise lidt af koden
>i visgal.php, kan vi nok lidt bedre hjælpe dig.

Christian Hjort (05-01-2006)
Kommentar
Fra : Christian Hjort


Dato : 05-01-06 18:36

Jesper Andersen wrote in dk.edb.internet.webdesign.serverside.php:
> Hejsa...
> Jeg har min egen hjemmeside som hedder www.syswatch.dk
> Jeg har kodet den i php og er bygget op med div's.
>
> Midter div'en laver en include som denne for at hente de forskellige
> sider:
>
> if($_GET[s]) {
> include("$_GET[s].php");
> }else{
> include("forside.php");
> }
>
> Under min galleri side, lister jeg forskellige galleri som man kan
> klikke på, det har virket upåklageligt lige indtil jeg nåede record
nr
> 10 i databasen, så vil den ikke mere.
>
> Jeg har fundet frem til at det må være i den del der includer siden
> der ikke kan finde ud af det med gid'et.
>
> Og et link til et galleri kan se fx sådan her ud:
>
> http://www.syswatch.dk/?s=visgal&gid=9
>
> Visgal.php viser alle billederne i det galleri med gid=9.
>
> Dette virker fint lige op til gid 9, men så snart man har gid 10
eller
> derover så fanger siden ikke id'et.
>
> Hvordan kan man rette op på det `?

Hej Jesper, det ser ud til du har fået svar på dit første spørgsmål,
vil bare lige poste en hurtigt notits.

Det er en god idé at bruge file_exists() i forbindelse med et sådan
system.

Altså:

<?
if($_GET['s']){
if(file_exists($GET['s'].php)){
include("$_GET[s].php");
}else{
echo"Hov, det ser ud til du har fundet en død side";
}}?>

Utestet, men burde virke

Håber du er kommet godt ind i det nye år.

Mvh Christian Hjort


--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408926
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste