webForumDet fria alternativet

includera main.php?id=2

6 svar · 747 visningar · startad av issemannen

issemannenMedlem sedan sep. 200411 inlägg
#1

Försöker includera adressen
main.php?id=2 genom denna kod

<? include "main.php?id=2";

men får bara felmeddelandet

Warning: main(main.php?id=2): failed to open stream: No such file or directory
och
Warning: main(): Failed opening 'main.php?id=2' for inclusion (include_path='.:/usr/local/share/pear:')

Testade då att includa filen main.php och sedan i filen sätta en header

header("Location: main.php?id=2");

men får du upp en varningsruta med meddelandet

Omdirigeringsgränsen för denna URL överskreds. Kan ej hämta den begärda sidan. Detta kan bero på blockerade kakor.

Någon som har något bra förslag hur jag ska lösa detta?

spejsklarkMedlem sedan mars 2003112 inlägg
#2

Re: includera main.php?id=2

issemannen skrev:

Försöker includera adressen
main.php?id=2 genom denna kod

<? include "main.php?id=2";

men får bara felmeddelandet

Warning: main(main.php?id=2): failed to open stream: No such file or directory
och
Warning: main(): Failed opening 'main.php?id=2' for inclusion (include_path='.:/usr/local/share/pear:')

include söker efter filen main.php?id=2, vilken inte finns. Jag skulle sätta id=2, och koda om i main.php så att den använder det direkt, och inte tar det från URLet.

spejsklarkMedlem sedan mars 2003112 inlägg
#3

Kollade php.net och hittade även:

include 'http://www.example.com/file.php?foo=1&bar=2';
issemannenMedlem sedan sep. 200411 inlägg
#4

Problemet är bara det att jag har en $id = $_GET['id']; på main-sidan, så jag behöver ha med mig id från första sidan.
Kanske måste förklara lite bättre...

Håller på att bygga en blogg och på sidan index.php har jag denna kod

//Hämta från databasen
$sql = "SELECT * FROM blogg ORDER BY datum DESC";
$result = mysql_query($sql);
while ($row = mysql_fetch_array($result)){
	//Skriv ut innehållet
	echo ("<a href='main.php?id={$row['id']}'>");
	echo $row["rubrik"];
	echo ("</a>");
	echo ("<br />");
	echo $row["datum"];
	echo ("<br /><br />");
	echo ( strlen($row['inlagg']) > 100 ) ? ( substr($row['inlagg'], 0, 200) . '...' ) : $row['inlagg'];
} ?>

När man trycker på rubriken ska man alltså komma till main.php?id=inläggets id från databasen.
Det fungerar ju bra om man bara ska fortsätta till main.php-sidan, men jag vill includera den i index-sidan som jag redan är på.
Det är därför jag försöker använda include...

Hoppas ni förstår vad jag menar, är nybörjare på php...

spejsklarkMedlem sedan mars 2003112 inlägg
#5

Och det skall funka så länge du skriver den kompletta URLen, dvs, include 'http://www.dindoman.com/main.php?id=2'

DufferMedlem sedan mars 2003409 inlägg
#6

Dessutom måste du inte alls inkludera med det värder, $_GET[""] går alltid till "adressfältet" för att hämta informationen, så om du går till t.ex. index.php?inkludera=main.php&id=2 så kommer det funka fint!

Anledningen är ju att du inte går till en ny sida utan du bara bygger ut index med mer kod, dvs alla sökvägar osv kommer ha index.php som utgångspunkt även om du inkluderar ngt långt ner i en mapp-kedja!

Mvh

preyMedlem sedan jan. 2002369 inlägg
#7

Du kan ju också sätta ett värde innan du inkluderar:

$_GET["id"] = 2;
include("main.php");

Då kommer en ev. $_GET["id"] i main defenitivt ha värdet två, oavsett vad som står i t.ex. adressfältet eller så.

129 ms totalt · 3 externa anrop · cache AV · v20260731051352-full.56cc9887
0 ms — hämta statistik (cache)
0 ms — hämta forumlista (cache)
127 ms — hämta tråd, inlägg och bilagor (db)