Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MySQL]Nietypowo działający skrypt
jacusek
post
Post #1





Grupa: Zarejestrowani
Postów: 262
Pomógł: 3
Dołączył: 18.10.2009
Skąd: Łódź

Ostrzeżenie: (0%)
-----


Witam.
Mam taki skrypt wysyłający dane z formularza do bazy
  1. <?php
  2. include('connect2.php');
  3. include('cookie.php');
  4. if(empty($_GET['nazwisko'])||empty($_GET['imie'])||empty($_GET['id_lek'])||empty($_GET['miasto'])
  5. ||empty($_GET['termin'])){
  6. die(
  7. "<center><b>!!!!SPRAWDŹ CZY WYPEŁNIŁEŚ WSZYSTKIE OBOWIĄZKOWE POLA!!!!</b></center>
  8. <center><h2><a href=\"pacjent.php\">WRÓC DO FORMULARZA</a></h2></center>");
  9. }
  10. if(!empty($_GET['PESEL'])){
  11. if((is_numeric($_GET['PESEL'])==false)||(strlen($_GET['PESEL'])<11)){
  12. die("PESEL MA NIEPRAWIDŁOWY FORMAT LUB JEST ZA KRÓTKI<br/>");
  13. }
  14. }
  15. if(!empty($_GET['tel'])){
  16. if((is_numeric($_GET['tel'])==false)||(strlen($_GET['tel'])<9)){
  17. die("NUMER TELEFONU MA NIEPRAWIDŁOWY FORMAT LUB JEST ZA KRÓTKI<br/>");
  18. }
  19. }
  20. if(!empty($_GET['tel_kom'])){
  21. if((is_numeric($_GET['tel_kom'])==false)||(strlen($_GET['tel_kom'])<9)){
  22. die("NUMER TELEFONU KOMÓRKOWEGO MA NIEPRAWIDŁOWY FORMAT LUB JEST ZA KRÓTKI<br/>");
  23. }
  24. }
  25.  
  26. else{
  27. //pacjent bez PESEL
  28. if (empty($_GET['PESEL'])){
  29. $query = 'insert into pacjenci (PESEL,nazwisko, imie, miasto, adres, tel, tel_kom, rok_ur,wizyta,id_lek) values
  30. (NULL,"'.$_GET['nazwisko'].'","'.$_GET['imie'].'",
  31. "'.$_GET['miasto'].'",
  32. "'.$_GET['adres'].'","'.$_GET['tel'].'","'.$_GET['tel_kom'].'","'.$_GET['rok_ur'].'","'.$_GET['termin'].'",
  33. "'.$_GET['id_lek'].'")';
  34. $result=mysqli_query($mysqli,$query)
  35. or die(mysqli_error($mysqli));
  36. }
  37. //pacjenct z PESEL
  38. if(!empty($_GET['PESEL']))
  39. {
  40. $query2 = 'insert into pacjenci (PESEL, nazwisko, imie, miasto, adres, tel, tel_kom, rok_ur,wizyta,id_lek) values
  41. ("'.$_GET['PESEL'].'","'.$_GET['nazwisko'].'","'.$_GET['imie'].'",
  42. "'.$_GET['miasto'].'",
  43. "'.$_GET['adres'].'","'.$_GET['tel'].'","'.$_GET['tel_kom'].'","'.$_GET['rok_ur'].'","'.$_GET['termin'].'",
  44. "'.$_GET['id_lek'].'")';
  45. $result=mysqli_query($mysqli,$query2)
  46. or die(mysqli_error($mysqli));
  47. }
  48. }
  49. $query3='call pac()';
  50. $result3=mysqli_query($mysqli,$query3);
  51. $query4='call plec()';
  52. $result4=mysqli_query($mysqli,$query4);
  53. echo "<center><h2><a href=\"menu.php\">Wróć do MENU</a></h2></center>";
  54. echo "<center><h2><a href=\"pacjent.php\">Wpisz Kolejnego Pacjenta</a></h2></center>";
  55. ?>

No właśnie. Jak loguje się i korzystam z formularza to wpisuje mi rekord do bazy, natomiast już następnego już nie i kompletnie nie wiem dlaczego. Kombinowałem coś z cookies, ale też to nie to. Procedury też wyłączałem, ale to również nie to. Obsługa błędów włączona jak widać, ale po wypełnieniu formularza też nie pokazuje żadnych błędów.
Co mogę jeszcze przejrzeć i gdzie mogę mieć błąd.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Pilsener
post
Post #2





Grupa: Zarejestrowani
Postów: 1 590
Pomógł: 185
Dołączył: 19.04.2006
Skąd: Gdańsk

Ostrzeżenie: (0%)
-----


1. Co za pomysł wysyłać dane przez GET? Formularze wysyła się przez POST!
2. Waliduj i filtruj zmienne, bo ktoś Ci nawet przez nieuwagę rozwali bazę w kilka minut
3. Co do problemu - prawdopodobnie zapytania w ogóle się nie wykonują, bo te warunki:
  1. else{
  2. //pacjent bez PESEL
- nie są spełnione. Daj echo "test" gdzieś przy zapytaniu by dowiedzieć się, czy się w ogóle wykonuje. Jeśli nie, to przemyśl konstrukcję skryptu jeszcze raz.

Po co Ci tyle ifów? Podziel ten kod jakoś funkcjonalnie, bo obecnie jest nieczytelny.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 6.10.2025 - 06:11