PekkeMan | dinsdag 20 februari 2007 @ 19:45 | |
ik hoop dat jullie me kunnen helpen. ik ben bezig met een website en maak gebruik van de include functie van php. Maar ik ondervind problemen wanneer ik eenzelfde bestand 2 of meerdere keren wil includen. De pagina laad niet verder tot de 2e include. iemand een idee waarom dat niet wil? | ||
SimonBalk | dinsdag 20 februari 2007 @ 19:54 | |
waarschijnlijk omdat er dan dingen dubbel gedefineerd worden. probeer eens gebruik te maken van include_once() | ||
PekkeMan | dinsdag 20 februari 2007 @ 19:59 | |
<?php include_once 'xxxx.php' ?> zo bedoel je neem ik aan? Helpt niet ![]() | ||
Bar_en_Boog | dinsdag 20 februari 2007 @ 20:02 | |
Maar dan met haakjes: http://nl2.php.net/include_once | ||
Jump | dinsdag 20 februari 2007 @ 20:03 | |
Welke melding krijg je en wat probeer je te includen? | ||
Jump | dinsdag 20 februari 2007 @ 20:06 | |
SimonBalk: de maximum grootte van een webicon is 100kB, er zitten er enkele tussen van 300 ongeveer. En je bent wat vergeten in je php code: header("Content-type: image/gif"); Bekijk je icoon eens in een nieuw venster, veel figuur zie je niet. | ||
PekkeMan | dinsdag 20 februari 2007 @ 20:09 | |
<?php include_once ("xxxxxx.php") ?> werkt ook niet. ik krijg geen melding, mijn pagina wil alleen niet verder laden precies waar de 2e include zich bevindt. Probeer een ander php bestand te includen of bedoel je dat niet? Kan t ook aan die code liggen? | ||
Tarabass | dinsdag 20 februari 2007 @ 20:20 | |
Kun je wat specifieker uitleggen wat je doet en wat je er mee wilt want ik snap er weinig van. Dus wat is je code nu, wat wil je bereiken en waar gaat het verkeert? | ||
PekkeMan | dinsdag 20 februari 2007 @ 20:27 | |
op 1 pagina heb ik meerdere artikelen en onder elk artikel laat ik zien hoeveel reacties er al op zijn geweest met de volgende code: <? // bestand waar de berichten in komen te staan $file = "reactie.txt"; // maximaal aantal berichten wat bewaard wordt $max = 25; // escapefunctie function s($val) { $val = nl2br(htmlspecialchars($val)); return get_magic_quotes_gpc() ? stripslashes($val) : $val; } // kijken of het bestand reactie.txt al bestaat if(file_exists($file)) { // zo ja, includen include ($file); } else { // zo niet, maak dan de array $messages bekend $messages = array(); } // kijken of er wel berichten zijn... if(count($messages) > 0) { echo "<a href='reactiesXX.php' target='_blank'>". count($messages) ." reactie(s)</a>"; } else { echo "<a href='reactiesXX.php' target='_blank'>Geen reacties!</a>"; } ?> en linkt naar een reactiepagina reactieXX.php (zie hieronder) <html> <body> <form method=post action=""> <table> <tr> <td>Naam</td> <td><input type=text maxlength=50 size=30 name=naam></td> </tr> <tr> <td>E-mail</td> <td><input type=text maxlength=100 size=30 name=email></td> </tr> <tr> <td valign=top>Bericht</td> <td><textarea name=bericht cols="40" rows="10"></textarea></td> </tr> <tr> <td colspan=2><input type=submit name=submit value=Reageer!></td> </tr> </table> <br><br> <? // bestand waar de berichten in komen te staan $file = "reactie.txt"; // maximaal aantal berichten wat bewaard wordt $max = 25; // escapefunctie function s($val) { $val = nl2br(htmlspecialchars($val)); return get_magic_quotes_gpc() ? stripslashes($val) : $val; } // kijken of het bestand reactie.txt al bestaat if(file_exists($file)) { // zo ja, includen include ($file); } else { // zo niet, maak dan de array $messages bekend $messages = array(); } // kijken of er gepost is (en de naam en het bericht niet leeg is) if(!empty($_POST["submit"]) && !empty($_POST["naam"]) && !empty($_POST["bericht"])) { // nieuwe bericht toevoegen aan de berichten array_unshift ($messages, array(s($_POST["naam"]), s($_POST["email"]), s(trim($_POST["bericht"])), date("d-m-Y / H:i"))); // de teveel berichten verwijderen foreach($messages as $key => $val) { if($key < $max) { $temp[$key] = $val; } } unset($messages); $messages = $temp; // en wegschrijven maar $hndl = fopen ($file,"w"); fputs($hndl, "<"); fputs($hndl, "? n"); /// berichten wegschrijven foreach($messages as $id => $msg) { fputs($hndl, "$messages[$id] = array("" . implode('","', $msg) ."");n"); } fputs($hndl, " ?"); fputs($hndl, ">"); fclose ($hndl); } // kijken of er wel berichten zijn... if(count($messages) > 0) { echo "<table width=400>n"; } else { echo "Geen berichten aanwezig!"; exit; } // tot slot de meldingen weergeven for($i = 0; $i < count($messages); $i++ ) { list($naam, $email, $bericht, $datum) = $messages[$i]; ?> <tr> <td nowrap> <a href='mailto:<?=$email?>'> <b><?=$naam?></b></a> zei op <?=$datum?></small>: </td> </tr> <tr> <td> <?=$bericht?> </td> </tr><tr><td height=1 bgcolor=black></tr> <? } ?> </table> </body> </html> | ||
PekkeMan | dinsdag 20 februari 2007 @ 20:33 | |
zie ook: http://www.pekke.nl/test/weblog/ onder het 1e artikel staat mooi "1 reactie(s)", maar onder het 2e artikel is ie opgehouden met de pagina verder laden, precies waar ik de andere include heb staan voor de reacties. ik wil dus steeds hetzelfde script met dezelfde naam, maar steeds op een ander path, includen. En voor ander artikel dus weer hetzelfde scrip, maar weer op een ander path etc. [ Bericht 5% gewijzigd door PekkeMan op 20-02-2007 20:53:27 ] | ||
SuperRembo | dinsdag 20 februari 2007 @ 22:47 | |
Er gaat vast iets goed fout ;) Als je de foutmeldingen laat zien weet je vast meer, dus zet even dit regeltje boven in je code
| ||
SuperRembo | dinsdag 20 februari 2007 @ 23:26 | |
uit 't PHP voor dummies topic:quote:Dat zou prima kunnen als je php als template engine gebruikt. Maar in dit geval snap ik het ook niet goed. Er lijken meerdere dingen dubbel in te staan, maar het is ook lastig te zien zonder [ code] [/ code] tags. | ||
#ANONIEM | woensdag 21 februari 2007 @ 01:10 | |
je wilt dus de reactiecode elke keer opnieuw toevoegen, voor elke bericht een andere reactieformulier etc etc... het kan ook liggen aan de andere code, de code die de rest van je berichten weergeeft, aangezien je geen fouten krijgt met het weergeven van de reactie aantal/informatie... |