Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MYSQL] Formularz zamówieniowy
RafalKostrzewa
post
Post #1





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 24.08.2008

Ostrzeżenie: (0%)
-----


Witam serdecznie , mam taki problem mianowicie po stworzeniu formularza zamowieniowego opartego na Bazie Mysql z polami takimi jak login, imie nazwisko itp chce aby w bazie nie powtarzaly sie loginy uzytkownikow - prosze popatrzec :


CODE

if (!$login || !$imie || !$nazwisko || !$mail || !$rodzaj || !$miesiac || !$rok || !$dzien )

{


print ("Nie zostaly wypelnione wszystkie pola");

exit;

}

$login = addslashes($login);
$imie = addslashes($imie);
$nazwisko = addslashes($nazwisko);
$meil = addslashes($meil);

$rodzaj = addslashes($rodzaj);
$miesiac = addslashes($miesiac);
$dzien = addslashes($dzien);

$rozmiar = addslashes($rozmiar);
$rok = addslashes($rok);

@$db = mysql_pconnect("localhost", "root", "krasnal");
if (!$db)
{
print "Nie można nawiązać połączenia z bazą danych";
exit;
}

mysql_select_db("sklep");



$query = "insert into koszulki values ('".$id."', '".$login."', '".$nazwisko."',

'".$mail."')";
$result = mysql_query($query);

$zapytanie = 'select * from koszulki where login = "'.$login.'" ';
$wynik = mysql_query($wynik);

if(!$wynik==0)
{

if ($result)

print "Towar ".$login." został dodany do bazy danych.";
else { print "W bazie istnieje już produkt o tym numerze."; }
}
else
{
echo 'Error!! Takie Imię i Nazwisko Już Istnieje w Bazie Danych';
}
?>


po uzupełnieniu wszystkich pól w formularzu i kliknięciu zamawiam pisze ze już taki wpis jest już w bazie lecz to jest błędny komunikat gdyż baza jest pusta nie wiem jak sobie z tym poradzić żeby wszystko było ok aby po wpisaniu danych do formularza dodawał się wpis do bazy lecz nie powtarzał np login ja pokaże screeny









Lecz przypominam baza jest pusta mógł by mi ktoś pomoc i powiedzieć jak to dokładnie zrobić aby wszystko sprawnie funkcjonowało

z Góry dziękuje i pozdrawiam smile.gif
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 10)
--tomm--
post
Post #2





Goście







masz błąd w tej linii
$wynik = mysql_query($wynik);
masz jako argument wstawić $zapytanie bo tak ci zwraca 0 i wykonuje się ostatni else
Go to the top of the page
+Quote Post
RafalKostrzewa
post
Post #3





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 24.08.2008

Ostrzeżenie: (0%)
-----


Niestety to nie pomogło teraz php drukuje mi napis W bazie istnieje już produkt o tym numerze.

napis zawarty jest w kodzie który podałem wyżej a wiec nie pomogło sad.gif sad.gif


CODE
$wynik = mysql_query($zapytanie);


zmienilem to co mówiłeś

Ten post edytował RafalKostrzewa 31.08.2008, 15:00:32
Go to the top of the page
+Quote Post
--tomm--
post
Post #4





Goście







$result to uchwyt do wyniku zapytania, tak samo $wynik. Ten warunek
if(!$wynik==0)
powinieneś sprawdzać
if(mysql_num_rows($wynik) != 0)
natomiast dla INSERTA użyj funkcji mysql_fetch_row()
Go to the top of the page
+Quote Post
RafalKostrzewa
post
Post #5





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 24.08.2008

Ostrzeżenie: (0%)
-----


Tomm moglbys mi to wyslac caly ten kod php z tymi zmianami co piszesz lub jak chcesz napisz na gg 8824584 bedzie szybsza komunikacja
Go to the top of the page
+Quote Post
FliSs_tCv
post
Post #6





Grupa: Zarejestrowani
Postów: 198
Pomógł: 3
Dołączył: 27.02.2007
Skąd: Tczew

Ostrzeżenie: (0%)
-----


Teraz z tym spróbuj może załapie winksmiley.jpg

  1. <?php
  2. if (!$login == '' || !$imie == '' || !$nazwisko == '' || !$mail == '' || !$rodzaj == '' || !$miesiac == '' || !$rok == '' || !$dzien == '' )
  3. {
  4. print ("Nie zostaly wypelnione wszystkie pola");
  5. }
  6.  
  7. $login = addslashes($login);
  8. $imie = addslashes($imie);
  9. $nazwisko = addslashes($nazwisko);
  10. $meil = addslashes($meil);
  11. $rodzaj = addslashes($rodzaj);
  12. $miesiac = addslashes($miesiac);
  13. $dzien = addslashes($dzien);
  14. $rozmiar = addslashes($rozmiar);
  15. $rok = addslashes($rok);
  16.  
  17. $db = @mysql_pconnect("localhost", "root", "krasnal");
  18. if (!$db)
  19. {
  20. print "Nie można nawiązać połączenia z bazą danych";
  21. }
  22. @mysql_select_db("sklep");
  23. $query = "INSERT INTO koszulki values ('$id', '$login', '$nazwisko', '$mail')";
  24. $result = @mysql_query($query);
  25. $zapytanie = 'SELECT * FROM koszulki where login = "'.$login.'" ';
  26. $wynik = @mysql_query($wynik);
  27.  
  28. if(!$wynik==0)
  29. {
  30. if ($result) print "Towar ".$login." został dodany do bazy danych.";
  31. }
  32. else
  33. {
  34. print "W bazie istnieje już produkt o tym numerze."; }
  35. }
  36. else
  37. {
  38. echo 'Error!! Takie Imię i Nazwisko Już Istnieje w Bazie Danych';
  39. }
  40. ?>



----------------- EDIT

Jak dla mnie to tu coś jeszcze jest nie tak ze skryptem zastanawia mnie całość od połączenia z bazą w dół winksmiley.jpg

Ten post edytował FliSs_tCv 31.08.2008, 15:52:21


--------------------
Go to the top of the page
+Quote Post
--TOMM--
post
Post #7





Goście







// NAJPIERW SPRAWDZENIE CZY TAKI LOGIN JEST JUŻ W BAZIE
  1. <?php
  2. $q = 'SELECT * FROM koszulki WHERE login = "'.$login.'"';
  3. $r = mysql_query($q);
  4. if(mysql_num_rows($r) > 0){
  5. echo 'Taki login jest już w bazie';
  6. }
  7. else {
  8. // tutaj INSERT do bazy
  9. }
  10. ?>
Go to the top of the page
+Quote Post
RafalKostrzewa
post
Post #8





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 24.08.2008

Ostrzeżenie: (0%)
-----


oto rezultat kodu ktorego podales wyzej


CODE
Parse error: parse error in c:\usr\krasnal\www\rafi\dodaj.php on line 37



kurcze pomocyyy
wysle linka do spakowanego skryptu

Formularz

pomocyyyyyyyy ;(
Go to the top of the page
+Quote Post
matssuda
post
Post #9





Grupa: Zarejestrowani
Postów: 25
Pomógł: 5
Dołączył: 7.02.2008

Ostrzeżenie: (0%)
-----


Sporo błędów w jednym małym skrypcie:) Poprawiłem tylko zapytania i warunek.
  1. <?
  2. if ( empty($_POST['login']) || empty($_POST['imie']) || empty($_POST['nazwisko']) || empty($_POST['mail']) || empty($_POST['rodzaj']) || empty($_POST['miesiac']) || empty($_POST['rok']) || empty($_POST['dzien']) )
  3. {
  4. print ("Nie zostaly wypelnione wszystkie pola");
  5. }
  6.  
  7. $db = @mysql_pconnect("localhost", "root", "krasnal");
  8.  
  9. if (!$db)
  10. {
  11. print "Nie można nawiązać połączenia z bazą danych";
  12. }
  13.  
  14. @mysql_select_db("sklep");
  15.  
  16. $sql = mysql_query('SELECT * FROM koszulki where login = "'.$_POST['login'].'" ');
  17.  
  18. if (mysql_num_rows($sql) == 0)
  19. {
  20.  
  21. $query = 'INSERT INTO koszulki (id,login,imie,nazwisko,mail,telefon,ulica,kod,rozmiar) VALUES (NULL, "'.$_POST['login'].'", "'.$_POST['imie'].'" , "'.$_POST['nazwisko'].'", "'.$_POST['mail'].'", "'.$_POST['telefon'].'", "'.$_POST['ulica'].'" , "'.$_POST['kod'].'" , "'.$_POST['rozmiar'].'")';
  22.  
  23. if(mysql_query($query)) 
  24. {
  25. print "Towar ".$_POST['login']." został dodany do bazy danych.";
  26. }
  27. else
  28. {
  29. print "Dodawanie zamówienia nieudane";
  30. }
  31.  
  32. }
  33. else
  34. {
  35. echo 'Error!! Takie Imię i Nazwisko Już Istnieje w Bazie Danych';
  36. }
  37. ?>


To będzie działać, ale nie dodawałem filtrowania i sprawdzania danych - użytkownikowi w ręce bym tego nie oddał.

Ten post edytował matssuda 1.09.2008, 09:23:41
Go to the top of the page
+Quote Post
RafalKostrzewa
post
Post #10





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 24.08.2008

Ostrzeżenie: (0%)
-----


Dzieki maatssuda pomogles mi wszystko dziala 100% lecz chce dodac jeszcze jedna funkcje mianowicie funkcje wysylania meila ktory wysle uzytkownikowi meila na podany w foormularzu adres oto kod mojego skryptu


CODE
if ( empty($_POST['login']) || empty($_POST['imie']) || empty($_POST['nazwisko']) ||

empty($_POST['mail']) || empty($_POST['rodzaj']) || empty($_POST['miesiac']) ||

empty($_POST['rok']) || empty($_POST['dzien']) )
{
print ("Nie zostaly wypelnione wszystkie pola");
exit;
}

$login = trim($login);

$db = @mysql_pconnect("localhost", "root", "krasnal");

if (!$db)
{
print "Nie można nawiązać połączenia z bazą danych";
exit;
}

@mysql_select_db("sklep");

$sql = mysql_query('SELECT * FROM koszulki where login = "'.$_POST['login'].'" ');

if (mysql_num_rows($sql) == 0)
{

$query = 'INSERT INTO koszulki (id,login,imie,nazwisko,mail,telefon,ulica,kod,rozmiar)

VALUES (NULL, "'.$_POST['login'].'", "'.$_POST['imie'].'" , "'.$_POST['nazwisko'].'",

"'.$_POST['mail'].'", "'.$_POST['telefon'].'", "'.$_POST['ulica'].'" , "'.$_POST['kod'].'" ,

"'.$_POST['rozmiar'].'")';

if(mysql_query($query))
{
print "Dziekujemy za zamówienie na podany adres E Mail zostaly wyslane dane doyczace

przelewu.";
}

$imie = "$_POST['imie']"; //senders name
$mail = "$_POST['mail']"; //senders e-mail adress
$recipient = "rafik9000@poczta.fm"; //recipient
$mail_body = "Dziekujemy za zamowienie"; //mail body
$subject = "Subject for reviever"; //subject
$header = "From: "$_POST['imie'] . " <" $_POST['mail'] . ">\r\n"; //optional headerfields

mail($recipient, $subject, $mail_body, $header); //mail command

else
{
print "Dodawanie zamówienia nieudane";
}

}
else
{ print "Uzytkownik ".$_POST['login']." juz istnieje exclamation.gif."; }





?>


gdy wypelnie wszystkie pola i klikne zamow pojawia sie blad


CODE
Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in c:\usr\krasnal\www\rafi\dodaj.php on line 32



nie bardzo wiem co jest nie tak moglby ktos pomoc smile.gif questionmark.gif
Go to the top of the page
+Quote Post
matssuda
post
Post #11





Grupa: Zarejestrowani
Postów: 25
Pomógł: 5
Dołączył: 7.02.2008

Ostrzeżenie: (0%)
-----


Nie analizowałem dokladnie, ale kod wysyłający funkcja mail(); dałeś poza klamrę warunku if()

Spróbuj tak:
  1. <?
  2. if ( empty($_POST['login']) || empty($_POST['imie']) || empty($_POST['nazwisko']) || empty($_POST['mail']) || empty($_POST['rodzaj']) || empty($_POST['miesiac']) || empty($_POST['rok']) || empty($_POST['dzien']) )
  3. {
  4.    print ("Nie zostaly wypelnione wszystkie pola");
  5.    exit;
  6. }
  7. $login = trim($login);
  8. $db = @mysql_pconnect("localhost", "root", "krasnal");
  9. if (!$db)
  10. {
  11.    print "Nie można nawiązać połączenia z bazą danych";
  12.    exit;
  13. }
  14. @mysql_select_db("sklep");
  15. $sql = mysql_query('SELECT * FROM koszulki where login = "'.$_POST['login'].'" ');
  16.  
  17. if (mysql_num_rows($sql) == 0)
  18. {
  19.    $query  = 'INSERT INTO koszulki (id,login,imie,nazwisko,mail,telefon,ulica,kod,rozmiar) ';
  20.    $query .= 'VALUES (NULL, "'.$_POST['login'].'", "'.$_POST['imie'].'" , "'.$_POST['nazwisko'].'",';
  21.    $query .= '"'.$_POST['mail'].'", "'.$_POST['telefon'].'", "'.$_POST['ulica'].'" , "'.$_POST['kod'].'" ,';
  22.    $query .= '"'.$_POST['rozmiar'].'")';
  23.    
  24.    if(mysql_query($query))
  25.    {
  26.        print "Dziekujemy za zamówienie na podany adres E Mail zostaly wyslane dane doyczace przelewu.";
  27.        
  28.        $imie = "$_POST['imie']"; //senders name
  29.        $mail = "$_POST['mail']"; //senders e-mail adress
  30.        $recipient = "rafik9000@poczta.fm"; //recipient
  31.        $mail_body = "Dziekujemy za zamowienie"; //mail body
  32.        $subject = "Subject for reviever"; //subject
  33.        $header = "From: "$_POST['imie'] . " <" $_POST['mail'] . ">r\n"; //optional headerfields
  34.        
  35.        mail($recipient, $subject, $mail_body, $header); //mail command
  36.    }
  37.    else
  38.    {
  39.        print "Dodawanie zamówienia nieudane";
  40.    }
  41. }
  42. else
  43. {
  44.    print "Uzytkownik ".$_POST['login']." juz istnieje exclamation.gif.";
  45. }
  46. ?>
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 10:17