Page 1 of 2 12 Last

Thread: school: php

  1. #1

    Registered
    07/12/11
    Location
    Bornem
    Posts
    154
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    0/0

    school: php

    Hey

    Voor school moet ik een website maken waar php bij gebruikt word.
    Momenteel heb ik een simpel login systeem. Met een gastenboek.

    Ik zat met het idee om een pc builder (zoals alternate) te maken in php.
    Maar enige tips voor ik werkelijk hiermee mee start? Zodat ik niet voor verassingen kom te staan!

    Wie wil helpen met deze site is welkom, zoolang ik kan volgen is het oke! :P
    Het moet simpel blijven omdat php nog redelijk nieuw is voor mij.

    Ook heb ik vragen met men gastenboek, momenteel laat het laatste 10 berichten zien, meer niet. maar ik wil dus knoppen om de rest te laten tonen. Hoe is nog de vraag voor mij!

    Mvg,
    Thomas
    no votes  

  2. #2

    Registered
    07/12/11
    Location
    Bornem
    Posts
    154
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    0/0
    PHP Code:
                <?php
                    $result 
    mysql_query("SELECT * FROM `gastenBoek` ORDER BY `id` DESC LIMIT 0,10");
                    while(
    $row mysql_fetch_array($result)) {
                        echo 
    '<div id="Boek">';
                        if(
    $fInfo['naam'] == $row['naam']){
                            echo 
    '<div style="float: right;"><input type="submit" value="Verwijder" onclick="<?php mysql_query("DELETE FROM `exaam`.`gastenboek` WHERE `id` = '.$row['id'].';"); ?>" /></div>';
                        }
                        echo 
    '<b>'.$row['naam'].' op '.$row['datum'].':</b><br>'.$row['text'].'</div>';
                    }
                
    ?>
    Het lukt niet om een knop te maken dat het weergegeven bericht kan verwijderen .. geen idee hoe ik dit kan doen :/

    ook ideetjes om de andere berichten weer te geven? maar toch elke keer 10 berichten max te geven voor geen lange pagina's?
    no votes  

  3. #3

    Registered
    24/08/11
    Location
    Elewijt
    Posts
    165
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    0/0
    1. Gebruik in een query nooit SELECT * tenzij je echt alles nodig hebt. Dit verhoogt de duur van je script en je brandwidth. Als ik het me goed herinner stoppen sommige hosts je account als je dat doet en je unlimited brandwidth hebt.
    2. Gebruik geen inline CSS maar extern...
    3. Ik mis comments
    4. Probeer variabelen altijd in het Engels te zetten, dit staat vaker beter en is duidelijker. (Persoonlijke voorkeur.)
    5. Je while statement klopt niet helemaal.
    no votes  

  4. #4

    Registered
    07/12/11
    Location
    Bornem
    Posts
    154
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    0/0
    1. ik moet alles hebben van die tabel
    2. ja heb ik enkel bij deze div gedaan, is ook maar om te testen, als het werkt kan ik verbeteren ..
    3. nja doe ik normaal niet, slechte gewoonte..
    4. idd voorkeur, ik heb dyslexie, dus ik hou het bij wat ik het simpelste vind om te typen op dat moment
    5. wat klopt er niet?

    PHP Code:
    <?php
                    $result 
    mysql_query("SELECT * FROM `gastenBoek` ORDER BY `id` DESC LIMIT 0,10");
                    while(
    $row mysql_fetch_array($result)) {
                        echo 
    '<div id="Boek">';
                        echo 
    '<b>'.$row['naam'].' op '.$row['datum'].':</b><br>'.$row['text'].'</div>';
                    }
                
    ?>
    Dit werkt. ik krijg 10 berichten. Geen probleem.
    Nu wil ik ervoor zorgen dat de gebruiker zijn eigen berichten ook kan verwijderen.

    PHP Code:
    <?php
                    $result 
    mysql_query("SELECT * FROM `gastenBoek` ORDER BY `id` DESC LIMIT 0,10");
                    while(
    $row mysql_fetch_array($result)) {
                        echo 
    '<div id="Boek">';
                        if(
    $fInfo['naam'] == $row['naam']){ // kijken of de naam overeen komt, zo ja mag er een knop om te verwijderen te voorschijn komen
                            
    echo '<div style="float: right;"><input type="submit" value="Verwijder" onclick="<?php mysql_query("DELETE FROM `exaam`.`gastenboek` WHERE `id` = '.$row['id'].';"); ?>" /></div>'// de query geeft problemen, maar geen idee wat het net is..
                        
    }
                        echo 
    '<b>'.$row['naam'].' op '.$row['datum'].':</b><br>'.$row['text'].'</div>';
                    }
                
    ?>
    Wel even toevoegen, ik heb sinds 2 weken geleden geleerd om met mysql te werken in php ..
    no votes  

  5. #5
    Cycloon's Avatar
    Registered
    18/01/04
    Location
    Melle
    Posts
    10,535
    iTrader
    56 (100%)
    Mentioned
    0 Post(s)
    Reputation
    27/102
    Quote Originally Posted by RobinVdB View Post
    This quote is hidden because you are ignoring this member. Show
    1. Gebruik in een query nooit SELECT * tenzij je echt alles nodig hebt. Dit verhoogt de duur van je script en je brandwidth. Als ik het me goed herinner stoppen sommige hosts je account als je dat doet en je unlimited brandwidth hebt.
    2. Gebruik geen inline CSS maar extern...
    3. Ik mis comments
    4. Probeer variabelen altijd in het Engels te zetten, dit staat vaker beter en is duidelijker. (Persoonlijke voorkeur.)
    5. Je while statement klopt niet helemaal.
    1. Zolang je die informatie niet toont op je pagina heeft dat niks met bandbreedte te zien, je zal hooguit meer geheugen gebruiken.
    3. Elke keer je commentaar gebruikt faal je in het schrijven van leesbare en duidelijke code.
    4. Gelukkig dat je vermeld dat dit persoonlijk voorkeur is.
    “In terms of how we evaluate schooling, everything is about working by yourself. If you work with someone else, it’s called cheating. Once you get out in the real world, everything you do involves working with other people.”
    PSN: Cycloon - Final Fantasy XIV: A realm reborn character
    no votes  

  6. #6

    Registered
    07/12/11
    Location
    Bornem
    Posts
    154
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    0/0
    is er mss een beter manier dan ik wil doen?
    of enige fouten dat ik niet zie als onervaren?

    ik doe alles in kladblok, is niet zo erg handig maarja
    no votes  

  7. #7
    Cycloon's Avatar
    Registered
    18/01/04
    Location
    Melle
    Posts
    10,535
    iTrader
    56 (100%)
    Mentioned
    0 Post(s)
    Reputation
    27/102
    De code die in de ondelete moet is javascript en geen php. Het meest eenvoudige is dat je gewoon een url achter je knop steekt die verwijst naar dezelfde pagina met een parameter pagina.php?verwijder=123 met 123 de id die je wil gaan verwijderen. Genoeg informatie te vinden via google over hoe je zoiets doet.
    “In terms of how we evaluate schooling, everything is about working by yourself. If you work with someone else, it’s called cheating. Once you get out in the real world, everything you do involves working with other people.”
    PSN: Cycloon - Final Fantasy XIV: A realm reborn character
    no votes  

  8. #8

    Registered
    07/12/11
    Location
    Bornem
    Posts
    154
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    0/0
    zoeken op parameters?
    no votes  

  9. #9
    Cycloon's Avatar
    Registered
    18/01/04
    Location
    Melle
    Posts
    10,535
    iTrader
    56 (100%)
    Mentioned
    0 Post(s)
    Reputation
    27/102
    Zoek eens op php guestbook tutorial, er zijn er duizenden te vinden. Kijk eens naar alle mogelijke manieren die zij bedacht hebben om een bericht te verwijderen. Kies er daarna de beste uit.
    “In terms of how we evaluate schooling, everything is about working by yourself. If you work with someone else, it’s called cheating. Once you get out in the real world, everything you do involves working with other people.”
    PSN: Cycloon - Final Fantasy XIV: A realm reborn character
    no votes  

  10. #10

    Registered
    07/12/11
    Location
    Bornem
    Posts
    154
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    0/0
    dus,

    Als ik een link leg naar een pagina
    bv: delete.php?id=1

    dan op de pagine de query uitvoer met dat id en dan terug verwijs naar gastenboek.php zou het moeten werken?
    no votes  

  11. #11

    Registered
    07/12/11
    Location
    Bornem
    Posts
    154
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    0/0
    PHP Code:
    <?php
                    $result 
    mysql_query("SELECT * FROM `gastenBoek` ORDER BY `id` DESC LIMIT 0,10");
                    while(
    $row mysql_fetch_array($result)) {
                        echo 
    '<div id="Boek">';
                        if(
    $fInfo['naam'] == $row['naam']){
                            echo 
    '<div style="float: right;"><a href="verwijder.php?id='.$row['id'].'">Verwijder</a></div>'
                        }
                        echo 
    '<b>'.$row['naam'].' op '.$row['datum'].':</b><br>'.nl2br($row['text']).'</div>';
                    }
                
    ?>
    PHP Code:
    <?php
        $con 
    mysql_connect("localhost","root","");
        if (!
    $con) {
            die(
    'Could not connect: ' mysql_error());
        }
        
    mysql_select_db("exaam"$con);

        
    $id $_GET['id'];
        
    mysql_query("DELETE FROM `exaam`.`gastenboek` WHERE `id` = ".$id.";");
        
    header("Location: gastenBoek.php");
    ?>
    dit werkt
    no votes  

  12. #12

    Registered
    07/12/11
    Location
    Bornem
    Posts
    154
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    0/0
    nu volgend probleem

    Ik wil een pc-builder maken in php
    maar hoe ga ik alles opslagen in een databank?
    bv. ik nee 2 HD en deze zijn 2 verschillende ..

    Alles komt in eigen tabbelen
    zoals alle HDD, moederborden, ...
    dus gebruik van id is het simpelste denk ik dan

    maar opslagen van een hele config? hoe?
    no votes  

  13. #13
    pietje666's Avatar
    Registered
    18/12/07
    Location
    Wijnegem
    Posts
    1,158
    iTrader
    3 (100%)
    Mentioned
    0 Post(s)
    Reputation
    0/5
    Als ik u was zou ik in netbeans werken ofzo, heb daar zelf ook php in geschreven en vond dat heel goed gaan. Code completion enzo kunt die debugger daar gemakkelijk in installeren, werkt algemeen gewoon veel beter.

    Ook zoek u is dingen op over sql injection want string concatenatie in sql statements vraagt gewoon om misbruikt te worden
    no votes  

  14. #14

    Registered
    07/12/11
    Location
    Bornem
    Posts
    154
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    0/0
    PHP Code:
        $result mysql_query("SELECT * FROM `gastenBoek` WHERE `id` = ".$id.";");
        
    $row mysql_fetch_assoc($result); 
    PHP Code:
                <div id="Boek"><p><?php echo $fInfo['naam'];?></p>
                <textarea name="text1" cols="40" rows="5"><?php echo $row['text']; ?></textarea><br>
                <input type="submit" name="Post" value="Posten" /></div>
                <?php
                
    if( isset($_POST['Post'])){
                    
    mysql_query("UPDATE `gastenboek` SET text='".$_POST['text1']."' WHERE id=".$id);
                    
    header("Location: gastenBoek.php");
                    exit;
                }
                
    ?>
    De info in textarea lukt.
    Maar om het weer uit te halen en dan dus een update uit te voeren lukt niet ..
    Waarom weet ik niet, er komen geen foutmeldingen maar het doet ook niet wat ik vraag ..
    no votes  

  15. #15
    pietje666's Avatar
    Registered
    18/12/07
    Location
    Wijnegem
    Posts
    1,158
    iTrader
    3 (100%)
    Mentioned
    0 Post(s)
    Reputation
    0/5
    ge zet is ne form rond uw textarea en submit en zet de action op post. Als het werkt moet ge is ingeven => qsdf' truncate table exaam --

    en volges mij moet er gene ; in dat sql statement als da verzonden wordt vanuit php
    no votes  

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

Log in

Log in