Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MYSQL] Istniejący rekord, + sprawdzenie pól formularza i inne
hubeX
post 26.03.2010, 13:39:00
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 7.09.2008
Skąd: Bydgoszcz

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


Witam, pragnę aby po wysłaniu danych z formularza zostało wysłane zapytanie do bazy mysql.

Zapytanie:

  1. $rekord = "INSERT INTO propo (data,name,nick,opis,sample,ip) VALUES ('$data','$name','$nick','$opis','$sample','$ip');";
  2. $wykonaj = mysql_query ($rekord);
  3.  


Zrobiłem to tak, ale (tak mi się wydaje) mało 'profesjonalnie' i można zrobić to dużo, dużo lepiej. Do tego dochodzi jeszcze to, że chciałbym sprawdzić czy dany rekord istnieje, oraz żeby została wyświetlona informacja, że formularz jest pusty.


  1.  
  2. $nick = htmlspecialchars(mysql_real_escape_string($_POST['nick']));
  3. $name = htmlspecialchars(mysql_real_escape_string($_POST['name']));
  4. $opis = htmlspecialchars(mysql_real_escape_string($_POST['opis']));
  5. $sample = htmlspecialchars(mysql_real_escape_string($_POST['sample']));
  6.  
  7. if( strlen($name)>0 && strlen($opis)>0 && strlen($sample)>0)
  8. {
  9. $rekord = "INSERT INTO propo (data,name,nick,opis,sample,ip) VALUES ('$data','$name','$nick','$opis','$sample','$ip');";
  10. $wykonaj = mysql_query ($rekord);
  11.  
  12. echo "Informacja o dodanym wpisie";
  13. }


Sprawdzenie czy istnieje: (nie działa zbytnio)

  1. $exist = mysql_query("SELECT * FROM cmd WHERE name = '$name'");
  2. $e = mysql_num_rows($exist);
  3.  
  4.  
  5. if ($e = 1 && strlen($name) != 0 && strlen($opis) != 0 && strlen($sample) != 0)
  6. {
  7. echo "Informacja o tym, że wpis istnieje";
  8. }

Możecie mi podpowiedź jak połączyć to trzy opcje? Jeśli formularz jest pusty -> informacja, jeśli rekord istnieje -> informacja, jeśli dodany poprawnie -> informacja.Jeśli chodzi o sprawdzenie pól formularza to takie proste potrafię zrobić, ale wtedy przy otwarciu strony piszę, że pola są puste, da się to jakoś ominąć? Z góry dziękuje.

PROBLEM ROZWIĄZANY:

  1. if(strlen($bla1)>0 && strlen($bla2)>0 && strlen($bla3)>0){
  2. $exist = mysql_query("SELECT * FROM cmd WHERE name = '$bla1'");
  3. $e = mysql_num_rows($exist);
  4.  
  5. if($e == 1)
  6. {
  7. echo "Wiadomosc ze komenda istnieje";
  8. }
  9. if($e == 0)
  10. {
  11. $rekord = "INSERT INTO cmd (bla1,bla2,bla3) VALUES ('$bla1','$bla2','$bla3');";
  12. $wykonaj = mysql_query ($rekord);
  13. echo "Wiadomosc o powodzeniu";
  14. }
  15. }


Ten post edytował hubeX 27.03.2010, 10:06:26
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 Wersja Lo-Fi Aktualny czas: 24.07.2025 - 15:40