Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Webprogrammeren & scripting

[PHP] Raar altijd voorkomende fout

Anoniem
None
14 antwoorden
  • Ik heb mijn PHP dingen geinstalleerd. Ik heb een boek gekocht over PHP en daar zitten ook voorbeelden in. Alleen als ik mijn eigen scripts test bijvoorbeeld een gastenboek krijg ik steeds de foutmelding van undifined variable in line … Dit gebeurd ook met de scripts die ik bij het boek krijg. Hoe kan ik dit oplossen. Of KAN ik dit oplossen. Of heb ik iets stoms over het hoofd gezien?
  • Welk boek?
    Welk script?

    meestal is een vergeten aanhalingsteken de boosdoener…

    t.
  • post eens een script met zo'n melding…en de melding
  • Het boek is PHP4 Zonder Stress.
    De script is een gastenboek.
    De gastenboek script komt uit de Computer Totaal juli/augustus 2001.

    Hier is de Script van gastenboek.html

    <html>
    <head>
    </head>
    <body>
    <form method="GET" action="voegreactietoe.php">
    Voer hier uw naam in:
    <INPUT TYPE=TEXT NAME="naam"><BR>
    Voer hier uw E-mail adres in:
    <INPUT TYPE=TEXT NAME="email"><BR>
    Voer hier uw reactie in:
    <INPUT TYPE=TEXTAREA NAME="reactie"<BR>
    <INPUT TYPE=submit VALUE=verzenden NAME=submit>
    </form>
    </body>
    </html>

    Hier is de sript van voegreactietoe.php

    <html>
    <head>
    </head>
    <body>

    <?PHP
    $uitvoerbestand = "reacties.html";
    $bestandsindex = fopen($uitvoerbestand, "a");

    fwrite($bestandsindex, "Een reactie van: $naam ($email) : <BR> ");
    fwrite($bestandsindex, $reactie);
    fclose($bestandsindex);
    ?>
    </body>
    </html>

    En het wordt geschreven naar reacties.html waar zich geen scripts bevinden.
    De reacties worden aan het einde van het document toegevoegd:

    <html>
    <head>
    </head>
    <body>
    </body>
    </html>Hier staan de reacties!!!

    Hoe kan ik ervoor zorgen dat het tussen de body tags komt?
  • Dit is de foutmelding:

    Notice: Undefined variable: naam in d:\program files\apache group\apache\htdocs\voegreactietoe.php on line 10

    Notice: Undefined variable: email in d:\program files\apache group\apache\htdocs\voegreactietoe.php on line 10

    Notice: Undefined variable: reactie in d:\program files\apache group\apache\htdocs\voegreactietoe.php on line 11
  • Ben geen echte PHP-freak, maar heeft dit niet iets te maken met het doorgeven van variabelen wat standaard uit staat in de nieuwe PHP-versies?
    Probeer het eens met:
    [code:1:39886c9fab]fwrite($bestandsindex, "Een reactie van: $_GET[naam] ($_GET[email]) : <BR> ");
    fwrite($bestandsindex, $_GET[reactie]); [/code:1:39886c9fab]
  • [quote:362757be24="Stoofie"]Ben geen echte PHP-freak, maar heeft dit niet iets te maken met het doorgeven van variabelen wat standaard uit staat in de nieuwe PHP-versies?
    Probeer het eens met:
    [code:1:362757be24]fwrite($bestandsindex, "Een reactie van: $_GET[naam] ($_GET[email]) : <BR> ");
    fwrite($bestandsindex, $_GET[reactie]); [/code:1:362757be24][/quote:362757be24]
    Er is inderdaad in de versie 4 release van php e.e.a. gewijzigd in de doorgifte van variabelen uit bijv. forms (meer info)

    kleine aanvulling: gebruik quotes om je array index $_GET['naam'] (meer info)
  • [quote:0b384951a1="Annie"]kleine aanvulling: gebruik quotes om je array index $_GET['naam'] (meer info)[/quote:0b384951a1]Bedankt voor de aanvulling, zal er aan denken.
  • dankjewel ik zal het proberen.
  • Joy to the world!!! Het WERKT!!!

    Hoe kan je ervoor zorgen dat het tussen de body tags komt en niet na de </html> tag komt?
  • Je kunt ook i.p.v. "GET" gewoon "POST" in je form plaatsen…wel zo logisch…
  • Heb ik al gedaan. Ik test mijn scripts met GET want dan kan ik zien wat er verstuurd wordt. Daarna gebruik ik POST.
  • Let wel op dat je dan de $_GET['…'] vervangt door $_POST['…']. Even voor de duidelijkheid zeg maar ;)
  • dat is dan toch zoiezo overbodig…

Beantwoord deze vraag

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