Autor | Zpráva | ||
---|---|---|---|
AntonP Profil |
#1 · Zasláno: 22. 10. 2017, 18:15:00
Dobrý večer,
pôjdem hneď k téme. Užívateľ zadá nejaký kupón a meno na jednej stránke. Klikne na tlačítko. 2 informácie (kupón a meno, na ktoré má byť kupón aktivovaný) sa odošlú na script pomocou GET. Na tento script to presmeruje aj užívateľa. V adrese sú napísané 2 informácie, tie čo som zadal, zatiaľ všetko vporiadku. Script má zistiť: dĺžku kódu - ak je kratšia ako 6, vypísať chybu a či sa kód nachádza v databáze. Ak nie, vypísať chybu. Lenže stránka očividne nedokáže spracovať GET údaje. URL je napr. pay.domena.eu/activateKupon.php?kod=12345&meno=jankohrasko. Do kódu napíšem echo $_GET["kod"]; (medzi ostatný kód, nie len tak samotné) a vyhľadávač nič nezobrazí. Ale pri načítaní sa mi zobrazí táto chyba: Fatal error: Call to a member function query() on null in /data/web/virtuals/******/virtual/www/domains/pay.**********.eu/aktivujKod.php on line 12
Môj kód je <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>ST.eu | Aktivačný script</title> </head> <body> <?php echo $_GET["kod"]; $mysqli = new mysqli('wm144.wedos.net', '*******_smskeys', '********', '*******_smskeys'); if ($mysqli->connect_error) { die("<div style='background-color:LightCoral; text-align:center; font-weight: bold; padding:12px; margin-left:200px; margin-right:200px; margin-top:330px;>Ups, chyba! Toto nie je chyba na Vašej strane. Prosím, kontaktujte administrátora. <br><small>Popis chyby: nepodarilo con db</small></div>"); if (strlen($kod) < 6) { echo "<div style='background-color:LightCoral; text-align:center; font-weight: bold; padding:12px; margin-left:200px; margin-right:200px; margin-top:330px;'>Kód je neplatný! <br><small>Popis chyby: kod < 6</small></div>"; } else { $statusKod = "ok"; } if ($result = $mysqli->query("SELECT * FROM test = '".$mysqli->real_escape_string($kod)."'")) { if ($result->num_rows === 0) { echo "<div style='background-color:LightCoral; text-align:center; font-weight: bold; padding:12px; margin-left:200px; margin-right:200px; margin-top:330px;'>Kód je neplatný! <br><small>Popis chyby: kod sa nenachadza v db</small></div>"; } else { $statusKod = "ok"; } $result->close(); } else { echo "<div style='background-color:LightCoral; text-align:center; font-weight: bold; padding:12px; margin-left:200px; margin-right:200px; margin-top:330px;'>Ups, chyba! Toto nie je chyba na Vašej strane. Prosím, kontaktujte administrátora. <br><small>Popis chyby: chyba v dotaze na db</small></div>"; } $mysqli->close(); ?> </body> </html> Ďakujem za každú radu a pomoc. Prajem pekný zvyšok večera. |
||
M4n Profil * |
#2 · Zasláno: 22. 10. 2017, 23:23:25
Těžko říct, v souboru aktivujKod.php na řádku 12 voláš metodu query() z proměnné, která není objekt, ale null.
Kód, který jsi sem vložil, na řádku 12 nemá nic, takže to evidentně není ten, který chybu způsobil. |
||
AntonP Profil |
Dobrý deň,
teraz prezerám ftp a z nejakej záhady je tam tento kód: <?php session_start(); $kod = $_SESSION["kod"]; $meno = $_SESSION["meno"]; if ($kod < 6) { echo "<div style='background-color:LightCoral; text-align:center; font-weight: bold; padding:12px; margin-left:200px; margin-right:200px; margin-top:330px;'>Kód je neplatný! <br><small>Popis chyby: kod < 6</small></div>"; } else { $statusKod = "ok"; } if ($result = $mysqli->query("SELECT * FROM test = '".$mysqli->real_escape_string($kod)."'")) { if ($result->num_rows === 0) { echo "<div style='background-color:LightCoral; text-align:center; font-weight: bold; padding:12px; margin-left:200px; margin-right:200px; margin-top:330px;'>Kód je neplatný! <br><small>Popis chyby: kod sa nenachadza v db</small></div>"; } else { $statusKod = "ok"; } $result->close(); } else { echo "<div style='background-color:LightCoral; text-align:center; font-weight: bold; padding:12px; margin-left:200px; margin-right:200px; margin-top:330px;'>Ups, chyba! Toto nie je chyba na Vašej strane. Prosím, kontaktujte administrátora. <br><small>Popis chyby: chyba v dotaze na db</small></div>"; } $mysqli->close(); ?> Teraz som si to uvedomil, neviem, čo to má znamenať, asi nastala nejaká chyba v prenose. Veľmi sa ospravedlňujel, topic môžete vymazať. Ešte raz, prepáčte. |
||
Časová prodleva: 6 let
|
0