Wątek przeniesiony 2019-01-07 20:45 z C/C++ przez Patryk27.

Formularz nie dodaje rekordów

0

Witam wszystkich. Posiadam trzy pliki odnośnie formularza :

p1dyrektor.php

<?php
require_once("info.inc");
$c=mysqli_connect($host,$login,$haslo,$baza);
$sql="select p_pracownik_imie,p_pracownik_nazwisko,p_pracownik_miejscowosc,p_pracownik_pesel,p_pracownik_numer,p_pracownik_stanowisko,p_pracownik_imie_oddzial from dyrektor_widok";
$r=mysqli_query ($c,$sql);
echo "Imie - Nazwisko - Miejscowosc - PESEL - Numer telefonu - Stanowisko - Oddzial<br><br>";
while ($rek=mysqli_fetch_array($r)){
echo $rek["p_pracownik_imie"];
echo " - ";
echo $rek["p_pracownik_nazwisko"];
echo " - ";
echo $rek["p_pracownik_miejscowosc"];
echo " - ";
echo $rek["p_pracownik_pesel"];
echo " - ";
echo $rek["p_pracownik_numer"];
echo " - ";
echo $rek["p_pracownik_stanowisko"];
echo " - ";
echo $rek["p_pracownik_imie_oddzial"];
echo "<br>";
}
mysqli_close($c);
?>

formdyrektor.php

<form method="post" action="obsformdyrektor.php">
Formularz - Dyrektor<br><br>
Imie:<br>
<input type="text" name="imie">
<br>Nazwisko:<br>
<input type="text" name="nazwisko">
<br>Miejscowosc:<br>
<input type="text" name="miejscowosc">
<br>PESEL:<br>
<input type="text" name="PESEL">
<br>Numer telefonu:<br>
<input type="text" name="numer telefonu">
<br>Stanowisko:<br>
<input type="text" name="stanowisko">
<br>Oddzial:<br>
<input type="text" name="oddzial">
<br><br>
<input type="submit" value="Zapisz"/>
</form>

obsformdyrektor.php

<?php
$imiep=$_POST["imie"];
$naziwskop=$_POST["nazwisko"];
$miejscowoscp=$_POST["miejscowosc"];
$peselp=$_POST["PESEL"];
$numerp=$_POST["numer_telefonu"];
$stanowiskop=$_POST["stanowisko"];
$oddzialp=$_POST["oddzial"];
require_once("info.inc");
$conn=mysqli_connect($host,$login,$haslo,$baza);
$sql="insert into pracownik (p_imie,p_nazwisko,p_miejscowosc,p_pesel,p_numer) values ('".$imiep."','".$naziwskop."','".$miejscowoscp."','".$peselp."','".$numerp."');insert into stanowisko(s_nazwa_stanowiska) values ('".$stanowiskop."'); insert into oddzial(o_nazwa_oddzialu) values ('".$oddzialp."');"; 
$r=mysqli_query($conn,$sql);
mysqli_close($conn);
?>

Po uzupełnieniu formularza i kliknięciu "Zapisz" nie pojawia się żaden błąd jednak rekordy nie zostają dodane do tabeli. Czy ktoś wie w czym może tkwić problem?

Dodatkowo zamieszczam w załączniku plik z tymi trzeba tabelami.

0

Skąd wiesz, że nie pojawia się żaden błąd, skoro tego nie sprawdzasz?

0

Po wciśnięciu zapisz nie pojawia się żaden błąd- w przypadku innych formularzy również gdy nie pojawi się błąd to znaczy że dodaje rekordy :)

1

Pozwól, że powtórzę moje pytanie:

Skąd wiesz, że nie pojawia się żaden błąd, skoro tego nie sprawdzasz?

Robisz $r=mysqli_query($conn,$sql); i nigdzie tego $r nie sprawdzasz, więc nawet jeśli jest błąd, nie wiesz o tym.

0

Czyli co mam zrobić? :)

0

Po odpaleniu $r = mysqli_query(...); zrób:

var_dump($r);
var_dump(mysqli_error($conn));

I wrzuć screenshota.

0

Efekt :
title

1

No to już widzisz, że jest błąd ;-]
Prawdopodobnie za pomocą mysqli_query() jesteś w stanie odpalić tylko jedno zapytanie naraz - odpal każde zapytanie osobno.

0

Ale hmm ja musze te zapytania mieć w jednym formularzu, w jednym kodzie ;) czyli nie jest możliwe wykonanie tego? ;)

1

Kto Ci broni?

mysqli_query($conn, "insert into pracownik (p_imie,p_nazwisko,p_miejscowosc,p_pesel,p_numer) values ('".$imiep."','".$naziwskop."','".$miejscowoscp."','".$peselp."','".$numerp."')");
mysqli_query($conn, "insert into stanowisko(s_nazwa_stanowiska) values ('".$stanowiskop."')");
/* ... */

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0