Ora devo scappare.Comunque ti dò un consiglio.
Abituati a lavorare col register_global settato ad off.
In caso contrario una volta volessi pubblicare i tuoi script è matematico che non funzioneranno mai.
![]()
Ora devo scappare.Comunque ti dò un consiglio.
Abituati a lavorare col register_global settato ad off.
In caso contrario una volta volessi pubblicare i tuoi script è matematico che non funzioneranno mai.
![]()
ma su php.ini è settato su Off libro PHP per esempi di Julie MeloniOriginariamente inviato da nicola75ss
E' preoccupante se un server tiene settato ad on il register global.
E' bene che sia settato ad off.
Semplicemente dalla versione 4.2 di PHP (se non sbaglio) gli sviluppatori hanno deciso di default di impostarlo ad off.
Ciò significa che quando vengono inviati dei dati anzichè essere subito disponibili come accadrebbe con l'opzione on i dati li devi prima recuperare con $_POST se il tuo form usa il metodo post e con il $_GET se usi il metodo get.
Che libro stai studiando?
Jackson libri
sto usando PHP Version 4.3.10
register_globals Off Off sulle info è settato su Off![]()
Infatti.Proprio perchè è settato ad off devi recuperare le variabili col metodo che ti ho detto prima.
Il libro non lo conosco.
quindi devo settarlo su ON, ma come faccio?Originariamente inviato da nicola75ss
Infatti.Proprio perchè è settato ad off devi recuperare le variabili col metodo che ti ho detto prima.
Il libro non lo conosco.
ho provato a cambiare valore e ho scritto ON su php.ini ma non cambiava nulla :/
magari devo cambiare dell'altro?
cmq tu mi consigliavi di lasciarlo su Off cosi facendo devo ricordarmi di richiamarli giusto??ok lascio su Off
grazie nuovamente e buona serata!! il fatto che ora funziona mi rende soddisfatto!!per oggi lascio che è meglio![]()
![]()
No.DEVI lasciarlo settato ad off.
Ti ripeto. Se scrivi del codice in funzione del register_global settato ad on quando poi andrai a pubblicare dei tuoi lavori questi non funzioneranno MAI perchè qualsiasi fornitore di uno spazio internet che non sia un pazzo avrà questa opzione di configurazione settata ad OFF.
P.S. Come ti ho ugualmente detto prima quando apporti delle modifiche a php.ini, al file di configurazione di Apache, ecc devi stoppare il server e poi riavviarlo per rendere effettive le modifiche.
Fai così:
clicca easy php sull'icona in basso a dx e fermalo,
click destro e CONFIGURAZIONE ---> PHP
ti si apre un foglio del note pad.
cerca questa riga:
error_reporting (ovviamente quellaq senza il ; davanti.
e gli metti questo:
error_reporting = E_ALL & ~E_NOTICE
(non ti sto facendo fare nulla di particolare....)
salva, chiudi il file e riavvia easy php.
Lancia il tuo script e 100% il NOTICE non ci sarà più. Il warning non ho letto tutto quello che vi siete scritti per cui non lo so...
se hai problemi ancora cerco di aiutarti.
Lo spartito della vita
è un insieme di note.
Ognuno è artefice della propria armonia.
dunque cambiando la riga su PHP.ini (error_reporting = E_ALL) non da piu l'errore ma nemmeno fa l'operazione richiesta resta sulla stessa pagina e si resettano i valori immessi, con le 3 magiche righe
$val1 = $_POST['val1'];
$val2 = $_POST['val2'];
$calc = $_POST['calc'];
funziona tutto e senza cambiare impostazioni nel php.ini
grazie davvero tante!!!
P.S. cmq su Php.ini ho trovato questa:
; Examples:
;
; - Show all errors, except for notices
;
;error_reporting = E_ALL & ~E_NOTICE
;
e
; - Show all errors except for notices
;
error_reporting = E_ALL
io ho modificato la seconda aggiungendo & NOTICE, ma il risultato l'ho spiegato prima, ora ho rimesso tutto come prima cosi dovrebbe rifunzionare il NOTICE
ciao
Allora, a prescindere che ho scoperto essere una cosa tipo il deodorante che copre gli odori e che non li elimina, se tu ci copi e incolli (compreso "~") questo E_ALL & ~E_NOTICE esattamente nell'ultima riga che hai indicato tu, vedi che funziona. Io ho avuto il tuo stesso problema.
Il NOTICE se ne va...
Il tuo script... continuerà a funzionare.
Con la versione 1-7 di EPhp gli stessi script funzionavano... con la 1-8 ho riscontrato anch'io lo stesso problema.
Quello che invece adesso voglio capire, per una questione di puntiglio personale, (visto che ho scoperto quello che ti ho detto circa il fatto di essere un pagliativo) è cosa li genera questi "notice"...
ciao ciao
Lo spartito della vita
è un insieme di note.
Ognuno è artefice della propria armonia.
I notice sono degli avvisi che ti indicano che lo script non e' chiaro od e' errato nelle sua dichiarazioni.... Possono derivare da varie situazioni. Vediamone un paio:
1) L'indice associativo di un array scritto senza le apici. es.:
$_POST[var] --> php cerca per prima cosa una costante di nome var, se esiste assegna il valore corrispondente all'indice associativo. Se non esiste segnala la cosa con un NOTICE e ti di dice che non essendoci una costante assume 'var' come stringa. E tutto sembra funzionare. Ma lo script ha un bug software che andrebbe corretto mettendo l'indice associativo tra apici. Non e' detto che le future release di php gestiscano ancora questo "default apicale".
2) Viene richiesta una variabile che non e' stata dichiarata oppure un indice di array che non esiste, o quantomeno, ancora non esiste al momento del richiamo nello script. Anche qui l'errore viene segnalato con un NOTICE, ma a differenza di prima lo script potrebbe non funzionare. Si evita utilizzando isset(). tipico esempio:
$pippo = isset($_POST['pippo']) ? $_POST['pippo'] : '' ;
E' settato $_POST['pippo'] ? se si, copialo in $pippo altrimenti crea $pippo = '' (vuoto). In questo modo la variabile esistera' in qualche modo.
Queste sono le due principali cause di NOTICE che DEVE essere abilitato nello sviluppo e debug dello script. Ovviamente con script NOTICE FREE non servira' piu' ed andra' tolto anche per evitare indicazioni indesiderate sul nostro script agli users.
Questi NOTICE sono bugs dello script a tutti gli effetti e vanno quindi assolutamente evitati. Non togliendo l'allarme, ma scrivendo correttamente lo script.
Spero di averti chiarito due idee....
![]()
Il silenzio è spesso la cosa migliore. Pensa ... è gratis.
Grazie Piero!!! Perbacco la dirindindindina. L'unica cosa che ci calza con quello che ho detto io è l'analogia del deodorante![]()
La spiegazione che ti permette di comprendere è più gratificante del non trovarti uno che ti spara uno script già pronto...
anche se devo essere onesto... tutte e due le cose non guastano![]()
Ho però una curiosità da sfatare (qui non mi puoi aiutare perchè andiamo oltre al tread... e nessuno ha la palla di vetro).
Easy php 1-8 Installato sul portatile che ha XP Home edition... tutto perfetto...
Installato sul Pc con XP Prof. ..... una costellazione di notice....
Gli stessi script sul server web... niente.
Quindi, per un test perfetto degli scrip, ben vengano i notice .
Grazie davvero.
Lo spartito della vita
è un insieme di note.
Ognuno è artefice della propria armonia.