Dane z formularza nie s

Potrzebujesz pomocy z C, C++, perl, python, itp.
TenDrugi
Posty: 60
Rejestracja: 27 sierpnia 2008, 11:17
Lokalizacja: Sosnowiec

Dane z formularza nie są przekazywane dalej do bazy mysql

Post autor: TenDrugi »

Z niewiadomego powodu wartości wpisywane do formularza nie trafiają do bazy danych mysql. Pewnie powód jest banalny. Sam jednak nic nie widzę.

Formularz (w pliku insert.html):

Kod: Zaznacz cały

<body>
<form name="ankieta" action="insert.php" method="POST" >
	Imię<input type="text" name="imie" size="20" maxlength="20" > 

	Nazwisko<input type="text" name="nazwisko" size="20" maxlength="20" > 

	Miasto<input type="text" name="miasto" size="20" maxlength="20" > 

<input type="submit" name = "dodaj" value="OK">
</FORM>
</body>
i kod php (w pliku insert.php)do zapoisywania danych wprowadzonych w powyższym formularzu do bazy mysql

Kod: Zaznacz cały

<?php
$polaczenie=mysql_connect('localhost','user','haselko');
$stat=mysql_select_db('baza_klientow',$polaczenie);
$polecenie=mysql_db_query("baza_klientow","insert into klienci (imie,nazwisko,miasto,data) values ('$imie','$nazwisko','$miasto',now());");
if ($polecenie) echo ('Rekord dopisany');
mysql_close ($polaczenie);
?>
Jedynym efektem wykoania powyższego jest dopisanie do tabeli klienci rekordu z pustymi polami :evil:, z jakiegoś dziwnego powodu wartości wpisane do pól się tracą.

Dla testu przypisałem do zmiennych wartości i te ślicznie trafiły do mojej bazy. Czyli poleceniem sql jest OK.

Gdzie jest błąd ? Sama baza pracuje poprawnie, tj bez problemów mogę do niej pisać i czytać z niej rekordy z poziomu konsoli.

Może jeszcze dodam, że obie instalacje php i mysql mam "nieprzegrzebane" (tj z oryginalnymi ustawieniami).

A może zmienne trzeba deklarować blobalnie (czy je w jakiś sposób eksportować), php znam słabiutko.

Z góry dziękuję i pozdrawiam,
Teh
Posty: 9
Rejestracja: 25 września 2008, 19:57
Lokalizacja: Olsztyn

Re: Dane z formularza nie są przekazywane dalej do bazy mysq

Post autor: Teh »

TenDrugi pisze:

Kod: Zaznacz cały

<body>
<form name="ankieta" action="nsert.php" method="POST" >
	Imię<input type="text" name="imie" size="20" maxlength="20" > 

	Nazwisko<input type="text" name="nazwisko" size="20" maxlength="20" > 

	Miasto<input type="text" name="miasto" size="20" maxlength="20" > 

<input type="submit" name = "dodaj" value="OK">
</FORM>
</body>

Kod: Zaznacz cały

<?php
$polaczenie=mysql_connect('localhost','user','haselko')]
[/quote]

Pewnie szukasz tego: [url]http://www.php.net/manual/pl/ini.core.php#ini.register-globals[/url], ale radził bym zerknąć tu: [url]http://www.php.net/manual/pl/reserved.variables.post.php[/url].

Pozdr.,
Awatar użytkownika
ruun
Member
Posty: 1366
Rejestracja: 29 marca 2007, 21:07
Lokalizacja: Kruszwica

Post autor: ruun »

Przesłane dane odczytaj tak:

Kod: Zaznacz cały

$_POST['imie']
gönx
Posty: 10
Rejestracja: 18 marca 2008, 21:59

Post autor: gönx »

Kod: Zaznacz cały

<?php 

$polaczenie = mysql_connect('localhost','user','haselko'); 
$stat = mysql_select_db('baza_klientow', $polaczenie);

$imie = addslashes($_POST['imie']);
$nazwisko = addslashes($_POST['nazwisko']);

$polecenie = 'INSERT INTO klienci (imie,nazwisko) VALUES (\''.$imie.'\',\''.$nazwisko.'\')';

if (mysql_query($polecenie)) { echo ('Rekord dopisany'); }

mysql_close($polaczenie);

?>
TenDrugi
Posty: 60
Rejestracja: 27 sierpnia 2008, 11:17
Lokalizacja: Sosnowiec

Post autor: TenDrugi »

Dziękuję,
Podejrzewałem, że tam musi być coś takiego. Kiedyś pisałem dość podobne programiki w Windows (tam wykorzystywałem asp).
ODPOWIEDZ