Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Zabezpieczenie przed pustym formularzem
lukis19944
post
Post #1





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 7.08.2017

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


Witam
Mam dwa problemy związane z moim kodem do strony bazodanowej

Pierwszym jest to że nie mogę sobie poradzić z zabezpieczeniem przed pustym formularzem. Po wejściu na stronę wyświetla mi się tekst, który chce aby pojawił się gdy ktoś zapomni wypełnić wszystkie pola w formularzach: "Nie podałeś wszystkich danych dotyczących klienta bądź dane są niepoprawne"

Drugim problemem jest to, że gdy dodam rekord do bazy i po tym odświerze strone dane znów się dodają.

Mógłby ktoś rzucić okiem i powiedzieć jak to poprawić?
Jestem początkujący w tym temacie także prosze o wyrozumiałość (IMG:style_emoticons/default/smile.gif)

Wklejam kod:

if(isset($_POST["ok1"]) || (isset($_POST["ok2"])) || (isset($_POST["ok3"] ))){


//odbieramy dane z formularza
$marka = $_POST['marka'];
$model = $_POST['model'];
$rok = $_POST['rok'];
$nr_vin = $_POST['nr_vin'];
$imie = $_POST['imie'];
$nazwisko=$_POST['nazwisko'];
$adres=$_POST['adres'];
$nr_tel=$_POST['nr_tel'];
$id_klienta=$_POST['id_klienta'];
$id_auta=$_POST['id_auta'];
$id_mechanika=$_POST['id_mechanika'];
$data_przyjecia=$_POST['data_przyjecia'];
$data_odbioru=$_POST['data_odbioru'];
$opis=$_POST['opis'];
$status=$_POST['status'];
$cena_czesci=$_POST['cena_czesci'];
$cena_robota=$_POST['cena_robota'];
}
if ((!empty($marka)) || (!empty($model)) || (!empty($rok)) || (!empty($nr_vin))){ //dodajemy rekord do bazy

$dodajauto="INSERT INTO `auto`(`idauta`, `marka`, `model`, `rok`, `nrvin`) VALUES (NULL,'$marka','$model','$rok','$nr_vin')";
mysql_query ("$dodajauto");
echo ("Dodano auto do bazy");

$wynik = mysql_query("SELECT max(idauta) idauta FROM auto WHERE 1")
or die('Błąd zapytania');


echo "<table cellpadding=\"2\" border=1>";
while($r = mysql_fetch_assoc($wynik)) {
echo "<tr>";
echo "<td>ID Auta</td>";
echo "<td>".$r['idauta']."</td>";
echo "</tr>";
}
echo "</table>";



}else {
echo "Nie podałeś wszystkich danych dotyczących danych bądź dane są niepoprawne";
}

if ((!empty($imie)) || (!empty($nazwisko)) || (!empty($adres)) || (!empty($nr_tel))){

$dodajklient="INSERT INTO `klient`(`idklienta`, `imie`, `nazwisko`, `adres`, `nrtel`) VALUES (NULL,'$imie','$nazwisko','$adres','$nr_tel')";
mysql_query ("$dodajklient");
echo ("Dodano klienta do bazy");

$wynik1 = mysql_query("SELECT max(idklienta) idklienta FROM klient WHERE 1")
or die('Błąd zapytania');

if(mysql_num_rows($wynik1) > 0) {
echo "<table cellpadding=\"2\" border=1>";
while($r1 = mysql_fetch_assoc($wynik1)) {
echo "<tr>";
echo "<td>ID Klienta</td>";
echo "<td>".$r1['idklienta']."</td>";
echo "</tr>";
}
echo "</table>";
}


//$stmt1=$dbstmt->prepare("INSERT INTO klient (imie,nazwisko,adres,nrtel) VALUES (?,?,?,?)") or die($dbstmt->error);
//$stmt1->bind_param('sssi',$imie,$nazwisko,$adres,$nr_tel);
//$stmt1->execute();
}else {
echo "Nie podałeś wszystkich danych dotyczących klienta bądź dane są niepoprawne";
}


if ((!empty($id_klienta)) || (!empty($id_auta)) || (!empty($id_mechanika)) || (!empty($data_przyjecia)) || (!empty($data_odbioru)) || (!empty($opis)) || (!empty($status)) || (!empty($cena_czesci)) || (!empty($cena_robota))){

$dodajnaprawa="INSERT INTO `naprawa`(`idnaprawy`, `idklienta`, `idauta`, `idmechanika`, `dataprzyjecia`, `dataodbioru`, `opisusterki`, `status`, `cenaczesci`, `cenarobota`) VALUES (NULL,'$id_klienta','$id_auta','$id_mechanika','$data_przyjecia','$data_odbioru','$opis','$status','$cena_czesci','$cena_robota')";
mysql_query ($dodajnaprawa);



echo "Dodano zlecenie do bazy";


}else{
echo "Nie podałeś wszystkich danych dotyczących naprawy bądź dane są niepoprawne";
}
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
dvdx95
post
Post #2





Grupa: Zarejestrowani
Postów: 47
Pomógł: 3
Dołączył: 11.10.2016

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


Rozumiem te ten plik php ma odpowiadać za 3 różne submity?

jeżeli tak to raczej tak powinno to być.

  1. if(isset($_POST["ok1"]) || (isset($_POST["ok2"])) || (isset($_POST["ok3"] ))){
  2.  
  3.  
  4. //odbieramy dane z formularza
  5. $marka = $_POST['marka'];
  6. $model = $_POST['model'];
  7. $rok = $_POST['rok'];
  8. $nr_vin = $_POST['nr_vin'];
  9. $imie = $_POST['imie'];
  10. $nazwisko=$_POST['nazwisko'];
  11. $adres=$_POST['adres'];
  12. $nr_tel=$_POST['nr_tel'];
  13. $id_klienta=$_POST['id_klienta'];
  14. $id_auta=$_POST['id_auta'];
  15. $id_mechanika=$_POST['id_mechanika'];
  16. $data_przyjecia=$_POST['data_przyjecia'];
  17. $data_odbioru=$_POST['data_odbioru'];
  18. $opis=$_POST['opis'];
  19. $status=$_POST['status'];
  20. $cena_czesci=$_POST['cena_czesci'];
  21. $cena_robota=$_POST['cena_robota'];
  22. }
  23. if (isset($_POST["ok1"]) && (!empty($marka)) && (!empty($model)) && (!empty($rok)) && (!empty($nr_vin))){ //dodajemy rekord do bazy
  24.  
  25. $dodajauto="INSERT INTO `auto`(`idauta`, `marka`, `model`, `rok`, `nrvin`) VALUES (NULL,'$marka','$model','$rok','$nr_vin')";
  26. mysql_query ("$dodajauto");
  27. echo ("Dodano auto do bazy");
  28.  
  29. $wynik = mysql_query("SELECT max(idauta) idauta FROM auto WHERE 1")
  30. or die('Błąd zapytania');
  31.  
  32.  
  33. echo "<table cellpadding=\"2\" border=1>";
  34. while($r = mysql_fetch_assoc($wynik)) {
  35. echo "<tr>";
  36. echo "<td>ID Auta</td>";
  37. echo "<td>".$r['idauta']."</td>";
  38. echo "</tr>";
  39. }
  40. echo "</table>";
  41.  
  42.  
  43.  
  44. }else {
  45. echo "Nie podałeś wszystkich danych dotyczących danych bądź dane są niepoprawne";
  46. }
  47.  
  48. if ((isset($_POST["ok2"])) && (!empty($imie)) && (!empty($nazwisko)) && (!empty($adres)) && (!empty($nr_tel))){
  49.  
  50. $dodajklient="INSERT INTO `klient`(`idklienta`, `imie`, `nazwisko`, `adres`, `nrtel`) VALUES (NULL,'$imie','$nazwisko','$adres','$nr_tel')";
  51. mysql_query ("$dodajklient");
  52. echo ("Dodano klienta do bazy");
  53.  
  54. $wynik1 = mysql_query("SELECT max(idklienta) idklienta FROM klient WHERE 1")
  55. or die('Błąd zapytania');
  56.  
  57. if(mysql_num_rows($wynik1) > 0) {
  58. echo "<table cellpadding=\"2\" border=1>";
  59. while($r1 = mysql_fetch_assoc($wynik1)) {
  60. echo "<tr>";
  61. echo "<td>ID Klienta</td>";
  62. echo "<td>".$r1['idklienta']."</td>";
  63. echo "</tr>";
  64. }
  65. echo "</table>";
  66. }
  67.  
  68.  
  69. //$stmt1=$dbstmt->prepare("INSERT INTO klient (imie,nazwisko,adres,nrtel) VALUES (?,?,?,?)") or die($dbstmt->error);
  70. //$stmt1->bind_param('sssi',$imie,$nazwisko,$adres,$nr_tel);
  71. //$stmt1->execute();
  72. }else {
  73. echo "Nie podałeś wszystkich danych dotyczących klienta bądź dane są niepoprawne";
  74. }
  75.  
  76.  
  77. if ((isset($_POST["ok3"])) && (!empty($id_klienta)) && (!empty($id_auta)) && (!empty($id_mechanika)) && (!empty($data_przyjecia)) && (!empty($data_odbioru)) && (!empty($opis)) && (!empty($status)) && (!empty($cena_czesci)) && (!empty($cena_robota))){
  78.  
  79. $dodajnaprawa="INSERT INTO `naprawa`(`idnaprawy`, `idklienta`, `idauta`, `idmechanika`, `dataprzyjecia`, `dataodbioru`, `opisusterki`, `status`, `cenaczesci`, `cenarobota`) VALUES (NULL,'$id_klienta','$id_auta','$id_mechanika','$data_przyjecia','$data_odbioru','$opis','$status','$cena_czesci','$cena_robota')";
  80. mysql_query ($dodajnaprawa);
  81.  
  82.  
  83.  
  84. echo "Dodano zlecenie do bazy";
  85.  
  86.  
  87. }else{
  88. echo "Nie podałeś wszystkich danych dotyczących naprawy bądź dane są niepoprawne";
  89. }
  90.  
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 16.10.2025 - 10:29