.dsy:it. Pages (2): [1] 2 »
Show 150 posts per page

.dsy:it. (http://www.dsy.it/forum/)
- Tech (http://www.dsy.it/forum/forumdisplay.php?forumid=189)
-- [PHP] Undefinied variable (http://www.dsy.it/forum/showthread.php?threadid=14520)


Posted by Flyzone on 26-10-2004 22:52:

[PHP] Undefinied variable

Allora per farla breve, seconda pagina php che scrivo e già mi girano i cosidetti :evil:

prova.php

code:
<html><body> <center> Inserire 2 numeri: <p><table><tr><td align=right> <form action="calcola.php" method="POST"> <p><br><input type="number" name="n1a" size="5"><input type="number" name="n1b" size="5"> <p><input type="submit" value="Invia!"> </form></td></tr></table> </center> </body></html>



file calcola.php
code:
<?php PRINT "Numero, $n1a"; ?>


Risultato: bella pagina con "Numbero, " ma niente numero.
Guardo nei log di apache, mi vedo un bel:
PHP Notice: Undefined variable: n1a in calcola.php on line 2, referer: prova.php

Sarà qualcosa di stupido ma non riesco a vederlo uffa!!! :sighsob:


Posted by holylaw on 26-10-2004 23:04:

hai settato le variabili globali in php.ini?
altrimenti prova con $HTTP_POST_VARS['n1a']

__________________
La mia epoca ed io non siamo fatti l'uno per l'altro:questo è chiaro. Ma è da vedere chi di noi due vincerà il processo di fronte al tribunale dei posteri.
AV MJØDEN VART DU VIS OG KLOK, SÅ DREKKA MER!!!!
Le persone sagge parlano perché hanno qualcosa da dire.
Le persone sciocche perché hanno da dire qualcosa.


Posted by Flyzone on 26-10-2004 23:14:

Originally posted by holylaw
hai settato le variabili globali in php.ini?

Hem :oops:
Ok me lo dico da solo: Flyzone, RTFM!!! :asd:

Grazie!


Posted by DeepBlue on 26-10-2004 23:59:

Originally posted by holylaw
hai settato le variabili globali in php.ini?
altrimenti prova con $HTTP_POST_VARS['n1a']

Attenzione che con le ultime versioni di PHP (> 4.3.2 mi sembra, RTFM), diventa $_POST['n1a']

__________________
~ get Debian! ~ get FreeBSD! ~ get OpenBSD! ~


Posted by Alf on 27-10-2004 00:00:

Originally posted by DeepBlue
Attenzione che con le ultime versioni di PHP (> 4.3.2 mi sembra, RTFM), diventa $_POST['n1a']


E ovviamente anche $_GET['n1a'] a seconda dei casi :D

__________________
(\ /)
( . .)
c('')('') This is Bunny!
Help her succeed in world domination by copy and pasting her in
your signature.


Posted by korn on 27-10-2004 11:19:

E' meglio non usare mai le globals, nelle ultime versioni di PHP sono disattivate per default perché vulnerabili.


Per la cronaca, nelle ultime versioni di PHP c'è anche l'oggetto $_REQUEST[] che raccoglie indistintamente variabili POST, GET e forse altro, come il Request di ASP.
Gli autori ne sconsigliano l'utilizzo per motivi che non sto a spiegare (potete leggere sul manuale online), ma in certi casi può tornare utile, se usato con coscienza e moderazione :)

__________________
» Collect some stars to shine for you, and start today ‘cause there are only a few. _ (In Flames)
» Don't stop for nothing, it's full speed or nothing! I'm taking down, you know, whatever is in my way! _ ('tallica)
» I am my own god, I do as I please. _ (Pain)
» Ninetynine, ninetynine knives! Ninetynine knives inside! Nobody gets out alive! _ (The Haunted)
Web: http://www.negativesignal.com - ICQ# 171585477 - Death to software patents! And TCPA too! "e uno!", diceva il boia.


Posted by Flyzone on 27-10-2004 13:00:

Originally posted by korn
E' meglio non usare mai le globals, nelle ultime versioni di PHP sono disattivate per default perché vulnerabili.

Vaglielo a dire ai professori che fanno lezione in uni su php :asd:


Posted by korn on 27-10-2004 13:49:

Originally posted by Flyzone
Vaglielo a dire ai professori che fanno lezione in uni su php :asd:


Ah, qualcuno fa lezioni sul PHP?

Comunque, con tutto il rispetto se gli stessi creatori di PHP mi dicono che sono vulnerabili credo più a loro.

__________________
» Collect some stars to shine for you, and start today ‘cause there are only a few. _ (In Flames)
» Don't stop for nothing, it's full speed or nothing! I'm taking down, you know, whatever is in my way! _ ('tallica)
» I am my own god, I do as I please. _ (Pain)
» Ninetynine, ninetynine knives! Ninetynine knives inside! Nobody gets out alive! _ (The Haunted)
Web: http://www.negativesignal.com - ICQ# 171585477 - Death to software patents! And TCPA too! "e uno!", diceva il boia.


Posted by Flyzone on 27-10-2004 17:31:

Originally posted by korn
Ah, qualcuno fa lezioni sul PHP?

Era una lezione e credo ne seguiranno alcune ma ha detto che non insegna a programmare in PHP. Certo che almeno gli esempi farli nel modo giusto :asd:

Beh credo sicuramente anch'io ai creatori, dato che si cerca di abbattare le variabili globali dal 2002 (mi sono informato) :)


Posted by Flyzone on 12-11-2004 18:42:

Mi riaggancio al thread per chiedere alcune cose riguardo il php in silab (il manuale del silab non è più al solito link):
- register_globals sarà su off, giusto?
- si possono usare script perl?
- suggerimenti per non ritrovarsi un progetto che fa uso di sessioni con $_SESSION['variabile'] bloccato quando a casa funziona?


Posted by yeah on 12-11-2004 20:00:

Il manuale di php lo trovi su www.php.net, secondo me il migliore (quello in inglese, quello in italiano è *a pezzi*).

Come, in silab non si possono usare le sessioni?

__________________
?


Posted by korn on 12-11-2004 21:17:

Originally posted by Flyzone
Mi riaggancio al thread per chiedere alcune cose riguardo il php in silab (il manuale del silab non è più al solito link):
- register_globals sarà su off, giusto?


Fai una pagina PHP contenente semplicemente
<? php_info(); ?>
caricala dal browser e ottaerrai la configurazione completa!

Originally posted by Flyzone
- si possono usare script perl?


Dipende se Apache è stato compilato con MOD_PERL, ma non ricordo se in Silab ci sia o meno.

Originally posted by Flyzone
- suggerimenti per non ritrovarsi un progetto che fa uso di sessioni con $_SESSION['variabile'] bloccato quando a casa funziona?


Quando non funziona controlla che siano abilitati i cookies sul browser, altrimenti non può funzionare il controllo della sessione.
Alternativamente PHP è in grado di passare l'ID della sessione direttamente negli URL, come peraltro puoi vedere su questo stesso tipo..... vedi quel s={paccottiglia_varia}? Ecco, è l'ID della sessione passato via GET. Con le giuste opzioni PHP trasforma automaticamente gli URL in quel modo. Controlla il manuale!

__________________
» Collect some stars to shine for you, and start today ‘cause there are only a few. _ (In Flames)
» Don't stop for nothing, it's full speed or nothing! I'm taking down, you know, whatever is in my way! _ ('tallica)
» I am my own god, I do as I please. _ (Pain)
» Ninetynine, ninetynine knives! Ninetynine knives inside! Nobody gets out alive! _ (The Haunted)
Web: http://www.negativesignal.com - ICQ# 171585477 - Death to software patents! And TCPA too! "e uno!", diceva il boia.


Posted by Flyzone on 13-11-2004 00:41:

Originally posted by korn
Fai una pagina PHP contenente semplicemente
<? php_info(); ?>
caricala dal browser e ottaerrai la configurazione completa!

Non è che me lo può fare qualcuno che ha già un account in silab? Prima che riesco ad otternerlo lo finisco il progetto... :P


Quando non funziona controlla che siano abilitati i cookies sul browser, altrimenti non può funzionare il controllo della sessione.

Moment, mi stò incasinando. Ringrazio per i consigli di manuali ma ne ho già a bontà, e forse è quello che mi ha creato confusione....
Se per ogni volume mi cambiano nomi di variabili dicendo di usare le globali salvo poi rimangiarselo io vado in :? TILT.

Non uso i cookies, e non c'è nemmeno il passaggio di parametri negli url (che, se non sbaglio, va un pò contro la sicurezza e deve utilizzare variabili globali no?), eppure il tutto funziona indi presumo che le sessioni stiano in memoria visto che richiamo i dati da $_SESSION e visto che appena chiudo il browser e lo riapro la sessione è morta.
E poi a pensarci...mica posso memorizzare il nomeutente usato per selezionare lato server le pagine da mostrare.....se uno mi modifica il cookie fa quel c***o che gli pare con permessi superiori? Usare l'md5? e che cambia? :pensa:


Posted by ripe on 13-11-2004 09:58:

Originally posted by Flyzone
Non uso i cookies, e non c'è nemmeno il passaggio di parametri negli url (che, se non sbaglio, va un pò contro la sicurezza e deve utilizzare variabili globali no?), eppure il tutto funziona indi presumo che le sessioni stiano in memoria visto che richiamo i dati da $_SESSION e visto che appena chiudo il browser e lo riapro la sessione è morta.
E poi a pensarci...mica posso memorizzare il nomeutente usato per selezionare lato server le pagine da mostrare.....se uno mi modifica il cookie fa quel c***o che gli pare con permessi superiori? Usare l'md5? e che cambia? :pensa:


Anche se non uso Php, mi piacerebbe approfondire un pò questo discorso, magari sentendo il parere di Korn o fabpicca....

__________________
«And if you ever smell christian blood up in the mountains, then get your axe and chop them down!»


Posted by fabpicca on 13-11-2004 10:10:

Originally posted by Flyzone
Non è che me lo può fare qualcuno che ha già un account in silab? Prima che riesco ad otternerlo lo finisco il progetto... :P


Moment, mi stò incasinando. Ringrazio per i consigli di manuali ma ne ho già a bontà, e forse è quello che mi ha creato confusione....
Se per ogni volume mi cambiano nomi di variabili dicendo di usare le globali salvo poi rimangiarselo io vado in :? TILT.

Non uso i cookies, e non c'è nemmeno il passaggio di parametri negli url (che, se non sbaglio, va un pò contro la sicurezza e deve utilizzare variabili globali no?), eppure il tutto funziona indi presumo che le sessioni stiano in memoria visto che richiamo i dati da $_SESSION e visto che appena chiudo il browser e lo riapro la sessione è morta.
E poi a pensarci...mica posso memorizzare il nomeutente usato per selezionare lato server le pagine da mostrare.....se uno mi modifica il cookie fa quel c***o che gli pare con permessi superiori? Usare l'md5? e che cambia? :pensa:


se metti in ogni pagina session_start() , come del resto suppongo tu stia facendo altrimenti il tuo progetto funziona grazie ad eventi ultraterreni allora vai pure tranquillo che l'engine seguirà il tuo utente con tutti i valori di sessione.

Quello che puoi fare però è scaricare il sessionid su un cookie alla fine della sessione di lavoro e ricaricare il sessionid al login in modo da ripristinare la situazione lasciata dall'utente all'ultimo accesso.

Ricordo inoltre che le variabili su cookie viaggiano su $_COOKIES e l'ordine in cui vengono fetchati cookies, GET-POST, Session si può impostare nel php.ini....

__________________
my website?|ubuntu linux|get Firefox|grazie Polonia |bagdad sour

"Come va che non ha le corna e le zampe di Caprone?" gli opposi. "Oh, Giuvà", mi disse il prete "adesso non si usa più.Satana è furbo". (I.Silone, Fontamara)
"Al giorno d'oggi non bisogna essere intelligenti, perchè la gente si offende" (un ubriacone)
"close your eyes / pay the price / for your paradise" (DM) "whatever you want to change/you'd better start changing it in your mind" (Transatlantic)


All times are GMT. The time now is 06:16. Pages (2): [1] 2 »
Show all 21 posts from this thread on one page

Powered by: vBulletin Version 2.3.1
Copyright © Jelsoft Enterprises Limited 2000 - 2002.