Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] Książka telefoniczna, Problem z testowym skryptem
cyfilis
post
Post #1





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 4.08.2011
Skąd: Niedzieliska(k.Zamość)

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


Witam.
Dopiero uczę się PHP i MySQL.
Przerabiam właśnie jeden z kursów on-line o PHP i MySQL. Doszedłem do zagadnień związanych z łączeniem skryptów php z baza danych.
Autor kursu zaprezentował testowy kod skryptu PHP i zapytań MySQL. Wszystko szło dobrze ale gdy chciałem wzbogacić skrypt (również z porad autora) nie wszystko działa.
Skrypt to prosta ksiązka telefoniczna, utworzyłem bazę i tablicę . Dodałem testowy wpis za pomoca zapytania oraz dodałem możliwość usuwania wpisów. Następnie dodałem możliwość dodawania ich wprost ze strony i tutaj nie wiem czemu po wypełnieniu pól formularza i naciśnięciu przycisku dodaj nic się nie dzieje. Zapewne popełniłem jakiś błąd.


  1. <?php // wyswietlanie ksiazki telefonicznej
  2. // nawiazanie polaczenia
  3. mysql_connect ("*****", "db****", "*****") or die ("<b>Nie można połączyć się z bazą danych!</b>");
  4. //wybór bazy danych
  5. mysql_select_db ("db****") or die ("<b>Nie można się połączyć z bazą <i>db****</i></b>");
  6. //dodawanie wpisów
  7. if ($_POST['action'] =='add')
  8. {
  9. $imie_f=$_POST['imie'];
  10. $nazw_f=$_POST['nazwisko'];
  11. $tele_f=$_POST['telefon'];
  12. if ($imie_f && $nazw_f && $tele_f )
  13. {
  14. $query="INSERT INTO ksiazka (imie,nazwisko,telefon) VALUES ('$imie_f', '$nazw_f', '$tele_f')";
  15. $wynik=mysql_query($query);
  16. if ($wynik)
  17. {
  18. print ("<b>Dane zostały poprawnie dodane do bazy!</b>");
  19. }
  20. else
  21. {
  22. print ("Nie udało się dodać danych do bazy!");
  23. }
  24. }
  25. else
  26. {
  27. print ("<b>Proszę wypełnić wszystkie pola formularza.</b>");
  28. }
  29. }
  30. // usuwanie wpisów
  31. if ($_GET['action'] =='skasuj')
  32. {
  33. $wynik = mysql_query ("DELETE FROM ksiazka WHERE nr='".$_GET['id']."';");
  34. }
  35. //pytanie do bazy
  36. $wynik = mysql_query ("SELECT * FROM ksiazka;") or die ("<b>Wystąpił błąd</b>");
  37. print ("<TABLE CELLPADDING=5 BORDER=1>");
  38. print ("<TR><TD><b>Imię</b></TD><TD><b>Nazwisko</b></TD>");
  39. print ("<TD><b>Telefon</b></TD><TD><b>Akcja</b></TD></TR>");
  40. //odczyt danych z bazy i wyswietlenie ich
  41. while ($rekord = mysql_fetch_assoc($wynik))
  42. {
  43. $nr = $rekord['nr'];
  44. $imie = $rekord['imie'];
  45. $nazwisko = $rekord['nazwisko'];
  46. $telefon = $rekord['telefon'];
  47. print ("<TR><TD>$imie</TD><TD>$nazwisko</TD>");
  48. print ("<TD>$telefon</TD>");
  49. print ("<TD><a href=\"1.php?action=skasuj&id=$nr\" TITLE=\"Skasuj wpis!\">usuń</a>");
  50. print ("</TD></TR>");
  51. }
  52. print ("</TABLE");
  53. print '<FORM METHOD="POST">Dodaj:
  54. <INPUT TYPE="hidden" NAME="action" VALUE="add">
  55. <TABLE>
  56. <TR><TD>Imię:</TD><TD><INPUT TYPE="text" NAME="imie"></TD></TR>
  57. <TR><TD>Nazwisko:</TD><TD><INPUT TYPE="text" NAME="nazwisko"></TD></TR>
  58. <TR><TD>Telefon:</TD><TD><INPUT TYPE="text" NAME="telefon"></TD></TR>
  59. </TABLE>
  60. <INPUT TYPE="submit" VALUE="dodaj">
  61. </FORM>';
  62. ?>


Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
cyfilis
post
Post #2





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 4.08.2011
Skąd: Niedzieliska(k.Zamość)

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


Dziękuje.
Ale to nie rozwiązało mojego problemu, przycisk Dodaj nadal nie reaguje.

Myślałem że to może coś z bazą danych ale Opcja "Usuń" działa poprawnie.
Jedynie Dodaj i nowo dodana edytuj nie działa.

A oto aktualny kod skryptu

  1. <?PHP
  2. ini_set( 'display_errors', 'On' );
  3. error_reporting( E_ALL );
  4. ?>
  5.  
  6. <?php // wyswietlanie ksiazki telefonicznej
  7. // nawiazanie polaczenia
  8. mysql_connect ("mgu.pl", "db1452", "") or die ("<b>Nie można połączyć się z bazą danych!</b>");
  9. //wybór bazy danych
  10. mysql_select_db ("db12") or die ("<b>Nie można się połączyć z bazą <i>14</i></b>");
  11. //dodawanie wpisów
  12. if ($_POST['action'] =='add')
  13. {
  14. $imie_f=$_POST['imie'];
  15. $nazw_f=$_POST['nazwisko'];
  16. $tele_f=$_POST['telefon'];
  17. if ( $imie_f && $nazw_f && $tele_f )
  18. {
  19. $query="INSERT INTO ksiazka (imie,nazwisko,telefon) VALUES ('$imie_f', '$nazw_f', '$tele_f')";
  20. $wynik=mysql_query($query) or die(mysql_error());
  21. if ($wynik)
  22. {
  23. print ("<b>Dane zostały poprawnie dodane do bazy!</b>");
  24. }
  25. else
  26. {
  27. print ("Nie udało się dodać danych do bazy!");
  28. }
  29. }
  30. else
  31. {
  32. print ("<b>Proszę wypełnić wszystkie pola formularza.</b>");
  33. }
  34. }
  35. //Edycja wpisów
  36. if ($_POST['action'] =='popraw')
  37. {
  38. $imie_f=$_POST['imie'];
  39. $nazw_f=$_POST['nazwisko'];
  40. $tele_f=$_POST['telefon'];
  41. $nr_f=$_POST['id'];
  42. if ( $imie_f && $nazw_f && $tele_f )
  43. {
  44. $query = "UPDATE ksiazka SET imie='$imie_f', nazwisko='$nazw_f', telefon='$tele_f' WHERE nr='$nr_f';";
  45. $wynik = mysql_query($query);
  46. if($wynik)
  47. {
  48. print("<b>Dane zaktualizowano poprawnie!</b>");
  49. }
  50. else
  51. {
  52. print("<b>Niestety nie udało się zaktualizować danych!</b>");
  53. }
  54. }
  55. }
  56. elseif ($_GET['action'] =='edytuj')
  57. {
  58. $query = "SELECT * FROM ksiazka WHERE nr='".$_GET['id']."';";
  59. $wynik = mysql_query($query);
  60. $rekrod = mysql_fetch_assoc($wynik);
  61. $nr = $rekord['nr'];
  62. $imie = $rekord['imie'];
  63. $nazwisko = $rekord['nazwisko'];
  64. $telefon = $rekord['telefon'];
  65. print '<FORM METHOD="POST">Edycja danych:
  66. <INPYT TYPE="hidden" NAME="action" VALUE="popraw">
  67. <INPUT TYPE="hidden" NAME="id" VALUE="'.$nr.'">
  68. <TABLE>
  69. <TR><TD>Imie:</TD><TD><INPUT TYPE="text" NAME="imie" VALUE="'.$imie.'"></TD></TR>
  70. <TR><TD>Nazwisko:</TD><TD><INPUT TYPE="text" NAME="nazwisko" VALUE="'.$nazwisko.'"></TD></TR>
  71. <TR><TD>Telefon:</TD><TD><INPUT TYPE="text" NAME="telefon" VALUE="'.$telefon.'"></TD></TR>
  72. </TABLE>
  73. <INPUT TYPE="submit" VALUE="Popraw"></FORM>';
  74. }
  75. // usuwanie wpisów
  76. if ($_GET['action'] =='skasuj')
  77. {
  78. $wynik = mysql_query ("DELETE FROM ksiazka WHERE nr='".$_GET['id']."';");
  79. }
  80. //pytanie do bazy
  81. $wynik = mysql_query ("SELECT * FROM ksiazka;") or die ("<b>Wystąpił błąd</b>");
  82. print ("<TABLE CELLPADDING=5 BORDER=1>");
  83. print ("<TR><TD><b>Imię</b></TD><TD><b>Nazwisko</b></TD>");
  84. print ("<TD><b>Telefon</b></TD><TD><b>Akcja</b></TD></TR>");
  85. //odczyt danych z bazy i wyswietlenie ich
  86. while ($rekord = mysql_fetch_assoc($wynik))
  87. {
  88. $nr = $rekord['nr'];
  89. $imie = $rekord['imie'];
  90. $nazwisko = $rekord['nazwisko'];
  91. $telefon = $rekord['telefon'];
  92. print ("<TR><TD>$imie</TD><TD>$nazwisko</TD>");
  93. print ("<TD>$telefon</TD>");
  94. print ("<TD><a href=\"1.php?action=skasuj&id=$nr\" TITLE=\"Skasuj wpis!\">usuń</a>");
  95. print ("</TD></TR>");
  96. }
  97. print ("</TABLE");
  98. print '<FORM METHOD="POST">Dodaj:
  99. <INPUT TYPE="hidden" NAME="action" VALUE="add">
  100. <TABLE>
  101. <TR><TD>Imię:</TD><TD><INPUT TYPE="text" NAME="imie"></TD></TR>
  102. <TR><TD>Nazwisko:</TD><TD><INPUT TYPE="text" NAME="nazwisko"></TD></TR>
  103. <TR><TD>Telefon:</TD><TD><INPUT TYPE="text" NAME="telefon"></TD></TR>
  104. </TABLE>
  105. <INPUT TYPE="submit" VALUE="dodaj">
  106. </FORM>';
  107. ?>


Dodatkowo na początku dodałem kod który znalazłem w sieci. Wyświetla błędy w kodzie. No i występują 4 błędy.

Notice: Undefined index: action in /.../././.....pl/1.php on line 12
Identyczny błąd ma również linijka 36, 56 i 76 . Wszystkie te błędy są tam gdzie zaczyna się "kolejny moduł skryptu" . A więc : Dodaj, usuń oraz edytuj.

Ten post edytował cyfilis 4.08.2011, 15:59:28
Go to the top of the page
+Quote Post

Posty w temacie


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.12.2025 - 15:20