Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1

    ma che succede mozilla IE..

    raga ho caricato un po di pagine php sul mio sito (altervista) e lo stesso codice mi da risultati diversi per browser diversi...
    il codice in questione è

    login.php
    Codice PHP:
    $user=$_POST['username'];
    $pass=$_POST['password'];
    $auth $data->query("SELECT id FROM accounts WHERE user = '$user' AND pass= '$pass' ");

            if(
    mysql_num_rows($auth)==0)
        {
              
    header("Location: index.php");
    }else{
              
    header("Location: usermenu.php");
        } 
    con chrome trova user e pass ed indirizza a usermenu.php mentre mozilla e internet explorer mi lasciano a login.php qualcuno sa dirmi qualcosa a riguardo?
    ho messo solo il codice per il quale credo ci sia il problema

    volendo azzardare potrei pensare che la funzione header generi html incomprensibile a mozila e IE, se cosi fosse come faccio?

    edit: provo a inserire dati non validi e fa la stessa cosa...

  2. #2
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    Codice PHP:

    $user
    =$_POST['username'];
    $pass=$_POST['password']; 

    if( !
    get_magic_quotes_gpc() )
    {
       
    $user=addslashes($user);
       
    $pass=addslashes($pass);

    }


    var_dump($user);
    echo 
    "<hr>" ;
    var_dump($pass
    Prova a vedere che dati arrivano

  3. #3
    dunque su chrome mi da i dati inseriti (user,pass) mentre su mozilla e IE continua a rimanere su login.php aspettando i dati

  4. #4
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    Il problema mi sa che e' nel form.
    Posta il codice del form.

  5. #5
    Codice PHP:
    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
    Username:<input name="user" type="text" size="20">

    Password:<input name="pass" type="password" size="20">

       
       <input name="submit" type="image" value="Login" src="Immagini/ok.jpg" alt="ok" title="ok" width="55" height="46">
    </form>
       
       <form action="index.php">
       <input name="torna indietro" type="image" src="Immagini/back.jpg" alt="torna indietro" title="invia il modulo" width="105" height="46">
          </form>
      <?
    }
    ?>
    colgo anche l'occasione per ringraziarti per gli interventi Virus_101

  6. #6
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    Uhm ok non ci sono enctyes strani


    prova ad aggiungere il nome al form e

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

    fallo diventare

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

    cosi' per leggibilita inoltre vediamo che percorso effettivamente viene visto.

    Io personamlmente evito di fare forms che redirogno su se' stessi. Preferisco sempre fare uno script separato con eventuali redirect successivi cosi' evito pressioni "f5" doppi inserimenti etc.....

    controllare che $_SERVER['PHP_SELF'] restituisca proprio quello che cerchi. E appunto aggiungi il name="mioform" al form.... altrimenti ci devo pensare un attimo perche' e' davvero strana come cosa.

    P.S.
    attenzione ad un altra cosa. vedo che fai 1 query per controllare gli user. e quindi hai gia' eseguito la connessione prima di questa porzione di codice(altrimenti la funzione mysql_real_escape_string non parte)

    Controllali cosi' :

    Codice PHP:

    $user 
    $_POST["user"]  ;
    $pass $_POST["pass"] ;


    if( 
    get_magic_quotes_gpc() )
    {
         
    $user stripslashes($user) ;
         
    $pass stripslashes($pass) ;

    }


         
    $user mysql_real_escape_string($user) ;
         
    $pass mysql_real_escape_string($pass) ; 

  7. #7
    <?=$_SERVER['PHP_SELF']?>

    occhio che lo short tag e' da parecchio che e' disattivato. Almeno da quando <? serve anche ad xml.

    in quanto all'errore darei una occhiata al contenuto di mysql_num-rows che passi nella if dopo la query

    Invece di scegliere il campo id userei count(*) e verificherei se nella if e' == 1 oppure <> 1

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

  8. #8
    con
    Codice PHP:
    <?=$_SERVER['PHP_SELF']?>
    non cambia nulla è come prima

    invece
    Codice PHP:
    $_SERVER['PHP_SELF'
    vale /login.php
    dove viene controllato se si è logati in precedenza con sessioni prima di tirar fuori il form e reindirizzare al usermenu in caso positivo...

  9. #9
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    DI solito funziona ancora ovunque lo short tag e sinceramente odio xml per quel maledetto tag inziale che hanno usato ... che la w3c sia dannata.

    Cmq il problema e' che da ff e ie i dati non arrivano e non si sa cosa ci sia in $_POST ...


    ah prima di tutto infatti prova a fare

    echo "<pre>" ;


    var_dump($_POST) ;


    cosi' vedi effettivamente quello che arriva in post

  10. #10
    con
    Codice PHP:
    echo "<pre>" ;
    var_dump($_POST) ; 
    quando apro login.php da index.php
    Codice PHP:
    array(0) { } 
    da tutti i browser
    mentre quando si riapre login.php da login.php
    chrome rimane come sopra mentre FF e IE
    Codice PHP:
    array(4) {
      [
    "username"]=>
      
    string(2"asdasd"
      
    ["password"]=>
      
    string(2"123123"
      
    ["submit_x"]=>
      
    string(2"13"
      
    ["submit_y"]=>
      
    string(2"18"

    dove asdasd è user, 123123 è pass
    le altre non so che sia...

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.