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


(IMG:http://power-stacja.net/1.JPG)


(IMG:http://power-stacja.net/2.JPG)



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 (IMG:http://forum.php.pl/style_emoticons/default/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 (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) (IMG:http://forum.php.pl/style_emoticons/default/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 (IMG:http://forum.php.pl/style_emoticons/default/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ół (IMG:http://forum.php.pl/style_emoticons/default/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 (IMG:http://forum.php.pl/style_emoticons/default/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 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) (IMG:http://forum.php.pl/style_emoticons/default/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
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 25.08.2025 - 01:42