1. Deze website gebruikt cookies. Door deze website verder te gebruiken, gaat u akkoord met ons gebruik van cookies. Leer Meer.

PHP Leren

Discussie in 'PC, Handheld & Algemeen' gestart door Pimmy, 24 jan 2004.

  1. NAC Breda fan

    NAC Breda fan Hoogeveense RAT

    Berichten:
    205
    Leuk Bevonden:
    1
    Oke, maar eerst werkte alles wel, maar toen deed ik een aanpassing aan de code, zodat er een foutje werd weggewerkt. Alleen toen kwam deze fout.
     
  2. Peanutnl

    Peanutnl Halo3

    Berichten:
    132
    Leuk Bevonden:
    0
    als je die verandereing nouw eens weg haalt een kijken of hij het dan doet.. doet hij het dan probeer je die verandereing op nieuw
     
  3. Darkwing

    Darkwing Active Member

    Berichten:
    6.510
    Leuk Bevonden:
    25
    Waarschijnlijk heb je iets als:

    PHP:
    $resultaat mysql_query("Hier staat je query");
    Zo niet, dan is dát de fout ;)
    Waarschijnlijk zit er een fout in je query, waardoor $resultaat leeg blijft. Even mysql_error() echoën, kijken of dat zo is en wat er fout is.
     
  4. [2k]

    [2k] XBW.nl VIP XBW.nl VIP

    Berichten:
    8.968
    Leuk Bevonden:
    207
    En de database goed aanroepen. Wanneer je met een database werkt, is het wat overbodig om steeds de database te selecteren.
    Maar goed, volgens mij heb je bij de query met de fout een keer de database niet gelecteerd of aangegeven.
     
  5. NAC Breda fan

    NAC Breda fan Hoogeveense RAT

    Berichten:
    205
    Leuk Bevonden:
    1
    PHP:
    <? ERROR_REPORTING(E_ALL);  
    $dbh=mysql_connect ("localhost""voetbal_info""w8woord") or die ("I cannot connect to the database because: ".mysql_error());  
    mysql_select_db ("voetbal_info");         
          
    if (isset(
    $_GET["id"])) { // Maak een lus om alle items te laten zien      
        
    $sql "SELECT * FROM `spelers` WHERE `id` = '".$_GET["id"]."'";   
        
    $resultaat mysql_query($sql$dbh);       
        if (
    $resultaat) {  
            while (
    $record mysql_fetch_array($resultaat)) {   
                echo 
    "<img src=".$record["foto"]." align=left border=1 vspace=3>";  
                echo 
    "<b>Naam:</b> ".$record["naam"]."<br>";  
                echo 
    "<b>Geboortedatum:</b> ".$record["geboortedatum"]."<br>";  
                echo 
    "<b>Geboorteplaats:</b> ".$record["geboorteplaats"]."<br>";  
                echo 
    "<b>Woonplaats:</b> ".$record["woonplaats"]."<br>";  
                echo 
    "<b>Burgerlijke staat:</b> ".$record["burgerlijkestaat"]."<br>";  
                echo 
    "<b>Kinderen:</b> ".$record["kinderen"]."<br>";  
                echo 
    "<b>Lengte:</b> ".$record["lengte"]."<br>";  
                echo 
    "<b>Gewicht:</b> ".$record["gewicht"]."<br>";   
                echo 
    "<b>Favoriete maaltijd:</b> ".$record["maaltijd"]."<br>";  
                echo 
    "<b>Favoriete Drinken:</b> ".$record["drinken"]."<br>";  
                echo 
    "<b>Favoriete muziek:</b> ".$record["muziek"]."<br>";  
                echo 
    "<b>Favoriete Club:</b> ".$record["favoclub"]."<br>";  
                echo 
    "<b>Positie:</b> ".$record["positie"]."<br>";  
                echo 
    "<b>Huidige Club:</b> ".$record["huidigeclub"]."<br>";  
                echo 
    "<b>Vorige clubs:</b> ".$record["vorigeclubs"]."<br>";  
                echo 
    "<b>Rugnummer:</b> ".$record["rugnummer"]."<br><br>";  
                echo 
    "<a href=index2.php><p><b>Terug</b></p></a>";  
            }  
        } else {  
            echo 
    "er is een foutje..";  
            
    //als hij hier iets geeft is er iets fout met de query.. 
        
    }  
        
    //voer een query uit waar je alle info over het desbetreffende id ophaalt 
     
    else {   
        
    //wat volgt snap ik niet helemaal 
        
    while ($record mysql_fetch_array($resultaat)) {   
            echo 
    "<a href=index2.php?id="$record["id"].">".$record["naam"]."</a>";  
        }  
    }   

    ?> 
    Deze gaf iemand me op PHPFreakz.

    Alleen krijg ik nu deze foutmelding.

    PHP:
    //voer een query uit waar je alle info over het desbetreffende id ophaalt 
     
    else {   
        
    //wat volgt snap ik niet helemaal 
    is lijn 35
     
  6. Peanutnl

    Peanutnl Halo3

    Berichten:
    132
    Leuk Bevonden:
    0
    dit is echt de simpelste debug
    zet is } voor else {
    dan moet het werken
     
  7. NAC Breda fan

    NAC Breda fan Hoogeveense RAT

    Berichten:
    205
    Leuk Bevonden:
    1
    Heb ik gedaan, maar toen kreeg ik weer een andere foutmelding. Die is inmiddels weer weggewerkt, maar nu komt er weer de melding

    Oftewel de melding die er altijd al was :'-(. Ik heb al een code neergezet zodat wordt gerapporteerd wat er fout is. Ik begrijp dat de variabele leeg is, maar hoe kan ik er dan voor zorgen dat die niet leeg is? :)
     
  8. Peanutnl

    Peanutnl Halo3

    Berichten:
    132
    Leuk Bevonden:
    0
    mja ik zie het al...
    PHP:
     } else {    
        
    //wat volgt snap ik niet helemaal  
        
    while ($record mysql_fetch_array($resultaat)) {    
            echo 
    "<a href=index2.php?id="$record["id"].">".$record["naam"]."</a>";   
        }   
    }    
    }  
    ?> 
    dit staat er bij jouw helemaal onderaan toch?
    want dat snap ik neit helemaal....
    als $_GET["id"] leeg is dan moet hij dat doenn.
    maar dan kan hij niks uit de database halen...
    leg me dat eens uit
    iig $resultaat is leeg,.. omdat hij daar niet gebruikt kan worden...
     
  9. NAC Breda fan

    NAC Breda fan Hoogeveense RAT

    Berichten:
    205
    Leuk Bevonden:
    1
    Zo gaf iemand me de code. Maar wat moet ik nu ongeveer veranderen? :)
     
  10. Peanutnl

    Peanutnl Halo3

    Berichten:
    132
    Leuk Bevonden:
    0
    gewoon alles wat ik daarstraks had getypt.. vervangen door:
    PHP:

    }  
    ?>  
     
  11. NAC Breda fan

    NAC Breda fan Hoogeveense RAT

    Berichten:
    205
    Leuk Bevonden:
    1
    Nou heb ik tenminste geen foutmeldingen meer :), maar nu staat er helemaal niets meer. Terwijl de namen van de spelers op de index horen te staan.
     
  12. Peanutnl

    Peanutnl Halo3

    Berichten:
    132
    Leuk Bevonden:
    0
    dus als er geen ?id=2 is gegeven in de adress balk moet er een lijst komen met alle name?
    edit dan bedoel je waarschijnlijk zoiets
    PHP:
    <? ERROR_REPORTING(E_ALL);  
    $dbh=mysql_connect ("localhost""voetbal_info""w8woord") or die ("I cannot connect to the database because: ".mysql_error());  
    mysql_select_db ("voetbal_info");         
          
    if (isset(
    $_GET["id"])) { // Maak een lus om alle items te laten zien      
        
    $sql "SELECT * FROM `spelers` WHERE `id` = '".$_GET["id"]."'";   
        
    $resultaat mysql_query($sql$dbh);       
        if (
    $resultaat) {  
            while (
    $record mysql_fetch_array($resultaat)) {   
                echo 
    "<img src=".$record["foto"]." align=left border=1 vspace=3>";  
                echo 
    "<b>Naam:</b> ".$record["naam"]."<br>";  
                echo 
    "<b>Geboortedatum:</b> ".$record["geboortedatum"]."<br>";  
                echo 
    "<b>Geboorteplaats:</b> ".$record["geboorteplaats"]."<br>";  
                echo 
    "<b>Woonplaats:</b> ".$record["woonplaats"]."<br>";  
                echo 
    "<b>Burgerlijke staat:</b> ".$record["burgerlijkestaat"]."<br>";  
                echo 
    "<b>Kinderen:</b> ".$record["kinderen"]."<br>";  
                echo 
    "<b>Lengte:</b> ".$record["lengte"]."<br>";  
                echo 
    "<b>Gewicht:</b> ".$record["gewicht"]."<br>";   
                echo 
    "<b>Favoriete maaltijd:</b> ".$record["maaltijd"]."<br>";  
                echo 
    "<b>Favoriete Drinken:</b> ".$record["drinken"]."<br>";  
                echo 
    "<b>Favoriete muziek:</b> ".$record["muziek"]."<br>";  
                echo 
    "<b>Favoriete Club:</b> ".$record["favoclub"]."<br>";  
                echo 
    "<b>Positie:</b> ".$record["positie"]."<br>";  
                echo 
    "<b>Huidige Club:</b> ".$record["huidigeclub"]."<br>";  
                echo 
    "<b>Vorige clubs:</b> ".$record["vorigeclubs"]."<br>";  
                echo 
    "<b>Rugnummer:</b> ".$record["rugnummer"]."<br><br>";  
                echo 
    "<a href=index2.php><p><b>Terug</b></p></a>";  
            }  
        } else {  
            echo 
    "er is een foutje..";  
            
    //als hij hier iets geeft is er iets fout met de query.. 
        
    }  
        
    //voer een query uit waar je alle info over het desbetreffende id ophaalt 
     
    } else {   
        
    $sql "SELECT id, naam FROM `spelers`";   
        
    $resultaat mysql_query($sql$dbh);
        while (
    $record mysql_fetch_array($resultaat)) {   
            echo 
    "<a href=index2.php?id="$record["id"].">".$record["naam"]."</a>";  
        }  
    }   

    ?> 
     
    Laatst bewerkt: 27 okt 2005
  13. NAC Breda fan

    NAC Breda fan Hoogeveense RAT

    Berichten:
    205
    Leuk Bevonden:
    1
    Hij klopt nu wel :), ik kreeg wel een foutmelding, maar die heb ik weggewerkt. Bedankt :)
     
  14. NAC Breda fan

    NAC Breda fan Hoogeveense RAT

    Berichten:
    205
    Leuk Bevonden:
    1
    Ik ben weer een probleem tegengekomen. Voor mijn spelerssysteem heb ik een pagina gescript waarmee ik spelers via een invulformiliertje kan toevoegen aan de database. Eerder deed ik dat via PHPMyAdmin, maar dit kost erg veel tijd.

    PHP:
    <link rel="stylesheet" type="text/css" href="../style.css"> 
    <?php 
    if ( !empty($_POST['stap']) && $_POST['stap'] == 
          
    // Maak verbinding met MySQL server 
    $dbh=mysql_connect ("localhost""voetbal_info""w8woord") or die ('I cannot connect to the database because: ' mysql_error());
    mysql_select_db ("voetbal_info");
           
          
    // Zet voor 'gevaarlijke' tekens (', ", en \) een extra \ 
          
    $foto addslashes($foto); 
          
    $naam addslashes($naam);
          
    $geboortedatum addslashes($geboortedatum); 
            
    $geboorteplaats addslashes($geboorteplaats); 
          
    $nationaliteit addslashes($nationaliteit); 
          
    $woonplaats addslashes($woonplaats); 
          
    $burgerlijkestaat addslashes($burgerlijkestaat); 
          
    $kinderen addslashes($kinderen); 
          
    $lengte addslashes($lengte); 
          
    $gewicht addslashes($gewicht); 
          
    $maaltijd addslashes($maaltijd); 
          
    $drinken addslashes($drinken); 
          
    $muziek addslashes($muziek); 
          
    $favoclub addslashes($favoclub); 
          
    $positie addslashes($positie); 
          
    $huidigeclub addslashes($huidigeclub); 
          
    $vorigeclubs addslashes($vorigeclubs); 
          
    $rugnummer addslashes($rugnummer); 

           
    // Maak SQL query om toe te voegen (INSERT) 
          
    $sql "INSERT INTO spelers (foto, naam, geboorteplaats, geboortedatum, nationaliteit, woonplaats, burgerlijkestaat, kinderen, lengte, gewicht, maaltijd, drinken, muziek, favoclub, positie, huidigeclub, vorigeclubs, rugnummer) 
             VALUES ('
    $foto', '$naam', '$geboortedatum', '$geboorteplaats', '$nationaliteit', '$woonplaats', '$burgerlijkestaat', '$kinderen', '$lengte', '$gewicht', '$maaltijd', '$drinken', '$muziek', '$favoclub', '$positie', '$huidigeclub', '$vorigeclubs', '$rugnummer')"
           
          
    // Voer SQL uit 
          
    mysql_query($sql$dbh) or die("Foutje, ga terug"); 
           
          
    // Geef bevestiging 
          
    echo "De speler is succesvol toegevoegd."
       {} 
    ?> 
    <html> 
    <head> 
       <title>Speler toevoegen</title> 
    </head> 
    <body> 
       
    <h3>Speler toevoegen</h3>
    <form action="index2.php" method="post">
      <input type="hidden" name="submit" value="yes">
      Foto: 
      <input type="text" name="foto">
      <br>
      Naam: 
      <input type="text" name="naam">
      <br>
      Geboortedatum: 
      <input type="text" name="geboortedatum">
      <br>
      Geboorteplaats: 
      <input type="text" name="geboorteplaats">
      <br>
      Nationaliteit: 
      <input type="text" name="nationaliteit">
      <br>
      Woonplaats: 
      <input type="text" name="woonplaats">
      <br>
      Burgerlijke Staat: 
      <input type="text" name="burgerlijkestaat">
      <br>
      Kinderen: 
      <input type="text" name="kinderen">
      <br>
      Lengte: 
      <input type="text" name="lengte">
      <br>
      Gewicht: 
      <input type="text" name="gewicht">
      <br>
      Favoriete Maaltijd: 
      <input type="text" name="maaltijd">
      <br>
      Favoriete Drinken: 
      <input type="text" name="drinken">
      <br>
      Favoriete Muziek: 
      <input type="text" name="muziek">
      <br>
      Favoriete Club: 
      <input type="text" name="favoclub">
      <br>
      Positie: 
      <input type="text" name="postitie">
      <br>
      Huidige Club: 
      <input type="text" name="huidigeclub">
      <br>
      Vorige Clubs: 
      <input type="text" name="vorigeclubs">
      <br>
      Rugnummer: 
      <input type="text" name="rugnummer">
      <p> 
      <input type="hidden" name="stap" value="2" />
        <input type="submit" value="Voeg toe">
    </form> 
    </body> 
    </html> 
    Dit is mijn code.

    Deze fouemdling krijg ik

    Ik weet dat het iets te maken heeft met dat de database connecties niet kloppen. Ik ben er zeker van dat ze wel kloppen, want ik heb hem letterlijk uit mijn CPanel overgenomen. Ik heb even met de host gepraat en die zeggen dat zij ook geen fout kunnen vinden.
     
  15. Dokter Gonzo

    Dokter Gonzo Hunter S. Thompson

    Berichten:
    856
    Leuk Bevonden:
    0
    je bent de begin accolade van de if-lus vergeten :)

    zo werkt ie waarschijnlijk wel:
    PHP:
    <link rel="stylesheet" type="text/css" href="../style.css"> 
    <?php 
    if ( !empty($_POST['stap']) && $_POST['stap'] == ) {
          
    // Maak verbinding met MySQL server 
    $dbh=mysql_connect ("localhost""voetbal_info""w8woord") or die ('I cannot connect to the database because: ' mysql_error());
    mysql_select_db ("voetbal_info");
           
          
    // Zet voor 'gevaarlijke' tekens (', ", en \) een extra \ 
          
    $foto addslashes($foto); 
          
    $naam addslashes($naam);
          
    $geboortedatum addslashes($geboortedatum); 
            
    $geboorteplaats addslashes($geboorteplaats); 
          
    $nationaliteit addslashes($nationaliteit); 
          
    $woonplaats addslashes($woonplaats); 
          
    $burgerlijkestaat addslashes($burgerlijkestaat); 
          
    $kinderen addslashes($kinderen); 
          
    $lengte addslashes($lengte); 
          
    $gewicht addslashes($gewicht); 
          
    $maaltijd addslashes($maaltijd); 
          
    $drinken addslashes($drinken); 
          
    $muziek addslashes($muziek); 
          
    $favoclub addslashes($favoclub); 
          
    $positie addslashes($positie); 
          
    $huidigeclub addslashes($huidigeclub); 
          
    $vorigeclubs addslashes($vorigeclubs); 
          
    $rugnummer addslashes($rugnummer); 

           
    // Maak SQL query om toe te voegen (INSERT) 
          
    $sql "INSERT INTO spelers (foto, naam, geboorteplaats, geboortedatum, nationaliteit, woonplaats, burgerlijkestaat, kinderen, lengte, gewicht, maaltijd, drinken, muziek, favoclub, positie, huidigeclub, vorigeclubs, rugnummer) 
             VALUES ('
    $foto', '$naam', '$geboortedatum', '$geboorteplaats', '$nationaliteit', '$woonplaats', '$burgerlijkestaat', '$kinderen', '$lengte', '$gewicht', '$maaltijd', '$drinken', '$muziek', '$favoclub', '$positie', '$huidigeclub', '$vorigeclubs', '$rugnummer')"
           
          
    // Voer SQL uit 
          
    mysql_query($sql$dbh) or die("Foutje, ga terug"); 
           
          
    // Geef bevestiging 
          
    echo "De speler is succesvol toegevoegd."
       } 
    ?> 
    <html> 
    <head> 
       <title>Speler toevoegen</title> 
    </head> 
    <body> 
       
    <h3>Speler toevoegen</h3>
    <form action="index2.php" method="post">
      <input type="hidden" name="submit" value="yes">
      Foto: 
      <input type="text" name="foto">
      <br>
      Naam: 
      <input type="text" name="naam">
      <br>
      Geboortedatum: 
      <input type="text" name="geboortedatum">
      <br>
      Geboorteplaats: 
      <input type="text" name="geboorteplaats">
      <br>
      Nationaliteit: 
      <input type="text" name="nationaliteit">
      <br>
      Woonplaats: 
      <input type="text" name="woonplaats">
      <br>
      Burgerlijke Staat: 
      <input type="text" name="burgerlijkestaat">
      <br>
      Kinderen: 
      <input type="text" name="kinderen">
      <br>
      Lengte: 
      <input type="text" name="lengte">
      <br>
      Gewicht: 
      <input type="text" name="gewicht">
      <br>
      Favoriete Maaltijd: 
      <input type="text" name="maaltijd">
      <br>
      Favoriete Drinken: 
      <input type="text" name="drinken">
      <br>
      Favoriete Muziek: 
      <input type="text" name="muziek">
      <br>
      Favoriete Club: 
      <input type="text" name="favoclub">
      <br>
      Positie: 
      <input type="text" name="postitie">
      <br>
      Huidige Club: 
      <input type="text" name="huidigeclub">
      <br>
      Vorige Clubs: 
      <input type="text" name="vorigeclubs">
      <br>
      Rugnummer: 
      <input type="text" name="rugnummer">
      <p> 
      <input type="hidden" name="stap" value="2" />
        <input type="submit" value="Voeg toe">
    </form> 
    </body> 
    </html> 
     
  16. NAC Breda fan

    NAC Breda fan Hoogeveense RAT

    Berichten:
    205
    Leuk Bevonden:
    1
    De pagina doet het in elk geval weer, maar zo gauw ik klaar ben met toevoegen, wordt er helemaal niets toevegoegd aan mijn database. :confused: Hoe komt dat?
     
    Laatst bewerkt: 2 nov 2005
  17. Dokter Gonzo

    Dokter Gonzo Hunter S. Thompson

    Berichten:
    856
    Leuk Bevonden:
    0
    De data dat uit de form word meegestuurd, moet eerst aan de variabelen gekoppeld worden. Het is trouwens beter om $SERVER['PHP_SELF'] te gebruiken om de form en de php code op dezelfde pagina te houden

    PHP:
    $foto $POST['foto']; 
    $naam $POST['naam']; 
    enz..
     
  18. [2k]

    [2k] XBW.nl VIP XBW.nl VIP

    Berichten:
    8.968
    Leuk Bevonden:
    207
    $_POST[] ipv $POST[].
    Tenminste, nog nooit geprobeerd zonder die underscore, maar als ik me niet vergist moet die erbij, net als $_GET[] etc.
     
  19. Dokter Gonzo

    Dokter Gonzo Hunter S. Thompson

    Berichten:
    856
    Leuk Bevonden:
    0
    jup, je hebt gelijk, met underscore idd. Het is alweer een tijdje geleden;)
     
  20. NAC Breda fan

    NAC Breda fan Hoogeveense RAT

    Berichten:
    205
    Leuk Bevonden:
    1
    Ok, maar waar moet ik die dan neerzetten. Moet ik ze op plaats zetten van deze

    PHP:
    $foto addslashes($foto);  
    $naam addslashes($naam); 
    Of ergens anders? Eronder bijvoorbeeld?
     

Deel Deze Pagina