Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 19

Discussione: variabile phpself

  1. #1

    variabile phpself

    Ho provato ad utilizzare questa variabile per avere tutto nello stesso file ma ottengo un errore. Questo è il file:
    <HTML>
    <HEAD>
    <TITLE>Calcolatore Risparmi Pensione</TITLE>
    </HEAD>
    <?
    if(!IsSet($stage)) {
    $guadann=7;
    }
    else {
    $anni = $_POST['eta_pensione'] - $_POST['eta_attuale'];
    $contoanni = 0;
    $totale = $_POST['contrib'];
    while($contoanni <= $anni) {
    $totale = round($totale * (1.0 + $guadann/100) + $_POST['contrib']);
    $contoanni++;
    }
    }
    ?>
    <BODY>
    <FORM ACTION=<? echo $PHP_SELF; ?> METHOD="POST">


    La tua eta' oggi: <INPUT TYPE="TEXT" SIZE=5 NAME="eta_attuale" VALUE=<? echo $_POST['eta_attuale']; ?>>


    L'eta in cui pensi di andare in pensione:<INPUT TYPE="TEXT" SIZE=5 NAME="eta_pensione" VALUE=<? echo $_POST['eta_pensione']; ?>>


    Contributo annuale: <INPUT TYPE="TEXT" SIZE=15 NAME="contrib" VALUE=<? echo $_POST['contrib']; ?>>


    Guadagno annuale: <INPUT TYPE="TEXT" SIZE=5 NAME="guadann" VALUE=<? echo $_POST['guadann']; ?>>





    Totale: <? echo $totale; ?>


    <INPUT TYPE=HIDDEN NAME="stage" VALUE=1>


    <INPUT TYPE=SUBMIT>
    </FORM>


    e questo è l'errore:

    Notice: Undefined variable: PHP_SELF in c:\programmi\easyphp1-8\www\esempio6.php on line 34

    come mai??

  2. #2
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    usa $_SERVER['PHP_SELF']




    think simple think ringo

  3. #3
    <FORM ACTION=<? echo $_SERVER['PHP_SELF']; ?> METHOD="POST">


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  4. #4
    grazie per l'aiuto

    ma dopo aver inserito questa riga, per utilizzare le diverse variabili come le devo richiamare??

    grazie

  5. #5
    Originariamente inviato da pippuzzo80
    grazie per l'aiuto

    ma dopo aver inserito questa riga, per utilizzare le diverse variabili come le devo richiamare??

    grazie
    Le variabili passate via post le trovi in $_POST['var'] ma da una occhiata sommaria a l tuo script lo classificherei tra quelli con poche speranze...

    Non saprei neppure da che parte cominciare... beh per cominciare si..

    if(!IsSet($stage)) {

    dovrebbe essere $_POST['stage']

    ma poi dopo il primo giro sara' sempre settato pero' magari vuoto.

    e poi nel form... perche' stampi $_POST se non c'e' ancora???


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  6. #6
    anche a me sembrava un pò strano (lo script non è mio ma lo stavo utilizzando per imparare...)

  7. #7
    Originariamente inviato da pippuzzo80
    anche a me sembrava un pò strano (lo script non è mio ma lo stavo utilizzando per imparare...)
    Diciamo allora che si tratta di uno script datato, non piu' in linea con le attuali versioni di php.

    Andrebbe abbastanza pesantemente revisionato.


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  8. #8
    invece io stavo provando questo script:

    <html>
    <head>
    <title> Utilizzo di _SERVER['php_self']</title>
    </head>

    <body bgcolor=yellow>

    <form method="POST" action="<? echo $_SERVER['php_self']; ?>" >



    Inserisci il nome: <input type=text name="nome" ></P>


    Inserisci il cognome: <input type=text name="cognome" ></p>


    <input type=submit value=invia></P>

    </form>

    <? if ($_POST['nome']=="fabio")
    print ("Nome azzeccato");
    else
    print ("Nome sbagliato");
    ?>


    </body>
    </html>

    non capisco però perchè mi visualizza subito "nome sbagliato", inoltre quando inserisco il nome e cognome e premo invio mi compare questo messaggio di errore:

    You don't have permission to access /
    Notice: Undefined index: php_self in c:/programmi/easyphp1-8/www/php_self.php on line 8
    on this server

  9. #9
    $_SERVER['php_self'];

    deve essere in maiuscolo. Le variabili, gli array con i loro indici sono case sensitive.

    Se vuoi vedere cosa contiene $_SERVER prova:

    <?php
    echo "<pre>";
    print_r($_SERVER);
    ?>

    mettilo un file ed eseguilo.


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  10. #10
    ok adesso funziona... però c'e sempre quel problema... appena avvio lo script subito fa il controllo del nome e mi dice ovviamente che è sbagliato, e successivamente quando scrivo fabio mi dice che è giusto..

    ma come si fa a postergare questo controllo
    <? if ($_POST['nome']=="fabio")
    print ("Nome azzeccato");
    else
    print ("Nome sbagliato");
    ?>

    solo dopo aver compilato il form ed aver digitato invio??

    grazie mille

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.