• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Komunikat "Notice: Undefined variable:" z powodu braku wprowadzonych zmiennych

Cloud VPS
0 głosów
403 wizyt
pytanie zadane 18 października 2020 w PHP przez vingilot85 Obywatel (1,150 p.)
Jak w tytule - przed wprowadzeniem zmiennych w <form> i zwróceniem przez skrypt PHP rozwiązania, stronę szpeci komunikat "Notice: Undefined variable:".

Jak mogę spowodować, że nie będzie się pojawiać? Jak spowodować, aby mechanizm PHPowy uruchomił się dopiero po wpisaniu danych i zatwierdzeniu submit'em?>

2 odpowiedzi

+2 głosów
odpowiedź 18 października 2020 przez edwardkraweznik Dyskutant (9,930 p.)
wybrane 18 października 2020 przez vingilot85
 
Najlepsza

ja sprawdzam w skrypcie *.php isset()

https://www.php.net/manual/en/function.isset.php

Jak spowodować, aby mechanizm PHPowy uruchomił się dopiero po wpisaniu danych i zatwierdzeniu submit'em?>

nie da się... ale isset rozwiązuje twój problem

komentarz 18 października 2020 przez vingilot85 Obywatel (1,150 p.)
Działa, dzięki!
0 głosów
odpowiedź 19 października 2020 przez VBService Ekspert (256,600 p.)
edycja 19 października 2020 przez VBService

isset() się sprawdza gdy formularz zawiera niewiele zmiennych, np.:


if (isset($_POST['abc1') || isset($_POST['abc2') || isset($_POST['abc3)) {

    . . .

}

sprawa się komplikuje (robi się nieczytelny if, spada wydajność silnika php wiele zapytań isset()) gdy jest więcej zmiennych i zachodzi między nimi pewna zależność, np.:


if (isset($_POST['abcdef1') || isset($_POST['abcdef2') || isset($_POST['abcdef3) && 
    (isset($_POST['abcdefg4']) && isset($_POST['abcabcdefg5']))) {

    . . .

}

wtedy lepiej zastosować: $_SERVER["REQUEST_METHOD"]  (odczytanie wartość ze zmiennej globalnej)

<php

if ($_SERVER["REQUEST_METHOD"] == "POST") {
   $abcdef1 = (isset($_POST['abcdef1')) ? $_POST['abcdef1') : ''; // string
   $abcdef2 = (isset($_POST['abcdef2')) ? $_POST['abcdef2') : 0; // integer itd.
   
   . . .
} 
?>
<!DOCTYPE html>
<html lang="pl">
   
   . . . kod html 

   <form method="post" ... >

</html>

lub

<php

if ($_SERVER["REQUEST_METHOD"] == "POST") {
   $abcdef1 = (isset($_POST['abcdef1')) ? $_POST['abcdef1') : ''; // string
   $abcdef2 = (isset($_POST['abcdef2')) ? $_POST['abcdef2') : 0; // integer itd.
   
   $message = 'Dane z formularza';
   . . .
}  else {
   $message = 'Pierwsze uruchomienie';
}
?>
<!DOCTYPE html>
<html lang="pl">
   
   . . . kod html 

  <p><php echo $message; ?></p>

   <form method="post" ... >

</html>

 

Podobne pytania

0 głosów
1 odpowiedź 998 wizyt
pytanie zadane 17 kwietnia 2019 w PHP przez Whereismycode Obywatel (1,710 p.)
–1 głos
2 odpowiedzi 1,407 wizyt
0 głosów
1 odpowiedź 618 wizyt
pytanie zadane 7 maja 2016 w PHP przez niezalogowany

93,460 zapytań

142,454 odpowiedzi

322,724 komentarzy

62,837 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...