login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Credits probleem (Opgelost)

Offline ArcanA - 29/08/2007 15:08 (laatste wijziging 29/08/2007 15:09)
Avatar van ArcanAPHP beginner Hallo,
Sorry dat ik weer een topic aanmaak maar ik heb weer een probleem met mijn script. De bedoeling is wanneer je je naam verandert dat er 50credits van je account afgaat. Dat werkt. Maar wanneer je niet genoeg credits hebt om je naam te veranderen komt er:

"Je hebt niet genoeg credits om de naam van je hond te veranderen. De naam van je hond is met succes veranderd in ArcanA"

De naam verandert en credits blijven op0.

Hier is het script:

  1. <?php
  2. if(empty($_POST['naam'])) {
  3. ?>
  4.  
  5. <p>Hier kun je je hond een naam geven! Je hond een naam geven kost <i>50</i> credits.
  6. </p>
  7. <form action="index.php?pagina=naam&amp;id=<?php echo $_GET['id']; ?>" method="post">
  8. Naam: <input name="naam" type="text">
  9. <input type="submit" name="Submit" value="Geef naam!">
  10. </form>
  11. <?php
  12. }
  13. else {
  14. // Maak verbinding met server
  15. include("includes/db-connect.php");
  16. // Selecteer database
  17. mysql_select_db("desite");
  18. $query = "SELECT credits FROM gebruikers WHERE gebruikersnaam = '".$_SESSION['gebruikersnaam']."'";
  19. $obj = mysql_fetch_object( mysql_query($query) );
  20.  
  21. if($obj->credits<50) {
  22. echo "Je hebt niet genoeg credits om de naam van je hond te veranderen. ";
  23. }
  24. else {
  25.  
  26. if( ! mysql_query("UPDATE gebruikers SET credits=credits - 50 WHERE gebruikersnaam='".$_SESSION['gebruikersnaam']."'") ) {
  27. } else {
  28. echo "de naam van je hond is aangepast.";
  29. }
  30.  
  31. }
  32.  
  33.  
  34. $query = mysql_query("SELECT naam FROM honden WHERE naam = '".$_POST['naam']."'");
  35. if(mysql_num_rows($query) > 1) {
  36. echo "Deze naam bestaat al.";
  37. }
  38. else {
  39. $query = "SELECT eigenaar FROM honden WHERE id = '".$_GET['id']."'";
  40. // Voer query uit
  41. $obj = mysql_fetch_object( mysql_query($query) );
  42.  
  43. if($obj->eigenaar != $_SESSION['gebruikersnaam']) {
  44. echo "Je bent niet de eigenaar van deze hond.";
  45. }
  46. else {
  47. $query = "UPDATE honden SET naam = '".$_POST['naam']."' WHERE id = '".$_GET['id']."'";
  48. mysql_query($query) or die (mysql_error());
  49. echo "De naam van je hond is met succes veranderd in <i>".$_POST['naam']."</i>";
  50. }
  51.  
  52. }
  53. }
  54. ?>


Wie kan me helpen?
ArcanA .

2 antwoorden

Gesponsorde links
Offline Rik - 29/08/2007 15:21 (laatste wijziging 29/08/2007 15:25)
Avatar van Rik Gouden medailleGouden medaille

Crew algemeen
Probeer hem zo eens:
  1. <?php
  2. if(empty($_POST['naam'])) {
  3. ?>
  4.  
  5. <p>Hier kun je je hond een naam geven! Je hond een naam geven kost <i>50</i> credits.
  6. </p>
  7. <form action="index.php?pagina=naam&amp;id=<?php echo $_GET['id']; ?>" method="post">
  8. Naam: <input name="naam" type="text">
  9. <input type="submit" name="Submit" value="Geef naam!">
  10. </form>
  11. <?php
  12. }
  13. else {
  14. // Maak verbinding met server
  15. include("includes/db-connect.php");
  16. // Selecteer database
  17. mysql_select_db("desite");
  18. $query = "SELECT credits FROM gebruikers WHERE gebruikersnaam = '".$_SESSION['gebruikersnaam']."'";
  19. $obj = mysql_fetch_object( mysql_query($query) );
  20.  
  21. // Genoeg geld?
  22. if($obj->credits<50) {
  23. echo "Je hebt niet genoeg credits om de naam van je hond te veranderen. ";
  24. } else {
  25. // Bestaat de naam al?
  26. $query = mysql_query("SELECT naam FROM honden WHERE naam = '".$_POST['naam']."'");
  27. if(mysql_num_rows($query) > 1) {
  28. echo "Deze naam bestaat al.";
  29. } else {
  30. $query = "SELECT eigenaar FROM honden WHERE id = '".$_GET['id']."'";
  31. $obj = mysql_fetch_object( mysql_query($query) );
  32. if($obj->eigenaar != $_SESSION['gebruikersnaam']) {
  33. echo "Je bent niet de eigenaar van deze hond.";
  34. } else {
  35. // Alles ok, geld afschrijven en naam veranderen
  36. mysql_query("UPDATE gebruikers SET credits=credits - 50 WHERE gebruikersnaam='".$_SESSION['gebruikersnaam']."'") or die (mysql_error());
  37. $query = "UPDATE honden SET naam = '".$_POST['naam']."' WHERE id = '".$_GET['id']."'";
  38. mysql_query($query) or die (mysql_error());
  39. echo "De naam van je hond is met succes veranderd in <i>".$_POST['naam']."</i>";
  40. }
  41. }
  42. }
  43. }
  44. ?>
Op zich klopte je code, maar het stond niet helemaal in een logische volgorde... Je schreef bijvoorbeeld al geld af voordat je zeker wist of de bezoeker wel de eigenaar van de hond is en of de naam uniek is.
Offline ArcanA - 29/08/2007 15:24
Avatar van ArcanA PHP beginner Ja, hij werkt!
Heel erg bedankt!

ArcanA;-).
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.206s