Strona 1 z 1

Dane z formularza nie są przekazywane dalej do bazy mysql

: 08 października 2008, 22:04
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,

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

: 08 października 2008, 22:23
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.,

: 12 października 2008, 22:02
autor: ruun
Przesłane dane odczytaj tak:

Kod: Zaznacz cały

$_POST['imie']

: 12 października 2008, 22:57
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);

?>

: 12 października 2008, 23:03
autor: TenDrugi
Dziękuję,
Podejrzewałem, że tam musi być coś takiego. Kiedyś pisałem dość podobne programiki w Windows (tam wykorzystywałem asp).