Skocz do zawartości
Zaloguj się, aby obserwować  
Mark97

Dodawanie rekordu do bazy MySQL - PHP, problem

Polecane posty

Cześć wam, mam problem.

 

Pod adresem http://mark97.net/php mam formularz, który powinien wysyłać dane do tabeli ale nie wysyła...

 

Plik pformularz.php

<!DOCTYPE html>
<meta charset="UTF-8">
<title>Formularz ;></title>

<?php
require "connection.php";
connection();


$name=$_POST['name'];
$surname=$_POST['surname'];
$city=$_POST['city'];
$address=$_POST['address'];
$email=$_POST['email'];

 echo '<p>Zamówienie przyjęte o ';
 echo date('H:i, jS F Y');
 echo '</p>';

 //Sprawdzenie czy pola zostały uzupełnione.
 if(!empty($name) AND !empty($surname) AND !empty($city) AND !empty($address) AND !empty($email)) {
       echo '<p>Twoje dane wyglądają następująco:</p>';
       echo '<strong>Imię:</strong> '.$name.' <br/>';
       echo '<strong>Nazwisko:</strong> '.$surname.' <br/>';
       echo '<strong>Miejscowosć:</strong> '.$city.' <br/>';
       echo '<strong>Adres:</strong> '.$address.' <br/>';
       echo '<strong>Email:</strong> '.$email.' <br/>';

       $zapytanie ="INSERT INTO 'formularz' VALUES ('".$name."','".$surname."','".$city."','".$address."','".$email."')";
       mysql_query($zapytanie);
   }

 else {
       echo "Formularz został wypełniony niepoprawnie, któreś z pół nie zostało wypełnione!";
   }

 ?>

 

A to plik connection.php

 

<?php
/******************************************************
* connection.php
* konfiguracja połączenia z bazą danych
******************************************************/

function connection() {
   // serwer
   $mysql_server = "localhost";
   // admin
   $mysql_admin = "marknet_for";
   // hasło
   $mysql_pass = "****";
   // nazwa baza
   $mysql_db = "marknet_for";
   // nawiązujemy połączenie z serwerem MySQL
   @mysql_connect($mysql_server, $mysql_admin, $mysql_pass)
   or die('Brak połączenia z serwerem MySQL.');
   // łączymy się z bazą danych
   @mysql_select_db($mysql_db)
   or die('Błąd wyboru bazy danych.');
}

?>

 

Proszę o pomoc,

Pozdrawiam, Mark97.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
$zapytanie ="INSERT INTO 'formularz' VALUES ('".$name."','".$surname."','".$city."','".$address."','".$email."')";

Spróbuj takie zapytanie:

$zapytanie = "INSERT INTO formularz VALUES('$name','$surname','$city','$address','$email'");

Albo sprawdź co z nim nie tak:

mysql_query($zapytanie) or die(mysql_error());
Edytowano przez castpol.pl (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Swoją drogą dodaj filtrowanie danych, które są Ci przesyłane, bo Twój formularz jest typowym przykładem do ataku typu SQL Injection.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość Kamikadze

I widzę że brak zakończenia połączenia mysql co też dobrze nie wpływa na skrypt :)

 

I może spróbuj tak:

 

$zapytanie = "INSERT INTO `formularz` (`name`, `surname`, `city`, `address` , `email`) VALUES ('', '$name', '$surname', '$city', '$address', '$wlaczyc', '$email')";

$idzapytania = mysql_query($zapytanie);

 

Z czego pogrubione zmień na te ze struktury bazy danych :)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Wrzuciłem

 

mysql_query($zapytanie) or die(mysql_error());

 

i wywaliło

 

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''formularz' VALUES ('2','2','2','2','2')' at line 1

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Mozna używać tego przecinka u gory, no ten....o mam: nazywa się to odwrócony apostrof. Ten sam klawisz co tylda.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się

Zaloguj się, aby obserwować  

×