Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL]Formularz HTML
Forum PHP.pl > Forum > Przedszkole
Mades
Witam,
postanowiłem poczytać trochę podstaw PHP/MySQL i już napotkałem błąd, z którym nie wiem jak sobie poradzić.
Korzystam z tego poradnika.

Mój formularz wygląda tak:
  1. <form action="insert.php" method="post">
  2. Pierwsze imię: <input type="text" name="first"><br>
  3. Drugie imię: <input type="text" name="last"><br>
  4. Telefon stacjonarny: <input type="text" name="phone"><br>
  5. Telefon komórkowy: <input type="text" name="mobile"><br>
  6. Fax: <input type="text" name="fax"><br>
  7. E-mail: <input type="text" name="email"><br>
  8. strona WWW: <input type="text" name="web"><br>
  9. <input type="submit" value="Wyślij">
  10. </form>
  11. </html>


Natomiast plik 'insert.php' tak jak w poradniku, czyli:
  1. <?php
  2. $username = "root";
  3. $password = "";
  4. $database = "nauka";
  5.  
  6. $first = $_POST['first'];
  7. $last = $_POST['last'];
  8. $phone = $_POST['phone'];
  9. $mobile = $_POST['mobile'];
  10. $fax = $_POST['fax'];
  11. $email = $_POST ['email'];
  12. $web = $_POST['web'];
  13.  
  14. mysql_connect('localhost', $username, $password);
  15. @database_select_db($database) or die ("Nie ma takiej bazy danych!");
  16.  
  17. $query = "INSERT INTO contacts VALUES ('', '$first', '$last', '$phone', '$mobile', '$fax', '$email', '$web')";
  18. mysql_query($query);
  19. ?>
  20.  


W momencie, gdy wypełniam formularz, klikam 'Wyślij!' wyskakują następujące błędy:
Cytat
Notice: Undefined index: first in C:\xampp\htdocs\nauka\insert.php on line 6

Notice: Undefined index: last in C:\xampp\htdocs\nauka\insert.php on line 7

Notice: Undefined index: phone in C:\xampp\htdocs\nauka\insert.php on line 8

Notice: Undefined index: mobile in C:\xampp\htdocs\nauka\insert.php on line 9

Notice: Undefined index: fax in C:\xampp\htdocs\nauka\insert.php on line 10

Notice: Undefined index: email in C:\xampp\htdocs\nauka\insert.php on line 11

Notice: Undefined index: web in C:\xampp\htdocs\nauka\insert.php on line 12


Jakieś porady?
Helid
Kod wygląda dobrze, winna jest albo konfiguracja PHP albo jakieś białe znaki w kodzie HTML. W insert.php daj na początku
Kod
print_r($_POST);

i zobacz czy w ogóle odbiera jakieś dane z formularza
Mades
Po dodaniu
  1. print_r($_POST);

wyświetla się
Cytat
Array ( [first] => Radek [last] => Jakistam [phone] => 87263517 [mobile] => 2618264812 [fax] => 421678123789 [email] => dsadsasa@o2.pl [web] => google.pl )


Nic nie odbiera. Do bazy danych nic się nie dodaje.

#edit
Hm, teraz dziwnym przypadkiem żaden błąd się nie wyświetla, lecz zmienne nie są przekazywane do bazy danych.
Helid
Zrób to tak i powiedz jaki wynik
Kod
<?php
$username = "root";
$password = "";
$database = "nauka";

print_r($_POST);

if( isset($_POST['first']) )
{
$first = $_POST['first'];
} //dalej wg przykładu

$last = $_POST['last'];
$phone = $_POST['phone'];
$mobile = $_POST['mobile'];
$fax = $_POST['fax'];
$email = $_POST ['email'];
$web = $_POST['web'];

mysql_connect('localhost', $username, $password);
@database_select_db($database) or die ("Nie ma takiej bazy danych!");

$query = "INSERT INTO contacts VALUES ('', '$first', '$last', '$phone', '$mobile', '$fax', '$email', '$web')";
mysql_query($query)  or die("A MySQL error has occurred.<br />Your Query: " . $query. "<br /> Error: (" . mysql_errno() . ") " . mysql_error());
mysql_close();
?>
Mades
Wyświetla się
Cytat
Array ( [first] => sadajdlkajdkl [last] => lkdj [phone] => lkadjlkjdlk [mobile] => jlkdjalksdj [fax] => lkjsdlk [email] => sjadljadjk [web] => asjdlk )
Helid
I do bazy nic się nie zapisuje? Swoją drogą stosuj zapytania w formie
Kod
INSERT INTO table_name VALUES (value1,value2,value3,...);

Kod
INSERT INTO table_name (column1,column2,column3,...) VALUES (value1,value2,value3,...);
Mades
Zrobiłem.

  1.  
  2. <?php
  3. $username = "root";
  4. $password = "";
  5. $database = "cycuszki";
  6.  
  7. $lacze = mysql_connect('localhost', $username, $password)
  8. or die("Unable to connect to MySQL");
  9.  
  10. $wybierz = @mysql_select_db($database, $lacze);
  11.  
  12. $login = $_POST['login'];
  13. $nick= $_POST['nick'];
  14. $pass= $_POST['pass'];
  15.  
  16.  
  17. $zapytanie = "INSERT INTO cycunie VALUES('0', '$login', '$nick', '$pass')";
  18. $wykonaj = mysql_query($zapytanie);
  19.  
  20. ?>
  21.  
chmiello
Cytat
Zrobiłem.

  1. $zapytanie = "INSERT INTO cycunie VALUES('0', '$login', '$nick', '$pass')";


no chyba nie bardzo tongue.gif

jeżeli byś zrobił, to wyglądało by tak :

  1. $zapytanie = "INSERT INTO cycunie(`nazwa_pola_1`,`nazwa_pola_2`,`nazwa_pola_3`,`nazwa_pola_4`) VALUES('0', '$login', '$nick', '$pass')";
Mades
Chodziło mi o to, że zrobiłem już tak, aby działało. Błędy nie występują, zmienne przekazywane są do bazy danych.
Wszystko jest OK.
Helid
Na przyszłość możesz napisać dla potomnych co było rozwiązaniem twojego problemu...
Mades
Wrzuciłem działający kod, mogą porównać wink.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.