Vraag & Antwoord

Webprogrammeren & scripting

PHP3 scripts werken niet altijd in PHP4?

4 antwoorden
  • Ik heb een simpel PHP3 scriptje dat er voor zorgt dat een website bezoeker een regeltje in kan typen (een quote in dit geval), en dat dit regeltje wordt toegevoegd aan een txt bestand (quotes.txt in dit geval). Dit scriptje werkte altijd prima bij mijn webhost, die PHP3 draaide. Sinds kort draait de boel hier thuis op mijn Apache server, waarop ik PHP4 heb staan. Toen bleek het scriptje plotseling niet meer te werken. Ik heb de naam van het scriptje gewijzigd van addquote.php3 naar addquote.php en ook de verwijzing in het html formulier naar het script aangepast, maar het werkt nog altijd niet. Ik krijg geen enkele foutmelding, de bezoeker komt na submitten gewoon terug op mijn index pagina, zoals het hoort. Maar de quote is niet toegevoegd. Verder draaien er nog een stel andere PHP scripts op mijn server, die allemaal geen problemen opleveren. Die werken allemaal zoals het hoort. Omdat ik geen foutmelding krijg ga ik er niet van uit dat er een parsefout is, of dat het script niet gevonden kan worden. (Ik heb ook bewust een keer een fout in het script gezet, en kreeg toen wel onmiddelijk een parse error) $reactie is de quote zoals die door de bezoeker in het html form is getypt. [code:1:2da06d7a6b]<? if (strlen($reactie) <2) { header("location: index.php"); exit; } $reactie = stripslashes($reactie); $reactie = htmlentities($reactie); $reactie = nl2br($reactie); //de txt file word in de variablele $uitvoerbestand geplaatst $uitvoerbestand = "quotes.txt"; //Lees oude data in variablele $oud $fd = fopen($uitvoerbestand, "r"); $oud = fread($fd, filesize($uitvoerbestand)); fclose($fd); //Lees nieuwe data in variablele $nieuw $nieuw = "$reactie\n\r"; //Schrijf nieuwe + oude data weg $fd = fopen($uitvoerbestand, "w+"); fwrite($fd, $nieuw . $oud); fclose($fd); header("location: index.php"); ?>[/code:1:2da06d7a6b] Ik heb ook die hele If statement aan het begin al eens weggehaald, zodat ook alles met minder dan 2 tekens werd geaccepteerd, maar ook toen werd de quote niet toegevoegd. Het is ook geen kwestie van de rechten van het txt bestand. want de boel draait op Windows2000 (chmod dus niet nodig) en het bestand is niet 'read only'
  • Kijk even naar [url=http://forum.computertotaal.nl/phpBB/viewtopic.php?t=102934&highlight=post+get]deze [/url] topic, helemaal onderaan. wimb
  • In PHP 4.2.0 and later, the default value for the PHP directive register_globals is off. [url=http://nl2.php.net/manual/nl/language.variables.predefined.php#language.variables.superglobals]PHP: Predefined variables - Manual[/url]
  • [quote:7be4af7ef6="WimB"]Kijk even naar [url=http://forum.computertotaal.nl/phpBB/viewtopic.php?t=102934&highlight=post+get]deze [/url] topic, helemaal onderaan. wimb[/quote:7be4af7ef6] Excuseer. Niet meer helemaal onderaan. Ik reageer daar zojuist op een aantal opmerkingen. <? [color=red:7be4af7ef6]$reactie = $_POST["reactie"];[/color:7be4af7ef6] if (strlen($reactie) <2) .... zal dus de oplossing bieden. Of register_globals "on" zetten zoals ik in het andere topic (en jossan hier) aangaf. Dit kun je uiteraard niet op je host doen ;) dus de post-variabele(n) even uitlezen.

Beantwoord deze vraag

Weet jij het antwoord op deze vraag? Registreer of meld je aan met je account

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.