Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Problem z instrukcją warunkową
Forum PHP.pl > Forum > Przedszkole
adrianozo
Witam wszystkich,
Mam pewien problem. Mianowicie nie wykonuje się instrukcja else

  1. if(isset($_POST['id']))
  2. {
  3. echo '<font color="green"><b>Podstrona została usunięta</b></font><br />';
  4. }
  5. else
  6. {
  7. echo '<font color="red"><b>Nie udało się usunąć podstrony. Proszę spróbować za jakiś czas!</b></font><br />';
  8. }


Jeżeli istnieje $_POST['id'] to komunikat się wyświetla, ale jeżeli nie istnieje to ten drugi z warunku else się nie wyświetla. Próbuje już nawet zamiast else dać if(!isset($_POST['id'])) i też nic. Zamiana miejscami czyli najpierw negacja warunku też nic nie pomaga. Proszę o pomoc. Z góry dziękuje smile.gif
kefirek
Widocznie cały istnieje klucz
  1. $_POST['id']


tylko wartosc moze byc pusta daj sobie
  1. Echo '<pre>';
  2. Print_r($_POST);
  3. Echo '</pre>';
  4.  


I zobaczysz czy wartosc cały czas istnieje.
adrianozo
W tym rzecz, że nie istnieje
IProSoft
print_r($_POST); lub var_dump($_POST) daje Ci pustą tablicę array() ?
Zmień isset() na empty().
adrianozo
Nie dają pustą, ale id jest puste

Empty też nie pomaga
nospor
var_dump($_POST);
I pokaż nam DOKŁADNIE co to zwraca. Bez zadnych swoich komentarzy - pokaz poprostu DOKŁADNIE co to zwraca....
adrianozo
Kod
array(2) { ["send"]=> string(1) "1" ["usun"]=> string(5) "Usuń" }
nospor
To pokaz teraz cały kod, bo moze ci w ogole do tego IF nie dochodzi.
adrianozo
  1. <?php
  2. if($_SESSION['access']<'999' or !$_SESSION['email'] or !$_SESSION['access'])
  3. {
  4. header('Location: index.php');
  5. }
  6. if(!isset($_POST['id']) && empty($_POST['id']))
  7. {
  8. echo '<form action="/sklep/index.php?page=cpadmin_podstrony_delete" method="post">
  9. <input type="hidden" name="send" value="1">
  10. <br /><select name="id"> ';
  11. $zapytanie = "SELECT * FROM `cms_sklep_strony` ORDER BY `id` DESC";
  12. $idzapytania = mysql_query($zapytanie);
  13. while ($wiersz = mysql_fetch_array($idzapytania))
  14. echo '<option value="'.$wiersz['id'].'">('.$wiersz['id'].') '.$wiersz['wyswietlana'].'</option>';
  15. </select>
  16. <input name="usun" type="submit" value="Usuń" />
  17. <br /><br />
  18. </form><a href="/sklep/index.php?page=cpadmin">Wróć do panelu administratora</a><br /><br />';
  19. }
  20. else
  21. {
  22. $zapy = mysql_query('DELETE FROM `cms_sklep_strony` WHERE `id`="'.$_POST['id'].'"');
  23. echo '<form action="/sklep/index.php?page=cpadmin_podstrony_delete" method="post">
  24. <input type="hidden" name="send" value="1">
  25. <br /><select name="id"> ';
  26. $zapytanie = "SELECT * FROM `cms_sklep_strony` ORDER BY `id` DESC";
  27. $idzapytania = mysql_query($zapytanie);
  28. while ($wiersz = mysql_fetch_array($idzapytania))
  29. echo '<option value="'.$wiersz['id'].'">('.$wiersz['id'].') '.$wiersz['wyswietlana'].'</option>';
  30. </select>
  31. <input name="usun" type="submit" value="Usuń" />
  32. <br /><br />
  33. </form><a href="/sklep/index.php?page=cpadmin">Wróć do panelu administratora</a><br /><br />';
  34. if($_POST['send'])
  35. {
  36. if(isset($_POST['id']))
  37. {
  38. echo '<font color="green"><b>Podstrona została usunięta</b></font><br />';
  39. }
  40. else
  41. {
  42. echo '<font color="red"><b>Nie udało się usunąć podstrony. Proszę spróbować za jakiś czas!</b></font><br />';
  43. }
  44. }
  45. }
  46. echo var_dump($_POST);
  47. ?>
nospor
A gdzie logika?questionmark.gif?

Przeciez jak nie ma ID w post to wchodzi w tego IFa
if(!isset($_POST['id']) && empty($_POST['id']))

I do twojego problemowego już nie dochodzi :/
adrianozo
Ok dzięki za pomoc smile.gif Już działa. Po prostu wyjąłem to z tamtego else i działa.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.