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':
<?php
require_once ('baza/db.php');
echo '<form action="action.php" method="POST">'; echo '<p>Tabela testu <span style="font-weight:bold;">checkboxa</span>.</p>';
$sql = 'SELECT * FROM tab_test';
{
echo '<div style="border: 1px solid #bbbbbb; margin-bottom: 3px;"><p>   '.$id.'.
Status - <input type="checkbox" title="zmien status" name="update" /> |
List - <input type="checkbox" title="wyslij list" name="e_mail" value="'.$e_mail.'" /> |
'.$pole_1.' - '.$pole_2.' - ';
if($stat==1)
{
echo 'status Opublikowany'; }
else
{
echo 'status Niepublikowany'; }
}
echo '<input type="checkbox" /> Zaznacz wszystkie osoby <br />'; echo '<input type="submit" name="zmien" value="Zmien status">'; echo '<input type="submit" name="napisz" value="Napisz list">';
a to skrypt, gdzie przesyłane są dane:
<?php
require_once ('baza/db.php');
if(isset($_POST['wyslij'])) {
{
echo 'Jedno z pól jest puste.'; }
else
{
///Wysłanie listu. Pod ten adres zostanie wysłana wiadomosc
$adresat = 'adresat@wp.pl'; //wybrane adresy osób z bazy
$tytul = 'List z mojej strony';
@$content = $_POST['tresc'];
@$email = $_POST['e_mail'];
if (mail($adresat, $tytul, $content, $email)) {
$adresat = $_POST['osoby'];
$sql_subs = "INSERT INTO tab_testa (tresc,osoby,data) VALUES ('$tresc','$osoby',CURDATE());";
if($result)
{
echo 'Zapisano w bazie.'; }
else
{
echo 'Nie udało się zapisać do bazy.'; }
echo '<p>Udało się</p><hr />'; }
}
}
else
{
echo '<p>Nie udało się wysłać listu.</p><hr />'; }
////////////////////////////////////////////////////////////////////
if(isset($_POST['zmien'])) {
if(empty($_POST['update'])) {
echo 'Nie wybrano akcji.<br />'; echo 'Wróć do <a href="index.php">Strony głównej</a>.'; }
else
{
$sql_update = "UPDATE tab_test SET stat='$stat'";
if($result)
{
echo 'Wróć do <a href="index.php">Strony głównej</a>.'; }
else
{
echo 'Nie udało się.<br />'; echo 'Wróć do <a href="index.php">Strony głównej</a>.'; }
}
}
else if(isset($_POST['napisz'])) {
if(empty($_POST['e_mail'])) {
echo 'Nie wybrano adresu.<br />'; echo 'Wróć do <a href="index.php">Strony głównej</a>.'; }
else
{
$_POST['e_mail'] = implode(', ', $_POST['e_mail']); echo '<form action="" method="POST">'; echo '<div style="font-weight:bold;">Napisz list.</div>'; echo 'Wybrane osoby - '.$_POST['e_mail'].' <br />'; echo 'Wpisz tytul: <input type="text" name="tytul" /><br />'; echo 'Napisz tresc: <br /><textarea rows="10" cols="20" name="tresc"></textarea><br />'; echo '<input type="submit" name="napisz_list" value="Wyslij" /><br/>'; }
}
?>
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?