Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Zabawa z chechboxami, Działania na wybranych rekordach
andrzejlechniak
post
Post #1





Grupa: Zarejestrowani
Postów: 242
Pomógł: 0
Dołączył: 7.11.2008

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


Hej wszystkim.

Mam skrypt, w którym za pomocą zaznaczenia opcji 'checkbox' chcę wykonywać parę działań. Ale coś mi to wszystko nie chce działać.

Oto skrypt 'index.php':
  1. <?php
  2. require_once ('baza/db.php');
  3.  
  4. echo '<form action="action.php" method="POST">';
  5. echo '<p>Tabela testu <span style="font-weight:bold;">checkboxa</span>.</p>';
  6.  
  7. $sql = 'SELECT * FROM tab_test';
  8. $result = mysql_query($sql) or die(mysql_error());
  9. while ($row = mysql_fetch_array($result))
  10. {
  11. extract($row);
  12. echo '<div style="border: 1px solid #bbbbbb; margin-bottom: 3px;"><p>
  13. &nbsp '.$id.'.
  14. Status - <input type="checkbox" title="zmien status" name="update" /> |
  15. List - <input type="checkbox" title="wyslij list" name="e_mail" value="'.$e_mail.'" /> |
  16. '.$pole_1.' - '.$pole_2.' - ';
  17. if($stat==1)
  18. {
  19. echo 'status Opublikowany';
  20. }
  21. else
  22. {
  23. echo 'status Niepublikowany';
  24. }
  25. echo '</p></div>';
  26. }
  27. echo '<input type="checkbox" /> Zaznacz wszystkie osoby <br />';
  28. echo '<input type="submit" name="zmien" value="Zmien status">';
  29. echo '<input type="submit" name="napisz" value="Napisz list">';
  30. echo '</form>';


a to skrypt, gdzie przesyłane są dane:
  1. <?php
  2. require_once ('baza/db.php');
  3.  
  4. if(isset($_POST['wyslij']))
  5. {
  6. $tytul = mysql_real_escape_string(htmlspecialchars($_POST['tytul']));
  7. $tresc = mysql_real_escape_string(htmlspecialchars($_POST['tresc']));
  8.  
  9. if(empty($tytul) || empty($tresc))
  10. {
  11. echo 'Jedno z pól jest puste.';
  12. }
  13. else
  14. {
  15. ///Wysłanie listu. Pod ten adres zostanie wysłana wiadomosc
  16. $adresat = 'adresat@wp.pl'; //wybrane adresy osób z bazy
  17. $tytul = 'List z mojej strony';
  18. @$content = $_POST['tresc'];
  19. @$email = $_POST['e_mail'];
  20.  
  21. if (mail($adresat, $tytul, $content, $email))
  22. {
  23. $adresat = $_POST['osoby'];
  24. $sql_subs = "INSERT INTO tab_testa (tresc,osoby,data) VALUES ('$tresc','$osoby',CURDATE());";
  25. $result = mysql_query($sql_subs) or die(mysql_error());
  26. if($result)
  27. {
  28. echo 'Zapisano w bazie.';
  29. }
  30. else
  31. {
  32. echo 'Nie udało się zapisać do bazy.';
  33. }
  34.  
  35. echo '<p>Udało się</p><hr />';
  36. }
  37. }
  38. }
  39. else
  40. {
  41. echo '<p>Nie udało się wysłać listu.</p><hr />';
  42. }
  43.  
  44. ////////////////////////////////////////////////////////////////////
  45. if(isset($_POST['zmien']))
  46. {
  47. if(empty($_POST['update']))
  48. {
  49. echo 'Nie wybrano akcji.<br />';
  50. echo 'Wróć do <a href="index.php">Strony głównej</a>.';
  51. }
  52. else
  53. {
  54. $sql_update = "UPDATE tab_test SET stat='$stat'";
  55. $result = mysql_query($sql_update) or die(mysql_error());
  56.  
  57. if($result)
  58. {
  59. echo 'Udało się.<br />';
  60. echo 'Wróć do <a href="index.php">Strony głównej</a>.';
  61. }
  62. else
  63. {
  64. echo 'Nie udało się.<br />';
  65. echo 'Wróć do <a href="index.php">Strony głównej</a>.';
  66. }
  67. }
  68. }
  69. else if(isset($_POST['napisz']))
  70. {
  71. if(empty($_POST['e_mail']))
  72. {
  73. echo 'Nie wybrano adresu.<br />';
  74. echo 'Wróć do <a href="index.php">Strony głównej</a>.';
  75. }
  76. else
  77. {
  78. $_POST['e_mail'] = implode(', ', $_POST['e_mail']);
  79. echo '<form action="" method="POST">';
  80. echo '<div style="font-weight:bold;">Napisz list.</div>';
  81. echo 'Wybrane osoby - '.$_POST['e_mail'].' <br />';
  82. echo 'Wpisz tytul: <input type="text" name="tytul" /><br />';
  83. echo 'Napisz tresc: <br /><textarea rows="10" cols="20" name="tresc"></textarea><br />';
  84. echo '<input type="submit" name="napisz_list" value="Wyslij" /><br/>';
  85. echo '</form>';
  86. }
  87. }
  88.  
  89. ?>


Taki mam problem. Chcę aktualizować status użytkownika i choć instrukcja if - else działa [tzn. pokazuje info, że udało się], to w bazie nie zmieniło się nic, czyli polecenie UPDATE nie zadziałało. Chodzi mi też o wysyłanie listu, gdy klikam na wybrane osoby [dla przykładu mam dwie osoby], to chyba funkcja explode() działa tak, że powinna rozpisać te stringi przesyłane przez formularz, np. jasio@o2.pl, malgosia@o2.pl. A mi to nie działa, gdzie tu popełniłem błąd?
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.09.2025 - 16:26