12 berichten aan het bekijken - 1 tot 12 (van in totaal 12)
  • Q:
    Bijdrager
    SeaTrue

    [php] zoek de (7 ?) fouten (opgelost)

    Ik heb een klein php scriptje gemaakt, het werkte eerst maar ik heb het een beetje uitgebreid en nu wil die nimeer.

    waarschijnlijk zie ik een stomme fout over het hoofd.

    [code:1:a769231a3f]
    <?php
    include ‘links.php’;
    include ‘getid.php’;
    if (id == 0)
    {
    if (us == 0)
    {
    echo ‘Ongeldige bewerking: ‘;
    }
    else
    {
    echo ‘<div class="img">’;
    echo ‘<div class="hoverbox">’;
    $query = mysql_query("SELECT link, id FROM fotodet WHERE uploader = ‘$us’ ORDER BY date DESC");
    while ($var = mysql_fetch_array($query))
    {
    $id = $var[’id’];
    echo ‘<img src="Share/’;
    echo $var[’link’];
    echo’" alt="description" class="thumbnail"/><img src="Share/’;
    echo $var[’link’];
    echo ‘" alt="description" class="preview" width="400"/>’;
    }
    echo ‘</div>’;
    echo ‘</div>’;
    }
    }
    else
    {
    $query = mysql_query("SELECT link FROM fotodet WHERE id = ‘$id’");
    if (mysql_num_rows ($query) == 0)
    {
    echo ‘Afbeelding bestaat niet’;
    }
    else
    {
    $vares = mysql_fetch_array($query);
    $link = $vares[’link’];
    echo ‘<img src="Share/’ . $link . ‘">’;
    }
    }
    echo ‘</div>’;

    ?>[/code:1:a769231a3f]

    hierin wordt links.php geinclude maar daar gebeurt niks speciaals in buiten het include van connect.php en een beetje voor de layout zorgen.

    het bestandje getid.php ziet er als volgt uit:
    [code:1:a769231a3f]
    <?
    if (!isset($_GET[’id’]) && empty($_GET[’id’]))
    {
    $id = 0;
    if (!isset($_GET[’us’]) && empty($_GET[’us’]))
    {
    $us = 0;
    }
    else
    {
    if (isset($_GET[’us’]) && !empty($_GET[’us’]))
    {
    if ($_GET[’us’] < 1)
    {
    $us = 0;
    }
    else
    {
    $us = $_GET[’us’];
    }
    }
    }
    }
    else
    {
    if (isset($_GET[’id’]) && !empty($_GET[’id’]))
    {
    if ($_GET[’id’] < 1)
    {
    $id = 0;
    }
    else
    {
    $id = $_GET[’id’];
    }
    }
    }
    ?>

    [/code:1:a769231a3f]

    Wat dus eigelijk de bedoeling is: Als er via de url ‘us=’ meegegeven dat die dan de alle foto’s toont van die gebruiker (achter het = teken komt de id van de user), als er ‘id=’ is meegegeven dat die dan de foto met dat id toont. En als de id negatief is of 0 of niet voorkomt in de databank, dat die dan een foutmelding geeft; iets van: Afbeelding bestaat niet ofzo.

    telkens als ik deze pagina nu open met verschillende dinge in de urlbalk dan krijg ik enkel:
    ‘Ongeldige bewerking: ‘ Ook als ik een goede id ingeef.

    wie ziet de fout?

    Bijdrager
    fredmatrack

    [code:1:9d0cbbd1fe]if (id == 0)
    {
    if (us == 0)
    [/code:1:9d0cbbd1fe]

    [code:1:9d0cbbd1fe]if ($id == 0)
    {
    if ($us == 0)
    [/code:1:9d0cbbd1fe]

    Let op de $. Hoeveel fouten nog te gaan?

    Bijdrager
    computer space

    Bij echo vergeet je steeds de haakjes:
    dus echo (‘hallo’);

    Edit: wat een bende zeg! Doe maar gerust 30 fouten;-)

    Zoiets is beter:
    [code:1:39c92e241b]<?php
    include ("links.php");
    include ("getid.php");
    if ($id == 0)
    {
    if ($us == 0)
    {
    echo (’Ongeldige bewerking: ‘);
    }
    else
    {
    echo ('<div class="img">’);
    echo ('<div class="hoverbox">’);
    $query = mysql_query(’SELECT link, id FROM fotodet WHERE uploader = "’.$us.’" ORDER BY date DESC’);
    while ($var = mysql_fetch_array($query))
    {
    $id = $var[id];
    echo ('<img src="Share/’);
    echo ($var[link]);
    echo (’" alt="description" class="thumbnail"/><img src="Share/’);
    echo ($var[link]);
    echo (’" alt="description" class="preview" width="400"/>’);
    }
    echo ('</div>’);
    echo ('</div>’);
    }
    }
    else
    {
    $query = mysql_query(’SELECT link FROM fotodet WHERE id = "’.$id.’"’);
    if (mysql_num_rows ($query) == 0)
    {
    echo (’Afbeelding bestaat niet’);
    }
    else
    {
    $vares = mysql_fetch_array($query);
    $link = $vares[link];
    echo ('<img src="Share/’.$link.’">’);
    }
    }
    echo ('</div>’);

    ?>[/code:1:39c92e241b]

    Bijdrager
    Jello
    ”Martiniman”

    Bij echo vergeet je steeds de haakjes:
    dus echo (‘hallo’);

    Wat is dat voor zever!!

    echo “ikke”; werkt perfect en mag perfect :|

    Bijdrager
    computer space
    ”Jello”
    ”Martiniman”

    Bij echo vergeet je steeds de haakjes:
    dus echo (‘hallo’);

    Wat is dat voor zever!!

    echo “ikke”; werkt perfect en mag perfect :|

    inderdaad, ik zie het. sorry. Kom het ook vaak met haakjes tegen, dus dat was mijn gewoonte.
    Grote fout blijft ook deelvariabelen. Die definieer je zo $var[item] en niet $var[‘item’]

    Bijdrager
    SeaTrue
    ”Martiniman”
    ”Jello”
    ”Martiniman”

    Bij echo vergeet je steeds de haakjes:
    dus echo (‘hallo’);

    Wat is dat voor zever!!

    echo “ikke”; werkt perfect en mag perfect :|

    inderdaad, ik zie het. sorry. Kom het ook vaak met haakjes tegen, dus dat was mijn gewoonte.
    Grote fout blijft ook deelvariabelen. Die definieer je zo $var[item] en niet $var[‘item’]

    euh ik heb geleerd dat het moest met aanhalingstekens. Dit werkt trouwens perfect in andere scripts

    Bijdrager
    SeaTrue
    ”fredmatrack”

    [code:1:0f1bda35c0]if (id == 0)
    {
    if (us == 0)
    [/code:1:0f1bda35c0]

    [code:1:0f1bda35c0]if ($id == 0)
    {
    if ($us == 0)
    [/code:1:0f1bda35c0]

    Let op de $. Hoeveel fouten nog te gaan?

    natuurlijk!!! dat was de fout. Het werkt nu

    Bedankt!!

    (let niet op de onpropere code, als alles werkt ga ik het opkuisen; ik ben al blij dat ik inspring)

    Bijdrager
    Sixer

    Wat is dat voor zever!!

    echo “ikke”; werkt perfect en mag perfect

    Nou, in php is het eenmaal zo dat je argumenten tussen haakjes gooit.
    In JavaScript is dat niet zo.

    Bijdrager
    Jello
    ”Sixer”

    Wat is dat voor zever!!

    echo “ikke”; werkt perfect en mag perfect

    Nou, in php is het eenmaal zo dat je argumenten tussen haakjes gooit.
    In JavaScript is dat niet zo.

    Denk dat je mis bent… zelf de officiĆ«le site van PHP doet het met ” ” …

    http://be.php.net/manual/en/function.echo.php voor de ongelovigen onder ons … zucht :|

    Bijdrager
    klaus

    echo (” en echo ” werken beide perfect.
    $var[“item”] is de juiste manier in php, tenminste als je een associatieve array wil aanspreken.

    $var[1] is zonder haakjes. Numeriek en dus aanspreken van de array op die bepaalde index.

    Bijdrager
    computer space

    oeps, dan doe ik het niet netjes: var[naam] werkt namelijk ook.

    Die vergeten $ had je trouwens direct gezien wanneer je de PHP edit met bijvoorbeeld Smultron. Dan is ie niet paars en dat valt meteen op.

    Bijdrager
    Sixer

    Yep, TextMate heeft ook fantastische syntax coloring.

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

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