Ik maak een simpele site, met een forum. In dat forum staat de link: forum.php?actie=nieuwpost. Die doet het gewoon.. nouw wil ik weten hoe je dat in 1 pagina kan verwerken. Zoiets:
<?php
switch (strtolower($_GET['pagina']))
{
case "forum.php?actie=nieuwpost":
include("./forum/forum.php?actie=nieuwpostphp");
break;
}
?>
Wat moet ik dan in de link zetten?? Wie kan mij helpen?????
forum.php?actie=nieuwpost
Je geeft variables aan een url mee door ze erachter te zetten, de eerste na een vraagteken, vervolgens gescheiden door &-tekens.
In dit geval wordt het dus:
forum.php?actie=nieuwpost
<?php
switch (strtolower($_GET['actie']))
{
case "forum.php?actie=nieuwpost":
include("nieuwpost.php");
break;
}
?>
Je kunt geen parameters doorgeven aan een script dat je include, aangezien de code niet wordt uitgevoerd en het resultaat wordt ingeladen, maar de het bestand wordt ingeladen, en daarnaa met de rest van de code uitgevoerd.
(Ik moet echt nodig mijn delete-toets weer eens terugvinden)
Misschien heb ik nog zo'n toets liggen:-)
?
Onbekende gebruiker
13-06-2005 14:19
Volgnes mij snappen jullie me nie helemaal, ik ben ook erg vaag.
Ik heb een link met 2X een ? erin. dit:
<a href=index.php?pagina=forum.php?actie=nieuwpost
Die doet het niet, hoe kank zorgen dattie het wel doet? Met & ofso(sagk bij een andere site). Wie kan mij helepn??
Ik heb trouwens ook nog wel een toets orr!! als je me helpt mag je hem hebben:P
Toetsen zijn toch gemaakt om Jouw kennis van datgene wat getoetst wordt in te schatten?
Je geeft met een ? aan dat de bestandsnaam van de pagina die je aanroept eindigd en er parameters volgen. Vervolgens sheid je de parameters weer met &:
ik heb nu dit in de link:
<a href=\"index.php?pagina=profile.php?act=edit_profile\">Change Profile</a>
En dit in de index.php:
<?php
switch (strtolower($_GET['pagina']))
{
case "profile.php?act=edit_profile":
include("profile.php&?act=edit_profile");
break;
default:
include("hoofd.php");
break;
}
?>
Dan geeft hij deze foutmelding:
Warning: main(profile.php&?act=edit_profile): failed to open stream: No such file or directory in /het adres/index.php on line 89
Warning: main(): Failed opening 'profile.php&?act=edit_profile' for inclusion (include_path='.:') in /het adres/index.php on line 89
Wat moet ik anders doen??
Nee, dat kan niet omdat include een bestand inlaad, niet het resultaat van het geparste bestand.
Maar als het goed is zou hij:
include("profile.php");
zo dus wel moeten werken, aangezien de parameter $act dan wel degelijk aankomt. Het script wordt immers ingelezen, en dan geparsed in de pagina waarin je hem hebt geïnclude, dus daar waar je $act-parameter zich ook al bevindt.
?
Onbekende gebruiker
16-06-2005 19:26
het lukt bij mij ook niet. Ik denk dat ik ehtzelfde probleem heb. Dit is mij code van de pagina(khad niet echt zin om de juiste regel eruit te vissen):
// per rij zal het van kleur verwisselen
$kleur = ($i % 2 ? $kleur1 : $kleur2); //aanpassen in config
echo "<TR BGCOLOR=\"".$kleur."\">";
echo "<TD WIDTH=\"25\" ALIGN=\"center\"><IMG SRC=\"".$thread."\" WIDTH=\"13\" HEIGHT=\"16\" ALT=\"";
echo $row[7]." hit".($row[7] == 1 ? "" : "s")."\"><BR></TD>";
echo "<TD WIDTH=\"200\"><A HREF=\"forumbericht.php?cat=".$cat."&forumid=$forumid\">".$row[1]."</A><BR></TD>";
echo "<TD WIDTH=\"100\" ALIGN=\"center\"><A HREF=\"mailto:".$row[5]."\">".$row[3]."</A></TD>";
echo "<TD WIDTH=\"100\" ALIGN=\"center\">".date("d/m/Y H:i", $row[4])."</TD>";
echo "<TD WIDTH=\"75\" ALIGN=\"center\">".$replys."</TD></TR>";
$i++;
} // end while
mysql_free_result($query2);
?>
<?php
// navigatie
if($aantal_berichten > $max) {
// laat alleen navigatie zien als er meer berichten zijn dan dat er op een pagina passen
// aantal pagina's:
if(!($aantal_berichten % $max)) {
// pagina's passen precies
$npaginas = $aantal_berichten/$max;
} else {
// rest na deling
$npaginas = (integer)($aantal_berichten/$max) + 1;
}
echo "<TR><TD WIDTH=\"500\" COLSPAN=\"5\" ALIGN=\"center\">\n";
echo "Pagina's ";
for($p=0; $p < $npaginas; $p++) {
if($p == $pagina) {
echo "<B>$p</B>";
} else {
echo "<A HREF=\"forum.php?pagina=".$p."&cat=".$cat."\">".$p."</A>";
}
echo (($p+1) < $npaginas ? "|" : "");
}
echo "</TD></TR>\n";
}
} elseif(!$pagina) {
// nog geen forumids in deze categorie OF
// een persoon zit op een niet-bestaande pagina
?>
<TR>
<TD WIDTH="500" COLSPAN="5" ALIGN="center">
<B>Er zijn nog geen forumberichten toegevoegd in deze categorie!</B>
</TD>
</TR>
<?php
} else {
?>
<TR>
<TD WIDTH="500" COLSPAN="5" ALIGN="center">
<B>Er staan geen berichten op deze pagina!</B>
</TD>
</TR>
<?php
}
?>
<TR>
<TD COLSPAN="5" ALIGN="center">
<A HREF="nieuwbericht.php?cat=<?php echo $cat; ?>">Nieuw Topic</A> |
<A HREF="categorieen.php">Terug naar '<?php echo $forumname; ?>'</A><BR>
</TD>
</TR>
</TABLE>
<?php
} // end category exists check
?>
</BODY>
</HTML>
Zoals je ziet kan je linken naar
forumbericht.php?cat=".$cat."&forumid=$forumid Maar as ik doe forumbericht.php&cat=".$cat."&forumid=$forumid doettie het niet. Hoe kan ik zorgen dat die pagina"forumbericht.php?cat=".$cat."&forumid=$forumid" Zich opent in mij index.php?? Iemand?