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]script werkt niet volgens plan

Anne
15 antwoorden
  • ik heb een toturial gevonden(http://www.websitemaken.be/index.php?page=show_item&id=149), en daar laten ze mij dit scriptje zien,

    <?php
    if(isset($naam)){
    echo"Hallo $naam, welkom op mijn site";
    }
    else{
    ?>
    <form action="aanmelden.php" method="get">
    Vul hier je naam in:
    <input type="text" name="naam" lenght="50">
    <input type="submit" name="submit" value="Aanmelden!">
    </form>
    <?php
    }
    ?>

    maar ik kan alleen mijn naam invoeren, ligt het aan het script, of aan mijn server(PHPDev v423)

    Ik wil nl graag PHP leren, maar ik nergens echt een begin vinden, weten jullie anders nog ergens een goede toturial, waarmee ik heel erg goed met PHP overweg kan?
  • Verplaatst van "Programmeren" naar "Webprogrammeren".
  • Gebruik ipv van $naam $_GET["naam"].

    Zie: http://www.php.net/manual/nl/language.variables.predefined.php.
  • Als ik dat verander, dan krijg ik de volgende error:

    Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in c:\phpdev\www\aanmelden.php.php on line 9
  • [quote:3f557b67df="itsik60"]Als ik dat verander, dan krijg ik de volgende error:

    Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in c:\phpdev\www\aanmelden.php.php on line 9[/quote:3f557b67df]Dan moet je wel je script zoals je nu hebt posten, anders kunnen wij alleen maar in een glazen bol kijken of zo…
  • die parse error zegt meestal dat je een ; vergeten bent.

    t.
  • Mijn code is nu dit:

    <html>
    <head>
    <title>Onze aanmeldpagina</title>
    </head>
    <body>
    <h1>Meld je aan!</h1>
    <?php
    if(isset($naam)){
    echo"Hallo $_GET["naam"] welkom op mijn site";
    }
    else{
    ?>
    <form action="aanmelden.php" method="get">
    Vul hier je naam in:
    <input type="text" name="naam" lenght="50">
    <input type="submit" name="submit" value="Aanmelden!">
    </form>
    <?php
    }
    ?>
    </body>
    </html>

    en ik krijg deze error:

    Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in c:\phpdev\www\aanmelden.php.php on line 9
  • [code:1:f7fa65b915]echo"Hallo $_GET["naam"] welkom op mijn site"; [/code:1:f7fa65b915]->[code:1:f7fa65b915]echo "Hallo ",$_GET["naam"]," welkom op mijn site";[/code:1:f7fa65b915]
  • Ik zou $_POST['naam'] gebruiken in plaats van $_GET['naam'] ;)
    En bij
    [quote:bb8ac491dc="Anne"][code:1:bb8ac491dc]echo "Hallo ",$_GET["naam"]," welkom op mijn site";[/code:1:bb8ac491dc][/quote:bb8ac491dc]
    moeten er geen komma's, maar punten staan. Dus dit zou moeten werken:

    [code:1:bb8ac491dc]
    echo "Hallo " . $_POST['naam'] . " welkom op mijn site";
    [/code:1:bb8ac491dc]

    Groetjes,
    Vic
  • Vic, lees de PHP manual is door ;). Mijn methode gaat tevens sneller als ik hier een jaartje geleden ofzo goed opgelet heb :)
  • Het zal wel weer aan mij liggen, maar hier staat toch echt dat je puntjes moet gebruiken om variables en strings te scheiden :-?

    Maar over dat er $_POST moet worden ingebruikt in plaats van $_GET zijn we het eens? ;)

    Groetjes,
    Vic
  • php.net/echo

    Ik ben het niet echt eens, hij zegt dat z'n verstuur methode 'get' is in z'n form (startpost). Het kan zijn dat ik iets gemist heb.
  • Okeej… mijn fout dus ;)

    Vic
  • Ook [code:1:cd7a646ecc]if(isset($naam))[/code:1:cd7a646ecc] zou natuurlijk [code:1:cd7a646ecc]if(isset($_GET["naam"]))[/code:1:cd7a646ecc] moeten worden.
  • [size=1:0b0df555b2]Vic - anne
    0 -1
    Double knockout!!
    [/size:0b0df555b2]

    Om twee strings bij elkaar te voegen, gebruik je een punt (.). Het leuke van de echo statement (de print misschien ook?) dat hij meerdere argumenten aan kan, gescheiden door een komma (,). Dat zijn dus twee valide schrijfwijzen:

    [code:1:0b0df555b2]
    echo 'een stoere' . 'string!';
    echo 'een stoere' , 'string!';
    [/code:1:0b0df555b2]

    Alleen is de tweede versie (met de comma) sneller, omdat de string niet eert bij elkaar gevoeg moet worden. Hij gooit er gelijk het eerste deel eruit, ipv alle delen bij elkaar optellen en dan pas de string naar de browser sturen.

    Daarbij is het gebruik van single quotes (') beter dan double quotes("), omdat strings gemaakt via double quotes nog variabelen moet worden omgezet. Met single strings hoeft dat niet, dus gaat dat sneller.

    [code:1:0b0df555b2]
    $var = 'poep';
    echo "ik $var op jou!"; // ik poep op jou!
    echo 'ik $var op jou!'; // ik $var op jou!
    [/code:1:0b0df555b2]

    Dus dat wordt
    [code:1:0b0df555b2]
    echo 'Hallo ' , $_GET['naam'] , ' welkom op mijn site';
    [/code:1:0b0df555b2]

    En zo zijn er natuurlijk nog meer manieren om deze string te echoën, maar die zijn allemaal ietsjes langzamer:
    [code:1:0b0df555b2]
    echo "Hallo $_GET['naam'] welkom op mijn site";
    echo "Hallo ", $_GET["naam"] ," welkom op mijn site";
    //etc
    [/code:1:0b0df555b2]

Beantwoord deze vraag

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