Vai al contenuto

domanda stupida di PHP


tux83

Messaggi raccomandati

Salve gente...ho notato che c'è qualcosa che non va con apache...nel senso che non mi ritorna i valori delle variabili in locale con apache che c'è di serie in Tiger...

vi posto un semplice script:

-----------PRIMA PAGINA FORM

<HTML>

<! -- form.html -->

<BODY>

<FORM METHOD=GET ACTION="decode.php">

Qual è il tuo nome? <INPUT TYPE="TEXT" NAME="nome">

</FORM>

</BODY>

</HTML>

---------PAGINA decode.php

<HTML>

<BODY>

<?php

# decode.php

echo "Il tuo nome è: $nome

";

?>

</BODY>

</HTML>

ovviamente su uno spazio web funziona ma in locale non va...eppure apache è attivato

mi dice il tuo nome è

e basta

facendo un php info:

APACHE_INCLUDE no value

APACHE_TARGET no value

Apache Version Apache/1.3.33 (Darwin) PHP/5.1.2

Apache Release 10328100

Apache API Version 19990320

Hostname:Port imac-g5-del-barba.local:80

User/Group www(70)/70

Max Requests Per Child: 100000 - Keep Alive: on - Max Per Connection: 100

Timeouts Connection: 300 - Keep-Alive: 15

Server Root /usr

Loaded Modules mod_php5, mod_bonjour, mod_hfs_apple, mod_setenvif, mod_so, mod_log_forensic, mod_auth, mod_access, mod_rewrite, mod_alias, mod_userdir, mod_actions, mod_imap, mod_asis, mod_cgi, mod_dir, mod_autoindex, mod_include, mod_negotiation, mod_mime, mod_log_config, http_core

e come php uso la versione 5.1.2

non capisco veramente cosa c'è non va ??...

vi prego sono nel mistero più totale... :ciao:

Link al commento
Condividi su altri siti

Adesso non ricordo benissimo la teoria dietro, ma so che mi hanno sempre detto che per evitare problemi del genere ti devi sempre "portare dietro" la variabile nel file .php. Con alcune configurazioni di php questo viene fatto automagicamente, con altre, inclusa quella di default di OS X, no.

Nel tuo caso, una riga in più nel file php ti evita tutti i problemi:

<HTML>
<BODY>
<?php
# decode.php
$nome=$HTTP_GET_VARS['nome'];
echo "Il tuo nome è: [b]$nome[/b]
";
?>
</BODY>
</HTML>

:wink: :ciao:

Link al commento
Condividi su altri siti

non ho ancora provato ma credo che funzioni...cmq sto usando un libro....e mi sembra strana sta cosa...!!!!il libro non dice di usare quella funzione php...

mistery del mac os X

[/b]

Tranqui ho provato io e funziona :wink:

Comunque non sono misteri di OS X, è che php è installato di default con la variabile register_globals su Off. Probabilmente il tuo libro presuppone che sia On. Il mio libro per esempio dice che Off è meglio e consiglia il metodo che ho scritto sopra per "portarsi dietro" le variabili -- che, per inciso, ti assicura che il tuo codice lavorerà con ogni configurazione di php, che register_globals sia On o Off, e per tanto è la soluzione più corretta per uno sviluppatore.

Buono studio!

Link al commento
Condividi su altri siti

Tranqui ho provato io e funziona :wink:

Comunque non sono misteri di OS X, è che php è installato di default con la variabile register_globals su Off. Probabilmente il tuo libro presuppone che sia On. Il mio libro per esempio dice che Off è meglio e consiglia il metodo che ho scritto sopra per "portarsi dietro" le variabili -- che, per inciso, ti assicura che il tuo codice lavorerà con ogni configurazione di php, che register_globals sia On o Off, e per tanto è la soluzione più corretta per uno sviluppatore.

Buono studio!

[/b]

Non funziona lo stesso!!!!!!!!!!!!!!!!! :lol:

dove trovo register_globas??? nel httpd.conf non c'è!!!!!!!!

Link al commento
Condividi su altri siti

Come faccio ad attivare php5 ???

A me tiger di default porta php4 :ciao:

[/b]

Per apache usa quello-.---

mentre per php basta che installi la versione 5 e lui te la vede...

però misa che il problema delle variabile deriv appunto da quello...

:(

Link al commento
Condividi su altri siti

Ehm non vorrei svaccare visto che è tardi, ma registry_globals non sta nel httpd.conf, ma nel php.ini

D'altronde è una variabile del php mica del server web.

Bwawawawawawa (risata malefica e incocludente!)

Ciao, Lord

PS: altra cacchiata madornale, hai attivato nell'httpd.conf il supporto per il modulo del php 5? Dimmi di si se no attiva quello e vedrai che con il trucco insegnatoti da Ce ce ne vieni fuori, ariciau!

Io sono Nessuno...

My Apple:

iBook G4 1.33GHz 12'' - iPod Nano 4 Gb 2°G - MacBook C2D 2.0 GHz 13'' - Mac Mini C2D 1.83 GHz - iPhone 3G 8Gb - MacBook Pro C2D 2.66 GHz (May '09) 15'' glossy - MacBookPro C2D 2.80 GHz (June '09) 15'' glossy

Link al commento
Condividi su altri siti

Ehm non vorrei svaccare visto che è tardi, ma registry_globals non sta nel httpd.conf, ma nel php.ini

D'altronde è una variabile del php mica del server web.

Bwawawawawawa (risata malefica e incocludente!)

Ciao, Lord

PS: altra cacchiata madornale, hai attivato nell'httpd.conf il supporto per il modulo del php 5? Dimmi di si se no attiva quello e vedrai che con il trucco insegnatoti da Ce ce ne vieni fuori, ariciau!

[/b]

Scusa sono un neofita di php...quindi ogni consiglio è ben accetto....(SIAMO In un forum apposta.)

nella versione di apache che ho io c'è il modulo del 4 ma non del 5....che fo??

ciao-

Link al commento
Condividi su altri siti

Scusa sono un neofita di php...quindi ogni consiglio è ben accetto....(SIAMO In un forum apposta.)

nella versione di apache che ho io c'è il modulo del 4 ma non del 5....che fo??

ciao-

[/b]

Allora non ho il mac sottomano, ma è una stringa simile appunto a quella del php 4. Prova a fare una ricerca con google oppure attendi un paio di giorni e ti saprò dire la risposta!

PS: il mio tono era da ubriaco e stanco, non prendertela, i miei volevano essere suggerimenti, non insulti :fischio:

Ciau

Io sono Nessuno...

My Apple:

iBook G4 1.33GHz 12'' - iPod Nano 4 Gb 2°G - MacBook C2D 2.0 GHz 13'' - Mac Mini C2D 1.83 GHz - iPhone 3G 8Gb - MacBook Pro C2D 2.66 GHz (May '09) 15'' glossy - MacBookPro C2D 2.80 GHz (June '09) 15'' glossy

Link al commento
Condividi su altri siti

Salve gente...ho notato che c'è qualcosa che non va con apache...nel senso che non mi ritorna i valori delle variabili in locale con apache che c'è di serie in Tiger...

vi posto un semplice script:

-----------PRIMA PAGINA FORM

<HTML>

<! -- form.html -->

<BODY>

<FORM METHOD=GET ACTION="decode.php">

Qual è il tuo nome? <INPUT TYPE="TEXT" NAME="nome">

</FORM>

</BODY>

</HTML>

---------PAGINA decode.php

<HTML>

<BODY>

<?php

# decode.php

echo "Il tuo nome è: $nome

";

?>

</BODY>

</HTML>

ovviamente su uno spazio web funziona ma in locale non va...eppure apache è attivato

mi dice il tuo nome è

e basta

facendo un php info:

APACHE_INCLUDE no value

APACHE_TARGET no value

Apache Version Apache/1.3.33 (Darwin) PHP/5.1.2

Apache Release 10328100

Apache API Version 19990320

Hostname:Port imac-g5-del-barba.local:80

User/Group www(70)/70

Max Requests Per Child: 100000 - Keep Alive: on - Max Per Connection: 100

Timeouts Connection: 300 - Keep-Alive: 15

Server Root /usr

Loaded Modules mod_php5, mod_bonjour, mod_hfs_apple, mod_setenvif, mod_so, mod_log_forensic, mod_auth, mod_access, mod_rewrite, mod_alias, mod_userdir, mod_actions, mod_imap, mod_asis, mod_cgi, mod_dir, mod_autoindex, mod_include, mod_negotiation, mod_mime, mod_log_config, http_core

e come php uso la versione 5.1.2

non capisco veramente cosa c'è non va ??...

vi prego sono nel mistero più totale... :)

[/b]

Primo usa il metodo post nella form method=post

per l'invio si usa comunemente il post

Secondo invece di usare la superglobals http_get_vars devi usare $_POST['nome'] o in alternativa $_REQUEST['nome'] le varibili superglobal http* nel php 5 sono obsolete e sono state sostituite da altre superglobals

L'impostazione Register_Globals si trova nella sezione data handling, ma ormai non viene più usata, perchè a livello di sicurezza e una vera piaga, se crei script molto grandi rischi di comprometterli, se sei agli inizi ti consiglio di imparare subito ad usare le superglobal $_POST $_GET e $_REQUEST.

La Register_Globals infatti abilita la visione delle varibili passate tramite GET o POST a diventare varibili SUPERGLOBALI cioè visibili in tutto lo script semplicemente richiamandone il nome.

Ciao :ciao:

Link al commento
Condividi su altri siti

Archiviato

Questa discussione è archiviata e chiusa a future risposte.

×
×
  • Crea Nuovo...