Witam,
pewnie to banalne i nie chce zawracac glowy tutaj podobnymi tematami ale mam problem, nad ktorym siedzialem troche i nic sensownego nie wymyslilem.
Mam prosty plik w php:
<HTML>
<BODY>
TEST_ZAPIS_DO_BAZY_INSERT
<FORM METHOD="POST" ACTION="insert.php">
Imię: <INPUT TYPE=TEXT NAME="IMIE" SIZE=15> <BR>
Nazwisko: <INPUT TYPE=TEXT NAME="NAZWISKO" SIZE=30> <BR>
<BR>
<INPUT TYPE=SUBMIT>
</FORM>
</BODY>
</HTML>
i plik insert.php:
<HTML>
<BODY>
<?php
mysql_connect("localhost","root","root") or die ("Nieudana proba polaczenia z baza");
mysql_select_db('test_klient') or die ("Nieudana proba polaczenia z baza");
/*INSERT*/
$query = "INSERT INTO kontrahent (IMIE,NAZWISKO) VALUES ('$IMIE','$NAZWISKO')";
$result = mysql_query($query);
print("<BR>");
print("<BR>");
if ($result >0)
{
print("Dane zostały zapisane w bazie TEST_KLIENT, tabela: KONTRAHENT");
} else {
print("Nieudany zapis do bazy");
}
?>
</BODY>
</HTML>
Odpalam test.php, wypelniam formularz i daje submit. W bazie mySQL w tabeli KONTRAHENT dopisuje sie (INSERT) nowy rekord - ale bez wypełnionych pol: IMIE, NAZWISKO - tylko klucz (autoincrement) sie zmienia.
Nie wiem dlaczego php wyrzuca mi komunikat:
Notice: Undefined variable: IMIE in d:\maja\apache\apache\htdocs\maja\insert.php on line 18
Notice: Undefined variable: NAZWISKO in d:\maja\apache\apache\htdocs\maja\insert.php on line 18
przeciez ustalajac NAME="IMIE" i "NAZWISKO" i odwolujac sie do tego w insert.php w INSERT $IMIE, $NAZWISKO powinno byc wszystko OK-nie wiem o co chodzi z tymi zmiennymi niezdefiniowanymi.
Problem z formularzem - INSERT to MySQL
Re: Problem z formularzem - INSERT to MySQL
Problem jest pewnie ze zmiennymi globalnymi. Zmień nazwy zmiennych na $_POST['imie'] i $_POST['nazwisko'] czyli:
[php]<?php
$query = "INSERT INTO kontrahent (IMIE,NAZWISKO) VALUES ('.$_POST['IMIE'].','.$_POST['NAZWISKO'].')";
?>[/php]
Powinno zadziałać.
[php]<?php
$query = "INSERT INTO kontrahent (IMIE,NAZWISKO) VALUES ('.$_POST['IMIE'].','.$_POST['NAZWISKO'].')";
?>[/php]
Powinno zadziałać.
Re: Problem z formularzem - INSERT to MySQL
$query = "INSERT INTO kontrahent (IMIE,NAZWISKO) VALUES ('".$_POST["IMIE"]."','".$_POST["NAZWISKO"]."')";
O ile sie gdzies nie machnalem :]
O ile sie gdzies nie machnalem :]
