Visualizzazione risultati 1 fino 14 di 14

Discussione: problema con Script PHP e Register_globals Off

  1. #1
    Guest

    Exclamation problema con Script PHP e Register_globals Off

    salve a tutti allora ho uno script che permette di registrarsi e loggarsi e dare un permesso per la visualizzazione delle pagine...in locale lo script funziona solo che mettendo sul server tophost nn và mi dà errore riga 78 e 79 della pagina LOGIN.PHP:
    Codice PHP:
    <?php
    include_once("include/config.php");
    include_once(
    "include/auth.lib.php");
    include_once(
    "include/reg_globals_on.php");

    list(
    $status, $user) = auth_get_status();

    if(
    $status == AUTH_NOT_LOGGED){
    $uname = strtolower(trim($_POST['uname']));
    $passw = strtolower(trim($_POST['passw']));

    if(
    $uname == "" or $passw == ""){
    $status = AUTH_INVALID_PARAMS;
    }else{
    list(
    $status, $user) = auth_login($uname, $passw);
    if(!
    is_null($user)){
    list(
    $status, $_POST['uid']) = auth_register_session($user);
    }
    }
    }

    switch(
    $status){
    case
    AUTH_LOGGED:
    header("Refresh: 3;URL=home.php");
    echo
    '<div align="center">Sei gia connesso ... attendi il reindirizzamento</div>';
    break;
    case
    AUTH_INVALID_PARAMS:
    header("Refresh: 3;URL=home.php");
    echo
    '<div align="center">Hai inserito dati non corretti ... attendi il reindirizzamento</div>';
    break;
    case
    AUTH_LOGEDD_IN:
    switch(
    auth_get_option("TRANSICTION METHOD")){
    case
    AUTH_USE_LINK:

    header("Refresh: 3;URL=home.php?uid=".$uid);

    break;

    case
    AUTH_USE_COOKIE:

    -->
    header("Refresh: 3;URL=home.php");
    -->
    setcookie($_COOKIE['uid'] = $uid, time()+3600*365);

    break;

    case
    AUTH_USE_SESSION:

    header("Refresh: 3;URL=home.php");

    $_SESSION['uid'] = $uid;

    break; }
    echo
    '<div align="center">Ciao '.$user['name'].' ... attendi il reindirizzamento</div>';
    break;
    case
    AUTH_FAILED:
    header("Refresh: 3;URL=home.php");
    echo
    '<div align="center">Fallimento durante il tentativo di connessione ... attendi il reindirizzamento</div>';
    break;
    }
    ?>
    quelli con le frecce al sinistra --> sono le righe che mi da come errore..ora chiedendo in giro sono venuto a sapere che tophost ha settato il register_globals su Off e perciò alcuni script php nn funzionano io ho per incluso allo script la pagina

    include_once("include/reg_globals_on.php");
    ecco il contenuto:
    Codice PHP:
    <?

    if (!ini_get('register_globals')) {
    $superglobals = array($_SERVER, $_ENV, $_FILES, $_COOKIE, $_POST, $_GET);

    if (isset(
    $_SESSION)) {
    array_unshift($superglobals, $_SESSION);
    }

    foreach (
    $superglobals as $superglobal) {
    extract($superglobal, EXTR_SKIP);
    }
    }

    ?>
    solo che l'errore c'è sempre come posso fare chi mi puo aiutare???
    Ultima modifica di Supersavio : 12-06-2005 alle ore 22.16.45

  2. #2
    Guest

    Predefinito

    togli quella [/B] subito sotto, perchè non sembra molto attinente, comunque non è problema di register globals, perchè viene usato correttamente l'array $_POST

    mavericck

  3. #3
    Guest

    Predefinito

    e cosa posso fare per farlo funzionare??

  4. #4
    Guest

    Predefinito

    che errore ti da nello specifico?

    mavericck

  5. #5
    Guest

    Predefinito

    vai a vedere te www.cuginiditalia.it/home.php nel login metti
    user: prova
    pass:prova
    ok

  6. #6
    Guest

    Predefinito

    capito...
    la funzione header che esegue il reindirizzamento viene chiamata dopo che è stato inviato dell'output al browser, quindi non funziona. prima di quello script fai delle echo in php o c'è del codice html?

    mavericck

  7. #7
    Guest

    Predefinito

    c'è un codice html
    Codice PHP:
    <html>

    <head>



    <title>Cugini D'Italia</title>

    <meta name="generator" content="Notepad++ / SbCl3" />

    <meta http-equiv="content-type" content="application/xhtml+xml; charset=UTF-8" />



    <link rel="stylesheet" type="text/css" href="style.css" media="screen" />

    <link rel="stylesheet" type="text/css" href="purple.css" media="screen" />



    <link rel="stylesheet" type="text/css" href="print.css" media="print" />



    </head>

    <body>



    <div id="header">

    <div class="maintitle">

    <div align="center">Cugini d'Italia</div>

    </div>

    <div class="right"> </div>

    </div>







    <div id="page">

    </div>



    <div id="navigation">







    </div>







    <div id="textarea"> </div>



    <div id="footer">

    <p align="center"><table width="75%" border="1" align="center">

    <tr>

    <td>

    <?php

    include_once("include/config.php");

    include_once(
    "include/auth.lib.php");



    list(
    $status, $user) = auth_get_status();



    if(
    $status == AUTH_NOT_LOGGED){

    $uname = strtolower(trim($_POST['uname']));

    $passw = strtolower(trim($_POST['passw']));



    if(
    $uname == "" or $passw == ""){

    $status = AUTH_INVALID_PARAMS;

    }else{

    list(
    $status, $user) = auth_login($uname, $passw);

    if(!
    is_null($user)){

    list(
    $status, $uid) = auth_register_session($user);

    }

    }

    }



    switch(
    $status){

    case
    AUTH_LOGGED:

    header("Refresh: 3;URL=home.php");

    echo
    '<div align="center">Sei gia connesso ... attendi il reindirizzamento</div>';

    break;

    case
    AUTH_INVALID_PARAMS:

    header("Refresh: 3;URL=home.php");

    echo
    '<div align="center">Hai inserito dati non corretti ... attendi il reindirizzamento</div>';

    break;

    case
    AUTH_LOGEDD_IN:

    switch(
    auth_get_option("TRANSICTION METHOD")){

    case
    AUTH_USE_LINK:

    header("Refresh: 3;URL=home.php?uid=".$uid);

    break;

    case
    AUTH_USE_COOKIE:

    header("Refresh: 3;URL=home.php");

    setcookie($_COOKIE['uid'] = $uid, time()+3600*365);

    break;

    case
    AUTH_USE_SESSION:

    header("Refresh: 3;URL=home.php");

    $_SESSION['uid'] = $uid;

    break;

    }

    echo
    '<div align="center">Ciao '.$user['name'].' ... attendi il reindirizzamento</div>';

    break;

    case
    AUTH_FAILED:

    header("Refresh: 3;URL=home.php");

    echo
    '<div align="center">Fallimento durante il tentativo di connessione ... attendi il reindirizzamento</div>';

    break;

    }

    ?>



    <p align="center"><img src="/images/attendi.gif"></p></td>

    </tr>

    </table></p>

    <p>&nbsp;</p>

    <p>&nbsp;</p>

    <p>&nbsp;</p>

    <p>&nbsp;</p>

    <p>&nbsp;</p>

    <p>&nbsp;</p>

    <p>&nbsp;</p>

    <p>&nbsp;</p>

    <p align="center"><font size="2">[ Copyright [<a href="http://www.supersavio.tk">SuperSavio&copy;</a>]

    ||WebMaster WebDesign SuperSavio[<a href="mailto:SuperSavio@gmail.com">email</a>]

    ]</font></p>

    <p align="center"><font size="1">tutto il materiale qui reperibile, dove non

    altrimenti esplicitamente specificato, è copyright © 2005 by Cugini d'Italia<br />

    la riproduzione anche parziale dei contenuti di questo sito è vietata senza

    l'esplicita autorizzazio dallo staff dei Cugini d'Italia!<br />

    sito hosted by altervista</font><font size="1"><br />

    </font> </p>

    <p>&nbsp;</p>

    </div>





    </body>

    </html>

  8. #8
    Guest

    Predefinito

    se vuoi usare quello script, non puoi "outputtare" prima in quel modo, quindi

    1)cambi script
    2)OPPURE modifichi la pagina mettendoci lo script prima dell'output
    3)OPPURE modifichi lo script usando una redirezione basata su un collegamento ipertestuale, o il refresh fatto con i meta-tag

    mavericck

  9. #9
    Guest

    Predefinito

    mi puoi fare la pag te con la cosa che ritieni più affidabile

  10. #10
    Guest

    Predefinito

    se sei alle prime armi ti consiglio la 2

    mavericck

  11. #11
    Guest

    Predefinito

    e come si fa?? me lo fai te con il codice della pagina che ti ho postato prima


    garzie

  12. #12
    Guest

    Predefinito

    ti devo dire che non mi è mai piaciuto dare (o ricevere) la pappa pronta, ma preferisco i suggerimenti che aiutano a far capire come funziona una cosa

    comunque ti basta prendere l'intero blocco tra <?php e ?> e spostarlo prima del tag <html>

    mavericck

  13. #13
    Guest

    Predefinito

    scusa allora lo script funziona solo che variando dai dati messi nei campi user e pass esce un determinato mesg come faccio dopo aver copiato il codice php fuori all'html fare comparire i mesg allinterno della tabella
    ????

  14. #14
    Guest

    Predefinito

    in questo caso non puoi, o al massimo negli echo dello switch, ci metti prima del messaggio anche il codice di inizio della pagina

    mavericck

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •