Dodanie pozycji do bazy danych - gdzie tkwi błąd?

0

Mam oto taki kod:

<html>
<head>
<title>Dodawanie klientow.</title>
</head>
<body>
<?php
if($send =='wyslij') 
{
mysql_connect("localhost","allanon");
mysql_select_db("test");
$zapytanie = "INSERT INTO lamo SET imie='$imie', nazwisko='$nazwisko', adres='$adres', tel_stacj='$tel_stacj', tel_kom='$tel_kom', cena='$cena', montaz='$montaz'";
$wykonaj = mysql_query ($zapytanie);
echo "<BR>Dane dodane prawidłowo ! Dziękujemy za dodanie pozycji !";
}
else 
{
echo "<form method=\"get\" action=\"dodaj.php\">
<div align=\"center\">
<center>
<table border=\"1\" width=\"50%\" bordercolorlight=\"#000000\" cellspacing=\"0\" cellpadding=\"0\" bgcolor=\"#E8EFF2\">
<tr>
<td width=\"50%\"><font size=\"2\" face=\"Verdana\">Imie</font></td>
<td width=\"50%\" align=\"center\"><font size=\"2\" face=\"Verdana\"><input type=\"text\" name=\"imie\" size=\"40\"></font></td>
</tr>
<tr>
<td width=\"50%\"><font size=\"2\" face=\"Verdana\">Nazwisko</font></td>
<td width=\"50%\" align=\"center\"><font size=\"2\" face=\"Verdana\"><input type=\"text\" name=\"nazwisko\" size=\"40\"></font></td>
</tr>
<tr>
<td width=\"50%\"><font size=\"2\" face=\"Verdana\">Adres</font></td>
<td width=\"50%\" align=\"center\"><font size=\"2\" face=\"Verdana\"><input type=\"text\" name=\"adres\" size=\"40\"></font></td>
</tr>
<tr>
<td width=\"50%\"><font size=\"2\" face=\"Verdana\">Tel. Domowy</font></td>
<td width=\"50%\" align=\"center\"><font size=\"2\" face=\"Verdana\"><input type=\"text\" name=\"tel_stacj\" size=\"40\"></font></td>
</tr>
<tr>
<td width=\"50%\"><font size=\"2\" face=\"Verdana\">Tel. Komorkowy</font></td>
<td width=\"50%\" align=\"center\"><font size=\"2\" face=\"Verdana\"><input type=\"text\" name=\"tel_kom\" size=\"40\"></font></td>
</tr>
<tr>
<td width=\"50%\"><font size=\"2\" face=\"Verdana\">Cena</font></td>
<td width=\"50%\" align=\"center\"><font size=\"2\" face=\"Verdana\"><input type=\"text\" name=\"cena\" size=\"40\"></font></td>
</tr>
<tr>
<td width=\"50%\"><font size=\"2\" face=\"Verdana\">Montaz (YYYY-MM-DD)</font></td>
<td width=\"50%\" align=\"center\"><font size=\"2\" face=\"Verdana\"><input type=\"text\" name=\"montaz\" size=\"40\"></font></td>
</tr>
<tr>
<td width=\"100%\" colspan=\"2\">
<p align=\"center\"><font size=\"2\" face=\"Verdana\"><input type=\"submit\" value=\"wyslij\" name=\"send\"><input type=\"reset\" value=\"Kasuj\" name=\"B2\"></font></td>
</tr>
</table>
</center>
</div>
</form>";
}

?>

</body>
</html>

Nie wiem dlaczego otrzymuję taki oto błąd:
Notice: Undefined variable: send in C:\WebServer\www\dodaj2.php on line 7 Danie nie dodają się do bazy. Serwer stoi na Apache2 + PHP4.3.8 i MySQL4.
Z góry dziękuję za pomoc.

0

zapodaj sobie na początku skryptu echo $send; i jeśli okaże się, że $send się nie ustawia, to oznacza, że nie masz ustawionego rejestrowania zmiennych i musisz się odwoływać $_POST['send'] (albo zmienić to w php.ini).
ponadto preferuję input type=hidden do wysyłania dodatkowych zmiennych.

notice to uwaga (jeszcze mniej niż warning), a nie błąd.

0

$zapytanie = "INSERT INTO lamo SET imie='$imie', nazwisko='$nazwisko',

Zdecyduj się albo:
INSERT INTO tabela (nazwa_pola, nazwa_pola) VALUES('wartość', 'wartość');
albo:
UPDATE tabela SET nazwa_pola = 'wartość';

// haha, faktycznie, tego nie zauważyłem ;] - ŁF

0

możliwe, że nie mam ustawionego send w php.ini :( czy ktoś wie co mam zrobić aby to ustawić??

0

czy ktoś wie co mam zrobić aby to ustawić??

lol, otwórz php.ini (C:\Windows\php.ini) w Notatniku i naciśnij skrót klawiszowy Ctrl+F, wpisz odpowiednią frazę, kliknij Znajdź następny i zmień parametry.
P.S. Poza tym w Twoim problemie chodzi o zmienną, a nie parametry pracy PHP ;-)

0

Poza tym w Twoim problemie chodzi o zmienną, a nie parametry pracy PHP ;-)

Jak już chcesz coś ustawiać w php.ini to Register Globals, ale jak widzisz nie tu był błąd tylko w INSERT.......

0

posprawdzałem wszystko i znalazłem jedną dziwną rzecz- otóż mam stworzonych 6 baz danych, phpmyadmin widzi je wszystkie, ale WinMySQL widzi tylko jedną standardową bazę TEST. Być może to przez to nie mogę dodawać nowych rekordó to moich baz, gdyż nie są one widoczne?

Zmieniłem Register Globals na ON i dalej dane nie dodają się.

0

najdziwniejsze jest to, że po przekopiowaniu plików PHP na serwer z PHP (tripod) wszytsko działa bez problemu i dane dodają się bez przeszkód. Czy ktokolwiek orientuje się gdzie może tkwić błąd??
Z góry dziękuję za odpowiedź.

0

W takim razie błąd tkwi po stronie bazy danych. Może masz źle skonfigurowanego WinMySQL (czy jakby to tam się nie zwało), albo nie masz odpowiednich praw dostępu?

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