Chi mi spiega questa segnalazione notice?
Notice: Undefined index: opzioni in d:\test\crimisos 2.0\contenuti\ultime.php on line 67
Questa la linea 67
Lo script comunque funziona perfettamenteCodice PHP:
if ($_POST['opzioni'] == "AGGIUNGI") {
Chi mi spiega questa segnalazione notice?
Notice: Undefined index: opzioni in d:\test\crimisos 2.0\contenuti\ultime.php on line 67
Questa la linea 67
Lo script comunque funziona perfettamenteCodice PHP:
if ($_POST['opzioni'] == "AGGIUNGI") {
"Perfettamente" sara' un eufemismo...Originariamente inviato da usecram
Lo script comunque funziona perfettamente
non esiste $_POST['opzioni'].
Il silenzio è spesso la cosa migliore. Pensa ... è gratis.
Ora so che significa che non esiste, grazie però come vedi esiste.Codice PHP:
function visualizzaFormOpzioni () {
echo "
<h3>Opzioni amministratore</h3>
<form method=\"post\">
<input type=\"radio\" id=\"AGGIUNGI\" name=\"opzioni\" value=\"AGGIUNGI\" />
<label for=\"AGGIUNGI\">Aggiungi notizia / [b]Crea archivio di dati[/b]</label>
<input type=\"radio\" id=\"MODIFICA\" name=\"opzioni\" value=\"MODIFICA\" />
<label for=\"MODIFICA\">Modifica notizia</label>
<input type=\"radio\" id=\"ELIMINA\" name=\"opzioni\" value=\"ELIMINA\" />
<label for=\"ELIMINA\">Elimina notizia / Elimina archivio di dati</label>
<input type=\"radio\" id=\"CONFIGURA\" name=\"opzioni\" value=\"CONFIGURA\" />
<label for=\"CONFIGURA\">Configura i dati d'accesso</label>
</p>
...
Si trova dentro una funzione, sono sempre più convinto che si tratta di un problema di "visibilità".
Non è un eufemismo funziona alla grandissima.
Sicuramente sara' una cosa piu' complessa... non credo tu faccia una funzione per stampare un form con echo.
se fosse solo per stampare un form usa la sintassi HEREDOC invece di una funzione.
prova ad inizio pagina a stampare l'array POST cosi' vedi che contiene.
Il silenzio è spesso la cosa migliore. Pensa ... è gratis.
:master:
ma il form ... lo chiudi???
Il silenzio è spesso la cosa migliore. Pensa ... è gratis.
Sì il form lo chiudo dai so' scarso, o meglio principiante, ma non esageriamo!
Il problema l'ho capito ma non è semplice da spiegare. Ci provo.
'sto programmino funziona così:
- Appena accedi alla pagina legge da un file di testo e pubblica le notizie che trova
- se digiti ?amministrazione sulla barra dell'indirizzo mostra il form per il login nella stessa pagina
- effettuato il login ti mostra le opzioni di amministrazione (sempre nella stessa pagina) e così via...
Ora all'inizio del listato ci sono un if (quello che ho postato all'inizio)e una decina di elseif.
Quindi gli chiedo di controllare se $_POST['opzioni'] esiste quando il form non è stato ancora stampato perché la funzione non è stata chiamata in causa.
Per questo motivo probabilmente php mi chiede: ma dove ca22o è sto form di cui parli?
Cambiando l'ordine degli if infatti il Notice non mi si presenta ma ovviamente altri problemi sì perché lo script è stato pensato in un modo e a cambiare gli if a lavoro ultimato si fa un bel casino.
Secondo te/voi a lasciarlo com'è (ripeto funzionantissimo), con questo piccolo errore di logica è peccato mortale?
certo che si. deve essere corretto...
in pratica basta far precedere il controllo dell'esistenza di _POST prima di iniziare i controlli....
codice:if(isset($_POST['opzioni'] { allora esegui il listato che controlla le opzioni } else { stampi il form }![]()
Il silenzio è spesso la cosa migliore. Pensa ... è gratis.
L'altro mio problema è che sono d'accordo con te e stavo già provvedendo: il perfezionismo è un pregio che spinge a migliorarti ma soprattutto una gran rottura di oo che all'una di notte, tutto contento di aver trovato l'inghippo
, ti spinge a risolvere un Notice di uno script che funziona lo stesso. Mah
Un NOTICE puo' aprire la porta ad un BUG. potrebbe limitarsi ad un fastidioso avviso ma e' un errore di programmazione. Un domani se gli sviluppatori di php decidessero di elevarlo ad errore il tuo script terminerebbe e saresti costretto a riprendere in mano cose di cui non hai manco piu' la memoria.Originariamente inviato da usecram
L'altro mio problema è che sono d'accordo con te e stavo già provvedendo: il perfezionismo è un pregio che spinge a migliorarti ma soprattutto una gran rottura di oo che all'una di notte, tutto contento di aver trovato l'inghippo
, ti spinge a risolvere un Notice di uno script che funziona lo stesso. Mah
Si "deve" programmare NOTICE FREE....
![]()
Il silenzio è spesso la cosa migliore. Pensa ... è gratis.
Non pensavo che un Notice potesse avere questa importanza cmq l'ho risolto sto sistemando i dettagli.
![]()
![]()