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
mortus
post
Post #2





Grupa: Zarejestrowani
Postów: 2 178
Pomógł: 596
Dołączył: 25.09.2009
Skąd: Piwniczna-Zdrój

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


Przede wszystkim zauważ, że Twoje zapytania wykonują się tylko wtedy, kiedy podasz prawidłowy numer telefonu komórkowego. Winę za to ponosi blok else rozpoczynający się w 26 linii i kończący się w linii 48. Może po prostu usuń else razem z nawiasami i zobacz, co się stanie. Możesz to zrobić dlatego, że podczas sprawdzania warunków w przypadku niepowodzenia używasz funkcji die(). Oczywiście jestem za wysyłaniem formularza metodą post, a nie get!
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: 5.10.2025 - 07:53