Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [HTML][MySQL][PHP]Dodawanie tekstu do bazy
gadhet
post 14.12.2009, 23:56:51
Post #1





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 2.08.2009

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


Witam mam taki skrypt dodajacy do bazy kawal i skrypt wyglada ok jednak kawal nie dodaje sie do bazy, tak jakby sie nic nei dzialo czy moglby mi ktos pomoc z tym i napisac oc jest nie tak...moze jakas podpowiedz?

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
  5. <title>Untitled Document</title>
  6. </head>
  7. <body>
  8. <?php if (isset($_GET['addjoke'])): //Użytkownik chce dodać kawał
  9. ?>
  10.  
  11. <form action="<?php $_SERVER['PHP_SELF']; ?>" method="post">
  12. <label>Wpisz tutaj kawał:<br />
  13. <textarea name="tekstkawalu" rows="10" cols="40">
  14. </textarea></label><br/>
  15. <input type="submit" value="Akceptuj" />
  16. </form>
  17.  
  18. <?php else: // Jesli nie, wyświetlimy domyslną stronę
  19.  
  20. // POłacz z serwerem
  21. $baza = @mysql_connect('host', 'baza', 'haslo');
  22. if (!$baza) {
  23. exit ('<p> W tej chwili nie można' .
  24. 'połaczenia z serwerem bazy danych. </p>');
  25. }
  26.  
  27. //Wybierz bazę danych z kawałami
  28. if (!@mysql_select_db ('baza')) {
  29. exit ('<p><p> NIe mozna w tej chwili ' .
  30. ' zlokalizować bazy kawałów.</p>');
  31. }
  32.  
  33. //Jeśli uzytkownik wprowadził kawał, dodaj żart do bazy danych
  34. if (isset($_POST['tekstkawalu'])) {
  35. $joketext = $_POST['tekstkawalu'];
  36. $sql = "INSERT INTO kawal SET
  37. tekstkawalu='$joketext'.
  38. datakawalu= CURDATE()";
  39. if (@mysql_query($sql)) {
  40. echo '<p> Twój kawał został dodany.</p>';
  41. } else {
  42. echo '<p> Błąd podczas dodawania kawału: '.
  43. mysql_error() . '</p>';
  44. }
  45. }
  46.  
  47. echo '<p> Oto lista wszytskich kawałów w naszej bazie: </p>';
  48.  
  49. //Zażądaj tekstu wszystkich kawałów
  50. $result = @mysql_query('SELECT tekstkawalu FROM kawal');
  51. if (!$result) {
  52. exit('<p> Błąd podczas wykonywania zapytania: ' . mysql_error() . '</p>');
  53. }
  54.  
  55. //Wyświetl tekst każdego kawału w osobnym akapicie
  56. while ($row = mysql_fetch_array($result)) {
  57. echo '<p>' . $row['tekstkawalu'] . '</p>';
  58. }
  59.  
  60. echo '<p><a href="' . $_SERVER['PHP_SELF'].
  61. '?addjoke=1"> Dodaj swój kawał!</a></p>';
  62.  
  63. endif;
  64. ?>
  65.  
  66.  
  67. </body>
  68. </html>


Dziękuję z góry za pomoc

Ten post edytował gadhet 15.12.2009, 00:02:48
Go to the top of the page
+Quote Post
boddah85
post 15.12.2009, 08:21:27
Post #2





Grupa: Zarejestrowani
Postów: 72
Pomógł: 4
Dołączył: 31.07.2006

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


Jak na moje źle skonstruowany insert w linijce 36.
  1. $sql = "INSERT INTO kawal(tekstkawalu,datakawalu) VALUES ('$joketext',CURDATE())";


Ten post edytował boddah85 15.12.2009, 08:24:06
Go to the top of the page
+Quote Post
tvister
post 15.12.2009, 08:23:28
Post #3





Grupa: Zarejestrowani
Postów: 253
Pomógł: 29
Dołączył: 18.08.2008

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


Wykasuj @ z kodu a zobaczysz więcej.
Na moje oko brak przecinka w operacji insert.

Ten post edytował tvister 15.12.2009, 08:23:53


--------------------
Kto rano wstaje ten leje jak z cebra.
Go to the top of the page
+Quote Post
gadhet
post 15.12.2009, 19:51:12
Post #4





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 2.08.2009

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


Pomoc od boddah85 tez nie dziala sad.gif

Kod
$sql = "INSERT INTO kawal(tekstkawalu,datakawalu) VALUES ('$joketext',CURDATE())";


ale wydaje mi sie ze wlasnie to jest problemem, ale co trzeba jeszcze poprawic??
Go to the top of the page
+Quote Post
lnn
post 15.12.2009, 20:03:34
Post #5





Grupa: Zarejestrowani
Postów: 361
Pomógł: 11
Dołączył: 17.12.2008
Skąd: LU

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


czytaj erraty do ksiazek jak juz z nich bezmyślnie skrypty przepisujesz tongue.gif
http://helion.pl/errata.cgi?id=phmsww

o ile sie nie myle to literowka czy cos w tym stylu bylo w tym skrypcie
najprawdopodobniej inaczej nazwana zmienna
Go to the top of the page
+Quote Post
gadhet
post 15.12.2009, 21:44:37
Post #6





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 2.08.2009

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


tak w erracie jest poprawa bledu ale nie w skrypcie, a tylko jest zaznaczony blad w tekscie i dotyczy wlasnie nazwy zmiennej, jednak ja dopiero ucze sie i chcialbym chociaz ten prosty skrypt odpalic a czytajac ksiazke nie moge dojsc dlaczego nie dziala. Ktos jeszcze pomoze rozwiazac dlaczego nie dziala ten skrypt?
Go to the top of the page
+Quote Post
Wicepsik
post 15.12.2009, 21:50:04
Post #7





Grupa: Zarejestrowani
Postów: 1 575
Pomógł: 299
Dołączył: 26.03.2009

Ostrzeżenie: (20%)
X----


  1. $z = mysql_query($sql);
  2. if($z){
  3. echo 'dobrze';
  4. }else{
  5. echo 'zle';
  6. }


--------------------
Go to the top of the page
+Quote Post
gadhet
post 15.12.2009, 22:01:51
Post #8





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 2.08.2009

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


Wicepsik moglbym prosic o drobne wytlumaczenie?

chodzi o zamiane tej czesci skryptu:

Kod
$sql = "INSERT INTO kawal SET
tekstkawalu='$joketext'.
datakawalu= CURDATE()";


if (@mysql_query($sql)) {
echo '<p> Twój kawał został dodany.</p>';
} else {
echo '<p> Błąd podczas dodawania kawału: '.
mysql_error() . '</p>';
}


i tej czesci od if (@mysql_query($sql))
Go to the top of the page
+Quote Post
artur_dziocha
post 15.12.2009, 22:10:39
Post #9





Grupa: Zarejestrowani
Postów: 320
Pomógł: 53
Dołączył: 18.09.2007
Skąd: Radom

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


porównaj
  1. $sql = "INSERT INTO kawal SET tekstkawalu='$joketext'. datakawalu= CURDATE()";

a
  1. $sql1 = "INSERT INTO kawal SET tekstkawalu='".$joketext."'. datakawalu= CURDATE()";

  1. echo $sql, $sql1

Temat: PHP cudzyslow a apostrof

Ten post edytował artur_dziocha 15.12.2009, 22:12:21
Go to the top of the page
+Quote Post
gadhet
post 15.12.2009, 22:30:05
Post #10





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 2.08.2009

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


juz probowalem zmiany apostrofu i cudzyslowu i dalej jednak to nie dziala, dzialanie wyglada tak ze daje akceptuj po wpisaniu do formularza jakiegos tekstu i zero reakcji nic sie nie dodaje i strona sie nie zmienia zostaje po akceptacji dalej pozostaje pole formularza do wpisywania
Go to the top of the page
+Quote Post
artur_dziocha
post 15.12.2009, 22:39:08
Post #11





Grupa: Zarejestrowani
Postów: 320
Pomógł: 53
Dołączył: 18.09.2007
Skąd: Radom

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


wywal małpki przed mysql_query, mysql_connect itp
i daj
  1. $sql = "INSERT INTO kawal SET tekstkawalu='".$joketext."'. datakawalu= CURDATE()";
  2. $query = mysql_query($sql) or die(mysql_error());

Wklej wynik zapytania
  1. echo $sql;
Go to the top of the page
+Quote Post
gadhet
post 15.12.2009, 22:53:23
Post #12





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 2.08.2009

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


zmienilem ta czesc gdzie dodaje sie kawal ale jednak dalej zero reakcji po dodaniu kawalu poprzez formularz i nic sie nie dodaje:


Kod
//Jeśli uzytkownik wprowadził kawał, dodaj żart do bazy danych
if  (isset($_POST['tekstkawalu'])) {
    $tekstkawalu = $_POST['tekstkawalu'];
        
    $sql = "INSERT INTO kawal SET tekstkawalu='".$joketext."'. datakawalu= CURDATE()";
    $query = mysql_query($sql) or die(mysql_error());
  
   echo $sql;
            
    if (mysql_query($sql)) {
        echo '<p> Twój kawał został dodany.</p>';
    } else {
        echo '<p> Błąd podczas dodawania kawału: '.
            mysql_error() . '</p>';
    }
}
Go to the top of the page
+Quote Post
artur_dziocha
post 15.12.2009, 23:04:11
Post #13





Grupa: Zarejestrowani
Postów: 320
Pomógł: 53
Dołączył: 18.09.2007
Skąd: Radom

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


miałeś wyświetlić co daje ci echo $sql
a przesyła ci w ogóle ten formula?? zrób sobie jeszcze print_r($_POST) ->wyświetli ci tablice $_POST
raczej nie bo istnieje chyba zmienna $_GET['addjoke'] a później jest else
masz taki kod
  1. if(isset($_GET['addjoke))
  2. { //wyświetl foemularz
  3. }
  4. else {
  5. //rób coś innego czyli dodaj kawał
  6. //tylko, że istnieje $_GET['addjoke'] i nic się nie robi
  7. }



a to co to jest?questionmark.gif
  1. $tekstkawalu = $_POST['tekstkawalu'];
  2.  
  3. $sql = "INSERT INTO kawal SET tekstkawalu='".$joketext."'. datakawalu= CURDATE()";

najpierw inicjujesz zmienną $tekstkawalu a używasz $joketext

tak czy inaczej Twój kod kupy sie nie trzyma

Ten post edytował artur_dziocha 15.12.2009, 23:10:12
Go to the top of the page
+Quote Post
gadhet
post 15.12.2009, 23:11:19
Post #14





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 2.08.2009

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


a widzisz chyba nie wysyla bo otrzymalem

Array ( )

wiec rozumie ze jest pusto
Go to the top of the page
+Quote Post
artur_dziocha
post 15.12.2009, 23:23:31
Post #15





Grupa: Zarejestrowani
Postów: 320
Pomógł: 53
Dołączył: 18.09.2007
Skąd: Radom

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


  1. // POłacz z serwerem
  2. $baza = @mysql_connect('host', 'baza', 'haslo');
  3. if (!$baza) {
  4. exit ('<p> W tej chwili nie można' .
  5. 'połaczenia z serwerem bazy danych. </p>');
  6. }
  7.  
  8. //Wybierz bazę danych z kawałami
  9. if (!@mysql_select_db ('baza')) {
  10. exit ('<p><p> NIe mozna w tej chwili ' .
  11. ' zlokalizować bazy kawałów.</p>');
  12. }
  13. //Użytkownik chce dodać kawał
  14. <?php if (isset($_GET['addjoke'])) {
  15.  
  16.  
  17.  
  18. //Jeśli uzytkownik wprowadził kawał, dodaj żart do bazy danych
  19. if (isset($_POST['tekstkawalu'])) {
  20. $joketext = $_POST['tekstkawalu'];
  21. $sql = "INSERT INTO kawal SET
  22. tekstkawalu='".$joketext."'.
  23. datakawalu= CURDATE()";
  24. if (@mysql_query($sql)) {
  25. echo '<p> Twój kawał został dodany.</p>';
  26. } else {
  27. echo '<p> Błąd podczas dodawania kawału: '.
  28. mysql_error() . '</p>';
  29. }
  30. }
  31.  
  32.  
  33. ?>
  34.  
  35. <form action="<?php $_SERVER['PHP_SELF']; ?>" method="post">
  36. <label>Wpisz tutaj kawał:<br />
  37. <textarea name="tekstkawalu" rows="10" cols="40">
  38. </textarea></label><br/>
  39. <input type="submit" value="Akceptuj" />
  40. </form>
  41. }
  42. <?php else{ // Jesli nie, wyświetlimy domyslną stronę
  43.  
  44.  
  45.  
  46. echo '<p> Oto lista wszytskich kawałów w naszej bazie: </p>';
  47.  
  48. //Zażądaj tekstu wszystkich kawałów
  49. $result = @mysql_query('SELECT tekstkawalu FROM kawal');
  50. if (!$result) {
  51. exit('<p> Błąd podczas wykonywania zapytania: ' . mysql_error() . '</p>');
  52. }
  53.  
  54. //Wyświetl tekst każdego kawału w osobnym akapicie
  55. while ($row = mysql_fetch_array($result)) {
  56. echo '<p>' . $row['tekstkawalu'] . '</p>';
  57. }
  58.  
  59. echo '<p><a href="' . $_SERVER['PHP_SELF'].
  60. '?addjoke=1"> Dodaj swój kawał!</a></p>';
  61.  
  62. }
  63.  




Oczywiście to mogłoby dużo lepiej wyglądać, ale tylko Cie naprowadzam
Nie jestem pewien czy zadziała, w razie czego pokombinuj oraz zapraszam do manuala.
Wywal oczywiście te małpy, stosuj mysql_query($sql) or die(mysql_error()) i tym podobne

Ten post edytował artur_dziocha 15.12.2009, 23:30:00
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: 7.05.2024 - 03:57