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

Discussione: "Undefined variable"

  1. #1

    "Undefined variable"

    Ciao,

    ho un piccolo applicativo che gira sotto Apache.
    in IIS 5 però continua a darmi errori del tipo "Undefined variable".

    es: se
    $prova = HTTP_GET_VARS['user'];
    se user non è definita mi da errore..

    qualcuno sa dirmi perché IIS fa cosi?
    Grazie

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Credo che dia errore anche sotto Apache se la variabile è !isset

  3. #3

    niente errori

    Sotto Apache non mi da alcun errore... :-((

  4. #4
    dipende dall'error_reporting che hai, magari su IIS l'hai impostato a e_all. Prova a controllare!

    comunque se dà errore puoi risolvere così:

    codice:
    $prova = (isset($_GET['user'])) ? $_GET['user'] : '';

    [che è anche la dicitura più corretta ]


    error_reporting
    isset






    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  5. #5
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Anche io stavo pensando la stessa cosa.
    Prova a impostare "error_reporting=E_ERROR" nel php.ini, anche se in realtà così nasconderesti solo il problema non risolvendolo nel concreto.

  6. #6

    ci provo...

    Grazie...

    ma scusate, quindi quello di usare le variabili non dichiarate è una prassi sbagliata?

    :-)

  7. #7

    Re: ci provo...

    Originariamente inviato da sparky
    Grazie...

    ma scusate, quindi quello di usare le variabili non dichiarate è una prassi sbagliata?

    :-)
    Yes SIR!!!


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

  8. #8
    Utente di HTML.it L'avatar di semolino
    Registrato dal
    Nov 2004
    Messaggi
    1,499
    Stavo guardando che io ho due noti uguali al to problema, ma le righe che mi indica non centrano niente: non ne neanche codice php in un caso, guardate. Questa è tutta la mia pagina:
    Codice PHP:
    <?php
    session_start
    ();

    dbconnect();
    if (!isset(
    $verified_user)) $verified_user='';
    if (
    $action=='login') {
        
    $result=mysql_query("SELECT id_user FROM impedil_users WHERE username='".$username."' AND password='".$psw."'");
        if (
    mysql_num_rows($result)>0) list($verified_user)=mysql_fetch_row($result);
        else 
    $verified_user='';
    }
    session_register("verified_user");
    ?>
    <html>
    <head>
    [COLOR=red]<title>Login</title>[/COLOR]
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>
    <body>

    [url="login.php"]Log in[/url] - [url="index.php"]Index[/url] - [url="logout.php"]Log out[/url]

    <?php
    echo"
    "
    ;
    if (
    $verified_user != '') {
        echo
    "[b]Welcome.[/b]
    "
    ;
    } else {
        if (
    $action == "login" && $verified_user == '') {
            echo
    "<font color=\"red\">Login error!</font>

    "
    ;
        }
        
    ?>
        <form name="login_form" action="login.php" method="post">
        <input type="hidden" name="action" value="login">
        Username: <input type="text" name="username">
         Password: <input type="password" name="psw"> <input type="submit" name"Login" value="Login"></form>
        <?php
        
    }

    function 
    dbconnect() {
        
    mysql_connect("localhost""root""");
        @
    mysql_select_db("impedil_db") or die ("Impossibile accedere al DataBase");
    }
    ?>
    </body>
    </html>
    i notice sono:
    Notice: Undefined variable: action in /Users/SimoZa/Sites/imp_edil/login.php on line 3
    Notice: Undefined variable: action in /Users/SimoZa/Sites/imp_edil/login.php on line 15
    (la riga 3 è vuota e la riga 15 sarebbe quella in rosoo)

  9. #9
    Perche' non rientra nella casistica? Non conto le righe, ma guardo il NOTICE ed e' corretto:

    Non esiste $action, ma esiste $_POST['action']

    infatti quella variabile ti arriva dal form. Se tu avessi i NOTICE disabilitati la if($action == 'login') ti darebbe sempre false e tu non capiresti il perche'. E apriresti un thread dicendo che la if non funziona....


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

  10. #10
    Utente di HTML.it L'avatar di semolino
    Registrato dal
    Nov 2004
    Messaggi
    1,499

    Ma pur inserendo
    if ( $_POST['action']=='login') {
    nei due punti mi vengono mostrati due notice in riga 4 e 17.
    Ma scusa una cosa come faccio a capire a quale riga si riferiscono se non corrispondono a quelle scritte?

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 © 2024 vBulletin Solutions, Inc. All rights reserved.