11 berichten aan het bekijken - 1 tot 11 (van in totaal 11)
  • Q:
    Bijdrager
    The JM

    [php] Undefined variable

    Om niet steeds een nieuwe header te moeten maken met menu’s e.d. heb ik (dacht ik) een slimme oplossing bedacht: Ik zet bovenaan het bestand contact.php ‘$contact = true;’ en in de header ‘if ($contact) { javascript/titel }’.
    Maar als ik naar een andere pagina dan contact.php ga, dan wordt de variabele $contact niet aangemaakt, dus krijg ik een error te zien.
    Hoe los ik dit op?

    Bijdrager
    Tomaat

    Door eerst een ‘isset’ te doen, dus

    [code:1:28db227a52]if( isset( $contact ) ) BlablaweeeeFunctie();[/code:1:28db227a52]

    Bijdrager
    Buzzin Hornet

    Maak een file aan met bvb de titel library.php en zet daar de header in als variabele. Daarna in je contact.php bovenaan include(‘library.php’);

    Dan bestaat de variabele daar ook.

    Bijdrager
    jabesse
    Bijdrager
    danielpunt

    Denk nog heel eventjes diep na:? Dit is niet echt rocket science.

    De variabele is undefined als hij nergens word gedefinieerd. Dus dan zal hij wel nergens bestaan. Dus moet je ‘em ergens definiĆ«ren met een andere waarde.

    Het is allemaal niet zo moeilijk als je denkt.

    Bijdrager
    The JM
    ”ja_besse”

    if (isset($contact)) { …

    http://nl.php.net/manual/en/function.isset.php

    Dat werkt, bedankt. Die errors zijn opgelost.

    Maar als ik bijvoorbeeld wil gaan kijken op welke pagina we zitten, dan doe ik dat met:

    $page = is_numeric($_GET[‘page’]) ? $_GET[‘page’] : 1;

    En dan krijg ik deze error te zien:

    Notice: Undefined index: page in gastenboek/functions.php on line 103

    Er is niks fouts aan, want het werkt..maar hoe los ik dan deze error op?

    Bijdrager
    danielpunt

    Lees je de error zelf wel? Daar kun je enorm wijs uit worden van wat de fout nou eigenlijk is.:)
    Undefined index betekend dat de index die je probeert te halen uit een array niet bestaat.

    Dus je moet eerst controleren of ‘ie wel bestaat :
    [code:1:cad52e5979]$page = (isset($_GET[’page’]) && is_numeric($_GET[’page’])) ? $_GET[’page’] : 1; [/code:1:cad52e5979]

    Bijdrager
    The JM

    Oke, ik begrijp het. Ik heb al een hoop op kunnen lossen. Behalve in het contactformulier zelf, daar staat

    [code:1:28b83d95f5]<input class="errorform" type="text" name="naam" value="" . $_POST[’naam’] . "">[/code:1:28b83d95f5]

    En daar zeurt hij ook over:
    Notice: Undefined index: naam in /contact.php on line 72

    Hoe los ik die op?

    Bijdrager
    danielpunt

    Euhm, precies het zelfde als de vorige 2?:? Weet je zeker dat je het begrijpt?

    Bijdrager
    The JM

    Ik heb het nog een keer doorgelezen en wat gegoogled en nu begrijp ik het wel. Alle errors zijn er uit, bedankt he:D

    Bijdrager
    MichMich

    Of, als je het echt netjes wilt doen:
    http://www.smarty.net

11 berichten aan het bekijken - 1 tot 11 (van in totaal 11)

Je moet ingelogd zijn om een reactie op dit onderwerp te kunnen geven.