Error bij openen pagina

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Marvin Radioo

Marvin Radioo

29/12/2010 13:23:30
Quote Anchor link
Hallo,

Als ik op de pagina kom, krijg ik de volgende error:

Notice: Undefined index: reactie in *Pagina* on line 58


En dit is regel 58
$reactie = strip_tags ($_POST['reactie']);

Wat doe ik hier verkeerd?

MVg, Marvin
 
PHP hulp

PHP hulp

27/04/2024 06:25:51
 
Kris Peeters

Kris Peeters

29/12/2010 13:35:47
Quote Anchor link
Je doet niet zo vreselijk veel verkeerd.
Je krijgt helemaal geen error, je krijgt een opmerking.

Je krijgt een melding:
Merk op dat $_POST['reactie'] niet bestaat


Vooraleer je een variabele met ['...'] gebruikt, kan je best eerst controleren of de variabele al dan niet bestaat.

Dat kan met de functie isset().

Bijvoorbeeld:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
if (! isset($_POST['reactie'])) {
  $_POST['reactie'] = '';  // nu bestaat de variabele ten minste
}
$reactie = strip_tags ($_POST['reactie']);
?>
Gewijzigd op 29/12/2010 13:36:49 door Kris Peeters
 
Wouter J

Wouter J

29/12/2010 13:41:51
Quote Anchor link
Of met empty.
Isset returned true als de var gevuld is en empty returned true als de var leeg is.

En ik denk dat jij dit van een formulier (contact formulier) haalt. Dan moet je namelijk eerst altijd kijken of hij gesubmit is:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST') {
 # Hij is gepost
}
else {
 # Hij is niet gepost :(
}
?>
 
Joren de Wit

Joren de Wit

29/12/2010 13:43:57
Quote Anchor link
Het voorbeeld dat Kris geeft zou ik niet gebruiken, daarmee breng je jezelf in veel gevallen alleen maar verder in de problemen.

In jouw script wil je de POST variabele $_POST['reactie'] gebruiken, maar blijkbaar bestaat deze niet. Hij wordt niet meegezonden met het formulier dat jij verstuurd hebt. Je moet dus ofwel kijken of de variabele naam wel klopt, of controleren waarom de variabele niet in verzonden wordt.
 
Kris Peeters

Kris Peeters

29/12/2010 13:51:40
Quote Anchor link
Ja, het kan zeker ook anders.
Ik heb echter te weinig context om iets veel beters voor te stellen.

Ik weet niet of het, in dit geval, nodig is de hele logica door mekaar te halen omdat 1 variabele niet wordt verzonden.

Sowieso doe je best wat Wouter vertelt.
Veel kans dat je dan de opmerking niet meer krijgt, indien je formulier is aangepast aan je logica.
 
Marvin Radioo

Marvin Radioo

29/12/2010 13:53:12
Quote Anchor link
Dankje, het is gelukt!

Deze mag op slot
 
Joren de Wit

Joren de Wit

29/12/2010 13:55:16
Quote Anchor link
Van alle GET of POST variabelen moet je controleren of ze wel bestaan en of de inhoud wel is wat jij verwacht. Een uitgebreidere uitleg over het werken met formulieren in PHP vind je hier:

PHP beginnershandleiding

ps. Topics sluiten doen we in principe niet, wellicht dat iemand anders dezelfde vraag heeft en benieuwd is naar jouw oplossing :-)
Gewijzigd op 29/12/2010 13:56:02 door Joren de Wit
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.