login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Geen error blank pagina

Offline tomk - 24/04/2009 17:18
Avatar van tomkASP interesse Dag mensen,

Ik snap effe niet wat er fout is. Ben bezig met voetbalmanagerspel maar met het verkopen van een speler gaat het fout. Als ik naar mijn spelers pagina ga(spelers in je team) en daar op de verkoop butten druk van de speler gaat die naar verkoop pagina maar die blijft blanko.

  1. <?
  2.  
  3. $query = mysql_query("SELECT * FROM spelers WHERE team = '$memberid' AND id = '".$_GET['id']."'");
  4. while($object = mysql_fetch_object($query)){
  5. $gemiddeld = $object->aanval / 3 + $object->verdedig / 3 + $object->middenveld / 3 ;
  6. $waarde = $gemiddeld * 18181;
  7. round($waarde, 0);
  8.  
  9. echo "Voor welk bedrag wil je proberen <b>$object->naam</b> te verkopen?
  10.  
  11. <form method=\"POST\" action=\"?actie=verkoop&id=".$_GET['id']."&doe=1\">
  12.  
  13. Bedrag:<input type=\"text\" name=\"prijs\" size=\"20\" CLASS=\"textbox\" value=\"$waarde\">
  14.  
  15. <input type=\"submit\" value=\"Bevestig\" CLASS=\"textbox\">";
  16.  
  17. if($_GET['doe'] == "1"){
  18.  
  19. if(htmlentities($_POST['prijs'], ENT_QUOTES))
  20. {
  21. echo "ongeldige waarde";
  22. }
  23. else {
  24.  
  25. $prijs = "".$_POST['prijs']."";
  26. $id = "".$_GET['id']."";
  27. mysql_query("UPDATE spelers SET prijs = '$prijs', transferlijst = '1' WHERE id = '$id'") or die (mysql_error());
  28.  
  29. echo "Op de transferlijst gezet";
  30. echo "<META HTTP-EQUIV=\"REFRESH\" CONTENT=\"1; URL=?actie=transferlijst\">";
  31. }
  32. }
  33.  
  34. ?>


De link vanuit de mijn spelers pagina van de verkoop butten zit er zo bijv uit: index.php?actie=verkoop&id=55.

Alvast bedankt

9 antwoorden

Gesponsorde links
Offline Joost - 24/04/2009 17:20
Avatar van Joost PHP expert Error reporting aan?

Verder is je code niet echt safe..  
Offline kickasgamer - 24/04/2009 18:45 (laatste wijziging 24/04/2009 18:45)
Avatar van kickasgamer PHP ver gevorderde zet effe bovenaan

  1. ini_set("error_reporting", E_ALL);


als er dan een echt fout zit dan krijg je die wel te zien 
Offline Sander1993 - 24/04/2009 18:47 (laatste wijziging 24/04/2009 18:49)
Avatar van Sander1993 PHP interesse zet ff in je php.ini dit:
display_errors = On
of als je daar niet bij kunt vanwege je hosting, maak dan ff een bestandje aan in dezelfde directory en noem m php.ini met dit erin:
display_errors = On

dan kunnen we tenminste de errors zien.

edit,
maak van dit:
  1. $query = mysql_query("SELECT * FROM spelers WHERE team = '$memberid' AND id = '".$_GET['id']."'");
  2. // dit:
  3. $query = mysql_query("SELECT * FROM spelers WHERE team = '".$memberid."' AND id = '".$_GET['id']."'");


en na elke if enzo een tab, dan heb je wat overzicht over je code
Offline Richard - 24/04/2009 21:35
Avatar van Richard Crew algemeen Waar komt $memberid überhaupt vandaan?
Offline Chupskie - 25/04/2009 10:06
Avatar van Chupskie MySQL beginner Ik ben zo vriendelijk geweest, je code even te herschrijven.
  1. <?php
  2.  
  3. $memberid = '';
  4.  
  5. $query = mysql_query("SELECT * FROM spelers WHERE team = '".$memberid."' AND id = '".$_GET['id']."'");
  6. while($array = mysql_fetch_array($query)){
  7.  
  8. $gemiddeld = $array['aanval'] / 3 + $array['verdedig'] / 3 + $array['middenveld'] / 3 ;
  9. $waarde = $gemiddeld * 18181;
  10. round($waarde, 0);
  11.  
  12. echo "
  13. Voor welk bedrag wil je proberen <b>".$array['naam']."</b> te verkopen?
  14.  
  15. <form method='post' action='index.php?actie=verkoop&id=".$_GET['id']."&doe=1'>
  16.  
  17. Bedrag:
  18.  
  19. <input type='text' name='prijs' size='20' class='textbox' value='".$waarde."'>
  20.  
  21. <input type='submit' value='Bevestig' class='textbox'>
  22.  
  23. </form>";
  24.  
  25. if(isset($_GET['doe']) && $_GET['doe'] == "1"){
  26.  
  27. if(isset($_GET['id']) && $_GET['id'] != "" && $_POST['prijs'] != ""){
  28.  
  29. mysql_query("UPDATE spelers SET prijs = '".addslashes($_POST['prijs'])."', transferlijst = '1' WHERE id = '".addslashes($_GET['id'])."' ") or die (mysql_error());
  30.  
  31. echo "Op de transferlijst gezet";
  32. echo "<meta http-equiv='refresh' content='1; url=index.php?actie=transferlijst'>";
  33.  
  34. }else{
  35.  
  36. echo "Helaas, je hebt niet alle velden goed ingevuld.";
  37.  
  38. }
  39.  
  40. }
  41.  
  42. }
  43.  
  44. ?>


Ik zeg niet dat alles nu perfect is, maar er zitten in iig iets meer logica en beveiliging in.

Succes!
Offline Joost - 25/04/2009 10:38
Avatar van Joost PHP expert
Chupskie schreef:
Ik ben zo vriendelijk geweest, je code even te herschrijven.
[..code..]

Ik zeg niet dat alles nu perfect is, maar er zitten in iig iets meer logica en beveiliging in.

Succes!

  1. '".$_GET['id']."'

Als je hem dan herschrijft, doe het dan wel proper...
Offline Chupskie - 25/04/2009 17:56 (laatste wijziging 25/04/2009 18:01)
Avatar van Chupskie MySQL beginner @Medieval,

Lol, doe ff normaal zeg. Ik heb dit ook maar even snel uit de losse hand getypt. Zoals je kunt zien is dit in de rest van het script wel gedaan, zie o.a. '".addslashes($_GET['id'])."'.

Citaat:
Ik zeg niet dat alles nu perfect is, maar er zitten in iig iets meer logica en beveiliging in.

En lezen is ook niet jou sterkste vak.

We doen hier op sima aan hulp. Ik hoef toch niet alles voor te kouwen. En vooral niet als de TS er zelfs niet de moeite voor neemt, om uberhaupt een dankje of iets dergelijks te plaatsen.

Maar ik wacht jou sterk stukje code wel af. Als jij zo behulphoevend bent!

Edit:
Citaat:
Quote Medieval: Verder is je code niet echt safe..
Ohja, dit zijn natuurlijk bruikbare tips. Daar heeft een gebruiker wat aan! 
Offline Joost - 26/04/2009 02:04 (laatste wijziging 26/04/2009 02:09)
Avatar van Joost PHP expert
Chupskie schreef:
@Medieval,

Lol, doe ff normaal zeg. Ik heb dit ook maar even snel uit de losse hand getypt. Zoals je kunt zien is dit in de rest van het script wel gedaan, zie o.a. '".addslashes($_GET['id'])."'.

Aan half werk heb je niks. Zeker zonder enige uitleg of wat dan ook.
Chupskie schreef:
En lezen is ook niet jou sterkste vak.

Beetje flamen vind je niet? Ik heb dat gelezen, toch vond ik mijn post nodig omdat er gewoon dingen ontbraken die bij zo'n verbetering niet horen te ontbreken.
Chupskie schreef:
We doen hier op sima aan hulp. Ik hoef toch niet alles voor te kouwen. En vooral niet als de TS er zelfs niet de moeite voor neemt, om uberhaupt een dankje of iets dergelijks te plaatsen.

Je spreekt jezelf hier een beetje tegen. Je zegt dat je ook niet alles voor hoeft te kauwen, terwijl ik in de post met je script totaal géén uitleg of wat dan ook zie van wat je hebt veranderd qua veiligheid/logica. Je zegt dat de TS er zelf moeite voor moet doen, en jij geeft hem kant en klaar een aangepast een script? Ik wijs hem erop dat er een beveiligingsfout zit in zijn code, dan kan hij op zoek gaan, en bijvoorbeeld de goede tutorial van Sliphead over beveiliging in PHP vinden.
Chupskie schreef:
[..quote..]Ohja, dit zijn natuurlijk bruikbare tips. Daar heeft een gebruiker wat aan! 

Zie bovenstaande.

Chupskie schreef:
Maar ik wacht jou sterk stukje code wel af. Als jij zo behulphoevend bent!

Zie ook weer bovenstaande, de topic starter heeft er vrijwel niks aan dat ik zijn scriptjes schrijf.


@TS: In je originele code zitten nogal wat beveiligingsfouten, vooral wat betreft SQL Injecties. Zie onderstaande tutorial:
http://www.site...cripts#sql
Offline Chupskie - 27/04/2009 08:13 (laatste wijziging 27/04/2009 08:27)
Avatar van Chupskie MySQL beginner
Citaat:
Je zegt dat de TS er zelf moeite voor moet doen, en jij geeft hem kant en klaar een aangepast een script? Ik wijs hem erop dat er een beveiligingsfout zit in zijn code, dan kan hij op zoek gaan.

Waar wijs je hem er op dat hij dat moet doen, met deze 3 regels?
Citaat:
Error reporting aan?

Verder is je code niet echt safe..  

Als je hem dan herschrijft, doe het dan wel proper...

Ik denk het niet. Daar heeft de ts niks aan. 

Er zitten zeker al een groot deel kwa verbeteringen in de code. Zoals je zelf al zegt, de ts moet zelf ook iniatief nemen. Dankzij mijn voorbeeld, kan hij dingen gaan vergelijken, hoe het beter kan, en waar nog meer verbeter punten in zitten. (Inderdaad ik het beter kunnen commenten, maar waarvoor, hij mag al dankbaar zijn, dat ik er energie ik heb gestoken om 80% van zijn scriptje te herschrijven, en dat terwijl de ts zelf niet eens meer reageerd).

En lukt dit alles hem dat niet of wil hij uitleg over bepaalde handelingen, waarom of waarom juist niet? Dan kan hij toch gewoon weer in dit topic terrecht?

En dit is niet het enigste topic, waar je een beetje punten zitten te score, door nutteloze reacties, als ik zo je bijdrage bekijk bij dit topic o.a.: http://www.sitemasters.be/forum/1/33670#id218386 en bij dit
http://www.site...1#id214128

Maar goed genoeg gelult hierover. Zoals al gezegd, we doen allebij ons best om te helpen. En zijn er niet om elkaars werk af te zeiken! Toch? 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.258s