Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php]Bledny kod php, brak reakcji po wypelnieniu formularza
016darek
post 10.12.2010, 18:19:12
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 10.12.2010

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


Witam
Php ucze sie od niedawna. Teraz zaczalem korzystac z php w polaczeniu z baza danych.
Stworzylem formularz gdzie sa trzy pola oraz przycisk submit. Problem w tym ze po wyslaniu,dane nie sa dodawane do bazy danych i nie ma potwierdzenia tekstowego.
Prosze o przejrzenie kodu czy nie ma jakiegos bledu.Bede wdzieczny.Pozdrawiam

  1. <?php
  2. include 'db.php';
  3. $table = 'comments';
  4.  
  5. if ($_POST["send"]) {
  6. $nick = htmlspecialchars(stripslashes(strip_tags(trim($_POST["nick"]))), ENT_QUOTES);
  7. $tresc = htmlspecialchars(addslashes(strip_tags(trim($_POST["tresc"]))), ENT_QUOTES);
  8. $email = htmlspecialchars(stripslashes(strip_tags(trim($_POST["email"]))), ENT_QUOTES);
  9. if (!eregi("^[0-9a-z_.-]+@([0-9a-z-]+\.)+[a-z]{2,4}$", $email)) {
  10. $error;
  11. echo 'Nieprawidlowy e-mail';
  12. }
  13. if ($error == 0) {
  14. $result = mysql_query("INSERT INTO $table VALUES('', '$nick','$tresc', '$email', '')");
  15. if ($result) {
  16.  
  17. echo 'Dodano...';
  18. mysql_close($connection);
  19. }
  20. }
  21.  
  22. mysql_close($connection);
  23. }
  24.  
  25.  
  26. //FORMULARZ
  27. echo <<< form
  28.  
  29.   <form class="form" action="index.php" method="post">
  30.   <input type="hidden" name="send" value="TRUE" />
  31. <p>
  32. <label for="nick">Nick</label>
  33. <input type="text" name="nick" id="nick" />
  34. </p>
  35. </p>
  36. <label for="email">Email </label>
  37. <input type="text" name="email" id="email" />
  38. </p>
  39. <p>
  40. <label for="tresc">Tresc</label>
  41. <input type="text" name="tresc" id="tresc" />
  42. form;
  43. echo <<< form
  44. <p>
  45. <input type="submit" value="Dodaj" />
  46. </p></form>
  47. form;
  48.  
  49. ?>
  50.  
  51.  
  52.  
Go to the top of the page
+Quote Post
lord2105
post 10.12.2010, 18:24:15
Post #2





Grupa: Zarejestrowani
Postów: 380
Pomógł: 59
Dołączył: 24.04.2010
Skąd: London

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


pokaz plik db.php

i po co to:

  1. if ($error == 0) {


Ten post edytował lord2105 10.12.2010, 18:25:28


--------------------
40% rozwiązań znajduje się tutaj.
59,9% tutaj.

Jeśli pomogłem rozwiązać Twój problem wciśnij
Go to the top of the page
+Quote Post
016darek
post 10.12.2010, 19:11:44
Post #3





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 10.12.2010

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


Cytat(lord2105 @ 10.12.2010, 18:24:15 ) *
i po co to:

  1. if ($error == 0) {

To jest warunek ze jesli nie ma bledu to ma wykonac nastepne polecenie,ale mowisz ze to nie potrzebne?

Oto db.php (celowo zmieione parametry polaczena)

  1. <?php
  2. $mysql_host = 'moj host';
  3. $mysql_login = 'moj login';
  4. $mysql_haslo = 'moje haslo';
  5. $mysql_baza = 'nazwa bazy';
  6.  
  7. $connection = mysql_connect($mysql_host, $mysql_login, $mysql_haslo) or die('Błąd polaczenia.');
  8. mysql_select_db($mysql_baza);
  9.  
  10. ?>



Dodatkowo dodaje konfiguracje bazy:
  1. CREATE TABLE `comments` (
  2. `id` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
  3. `nick` VARCHAR(100) NOT NULL,
  4. `tresc` VARCHAR(30) NOT NULL,
  5. `email` VARCHAR(100) NOT NULL,
  6.  
  7. PRIMARY KEY (`id`)
  8. )


Ten post edytował 016darek 10.12.2010, 19:16:55
Go to the top of the page
+Quote Post
markonix
post 10.12.2010, 19:22:20
Post #4





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

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


lord słusznie Cie naprowadził, przecież zmienna $error nigdzie nie ma przypisanej wartości, więc nawet nie dochodzi do fragmentu dodawania do bazy.


--------------------
Go to the top of the page
+Quote Post
016darek
post 10.12.2010, 19:35:39
Post #5





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 10.12.2010

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


Ok racja. Jaka wiec wartosc proponujecie dodac do tej zmiennej,aby wszystko dzialalo?

edit:


Usunalem tamta zmienna,teraz kod wyglada tak,ale mimo wszystko nie dziala

  1. <?php
  2. include 'db.php';
  3. $table = 'comments';
  4.  
  5. if ($_POST["send"]) {
  6. $nick = htmlspecialchars(stripslashes(strip_tags(trim($_POST["nick"]))), ENT_QUOTES);
  7. $tresc = htmlspecialchars(addslashes(strip_tags(trim($_POST["tresc"]))), ENT_QUOTES);
  8. $email = htmlspecialchars(stripslashes(strip_tags(trim($_POST["email"]))), ENT_QUOTES);
  9. if (!eregi("^[0-9a-z_.-]+@([0-9a-z-]+\.)+[a-z]{2,4}$", $email)) {
  10. echo 'Nieprawidlowy e-mail';
  11. }
  12. }
  13. $result = mysql_query("INSERT INTO $table VALUES('', '$nick','$tresc', '$email', '')");
  14.  
  15. if ($result) {
  16.  
  17. echo 'Dodano...';
  18.  
  19. mysql_close($connection);
  20.  
  21.  
  22. }
  23.  
  24.  
  25.  
  26.  
  27.  
  28. mysql_close($connection);
  29.  
  30.  
  31.  
  32.  
  33. //FORMULARZ
  34. echo <<< form
  35.  
  36.   <form class="form" action="index.php" method="post">
  37.   <input type="hidden" name="send" value="TRUE" />
  38. <p>
  39. <label for="nick">Nick</label>
  40. <input type="text" name="nick" id="nick" />
  41. </p>
  42. </p>
  43. <label for="email">Email </label>
  44. <input type="text" name="email" id="email" />
  45. </p>
  46. <p>
  47. <label for="tresc">Tresc</label>
  48. <input type="text" name="tresc" id="tresc" />
  49. form;
  50. echo <<< form
  51. <p>
  52. <input type="submit" value="Dodaj" />
  53. </p></form>
  54. form;
  55.  
  56. ?>


Ten post edytował 016darek 10.12.2010, 19:56:15
Go to the top of the page
+Quote Post
lord2105
post 10.12.2010, 20:42:27
Post #6





Grupa: Zarejestrowani
Postów: 380
Pomógł: 59
Dołączył: 24.04.2010
Skąd: London

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


oj kolego a gdzie nazwa przycisku send? Twoj skrypt nie dziala i slusznie poniewaz nie chcesz zeby dzialal smile.gif

  1. if ($_POST["send"]) {
  2. //twoj kod
  3. }


  1. <input type="submit" value="Dodaj" />


hehn a gdzie name? i klapa nie dziala winno byc:

  1. <input type="submit" value="Dodaj" name='send' />



--------------------
40% rozwiązań znajduje się tutaj.
59,9% tutaj.

Jeśli pomogłem rozwiązać Twój problem wciśnij
Go to the top of the page
+Quote Post
016darek
post 10.12.2010, 22:20:10
Post #7





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 10.12.2010

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


Wielkie dzielkie!Niedopatrzenie z mojej strony smile.gif
Ale tak to bywa na poczatku smile.gif
Daje "pomogl"
Pozdrawiam
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.04.2024 - 17:50