Problema con script di registrazione utenti su IE

Tommy1981

Utente Attivo
1 Mag 2010
84
0
0
Ciao ragazzi....io ho un problema ed onestamente non so come venirne fuori....
Allora io ho questa pagina per la registrazione:

PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Join!</title>
<link href="SGT_CSS_1.css" rel="stylesheet" type="text/css" />
<style type="text/css">
<!--
body {
    background-color: #999;
    background-image: url(Immagini/Home/Bg.gif);
    background-repeat: repeat-x;
}
-->
</style>
<script type="text/javascript">
<!--
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

//-->

function CAPTCHA()
{
var car, min, max, dif, lun, inc;
car  = "abcdefghijklmnopqrstuvwxyz";
car += "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
car += "1234567890";
min  = 5;
max  = 5;
dif  = max - min;
lun  = Math.round((Math.random() * dif) + min);
inc  = 0;
cod  = "";
while (inc < lun)
{
  cod += car.charAt(Math.round(Math.random() * car.length));
  inc++;
}
return cod;
}<!--Crea il captcha -->


function Prova(){
document.getElementById("captcha").innerHTML = CAPTCHA();<!--crea immagine captcha -->
}

function Invia()
{
var key2 = document.enter.key2.value;
if (key2 != document.getElementById("captcha").innerHTML)
{
  alert("Please enter a correct code");
  document.enter.key2.value = "";
  document.enter.key2.focus();
}
else
{
  document.enter.method = "post";
  document.enter.action = "<?php print($_SERVER['PHP_SELF']); ?>";
  document.enter.submit();
}
}<!--Verifica il captch
//-->
</script><!--Java-->

</head>

<body onload=
"; Prova()">
<!--Rollover -->

<div id="centrale"><!--Banner alto --><!--Banner destro --><!--Titolo sito --><!--Sottotitolo -->
  
<div id="contenuti">
  <!--Immagine membership-->
  <!--Scritto per membership --><!--Immagine register -->
  
  <div id="Register">
  
  <?php
session_start();    // Maintain session state
header("Cache-control: private");    // Fixes IE6's back button problem.

// Dont allow members to go to add user page
if(@$_SESSION['user']) header("location: login.php");
elseif(@$_POST['user']){
    // Get and set vars (without html characters)
    $user = htmlspecialchars(strtolower($_POST["user"]));
    $pass = htmlspecialchars($_POST["pass"]);
    $permission = 0;        // Default: user, until admin changes
    $email = htmlspecialchars($_POST["email"]);
    $url = htmlspecialchars($_POST["url"]);

    // Add dots to date
    $joined = $_POST["joined"];

    // Create the string to append
    $string = "\r\n". $user. "<del>". md5($pass). "<del>". $permission. "<del>". $email. "<del>". $joined;

    // Make sure username doesn't already exist
    //-----------------------------------------
    // Include the flat-file
    $file = file("users.php") or die("Problem getting the user details flat-file [users.php]");

    // Get the size of file
    $totalLines = sizeof($file);

    // Get the users details line by line
    $line = 0;
    $match = 0;
    do{
        // Check the line isn't a comment
        if("//" != substr($file[$line], 0, 2)){
            // Break our records up
            @list($username, $password, $permission, $email, $url, $joined) = explode("<del>", $file[$line]);

            // Check the username and passwords match
            if((strtolower($user) == strtolower($username))) $match = 1;
            else $match = 0;
        }

        // Exit loop if match found
        if($match) break;
            
        // Increment line count
        $line++;
    } while($line < $totalLines);

    // Only add new user if a match is not found
    if($match){
    ?>
        <script language = "javascript" type = "text/javascript">
        <!-- // Go back
            alert("Username already taken, taking you back to choose another");
            history.go(-1);
        -->
        </script>
      <?php
    }
    else{
        // Open the users file
        $fp = fopen("users.php", "a+");

        // Append the new user to end of users file
        fwrite($fp, $string);

        // Close the file
        fclose($fp);

        // Redirect to index
        header("location: index.php?new=1");
    }
}
else{
?>
      <?php
}
?>

      <form name="enter" action="">
        <table width="451" border = "0" align = "left" cellpadding = "10" cellspacing = "0" style = "height: 80%; text-align: left;">
    <tr>
        <td height="52" colspan = "3" align="left" valign = "top">
            <span class = "bold">Join our member list!</span></td>
    </tr>
    <tr>
        <td width = "162" height = "10" align="left" valign = "top">
            <span class = "hilight">Username:</span>
        </td>
        <td width = "249" height = "10" align="left" valign = "top">
            <input name = "user" type = "text" class = "text" id = "user" style = "width: 80%" tabindex = "1" maxlength="20">
    </tr>
    <tr>
        <td width = "162" height = "10" align="left" valign = "top">
            <span class = "hilight">Password:</span>
        </td>
        <td width = "249" height = "10" align="left" valign = "top">
            <input name = "pass" type = "password" class = "text" id = "pass" style = "width: 80%" tabindex = "2" maxlength="20">
        </td>
    </tr>
    <tr>
        <td width = "162" height = "10" align="left" valign = "top">
            <p class="hilight"> Repeat Password:</p></td>
        <td width = "249" height = "10" align="left" valign = "top">
            <p>
              <input name = "pass2" type = "password" class = "text" id = "pass2" style = "width: 80%" tabindex = "3" maxlength="20">
            </p></td>
    </tr>
    <tr>
        <td width = "162" height = "10" align="left" valign = "top">
            Email:
        </td>
        <td width = "249" height = "10" align="left" valign = "top">
            <input type = "text" id = "email" name = "email" style = "width: 80%" class = "text" tabindex = "4">
        </td>
    </tr>
    <tr>
        <td width = "162" height = "10" align="left" valign = "top">
            Repeat Email:
        </td>
        <td width = "249" height = "10" align="left" valign = "top">
            <input type = "text" id = "url" name = "url" style = "width: 80%" class = "text" tabindex = "5">
        </td>
    </tr> 
    <tr>
        <td width = "162" height = "10" align="left" valign = "top">
            Join our newsletter:
        </td>
        <td width = "249" height = "10" align="left" valign = "top"><label>
          <input type="checkbox" name="news" id="news" value="news" /></label>
          <a href="Javascript:newsletter()" class="Linkage">About newsletter</a></td>
    </tr>
    <tr>
        <td width = "162" height = "10" align="left" valign = "top">
            Read and approve privacy policy:
        </td>
        <td width = "249" height = "10" align="left" valign = "top"><label>
          <input type="checkbox" name="privacy" id="privacy" value="privacy" />
          </label>
        <a href="Javascript:privacy()" class="Linkage">Privacy policy</a></td>
    </tr>
    <tr>
        <th width="199" height="74" scope="row"><p>Enter code from image (case sensitive):</p></th>
        <td width="181"><label>          
          <center>
            <span id="captcha"></span><br><br>
            <input name="key2" type="text" id="key2" size="10">
          </center>
        </label>        
        </td>
        </tr>
    <tr>
        <td  width = "100" height = "79" colspan = "3" valign = "top"><input name = "submit" type = "Image" tabindex = "10" onfocus = "return checkFields();" src = "Immagini/Enter/Join.gif" alt = "arrow pointing right: next" align = "middle" onclick="Invia()"/>          <input type = "hidden" name = "joined" value = "<?php print(date("d.m.Y H:i:s", mktime())); ?>" /></td>
    </tr>
</table>
</form> <!--Form registrazione -->

<script language = "javascript" type = "text/javascript">
<!--// Check field values are correct before submitting
    function checkFields(){
        var flag = 1;    // Return flag
// Check for empty values in important fields first
        if(!document.getElementById("user").value || !document.getElementById("pass").value || !document.getElementById("pass2").value || !document.getElementById("email").value ||!document.getElementById("url").value ||!document.getElementById("news").value||!document.getElementById("privacy").value||!document.getElementById("key2").value){
            alert("Please enter all values, join the newsletter and approve privacy terms");
            document.getElementById("user").focus();
            return true;
        }
        // Check that passwords are the same
        else if(document.getElementById("pass").value != document.getElementById("pass2").value){
            alert("Please enter two matching passwords");
            document.getElementById("pass").value = '';
            document.getElementById("pass2").value = '';
            document.getElementById("pass").focus();
            return true;
        }
        // Check that email are the same
        else if(document.getElementById("email").value != document.getElementById("url").value){
            alert("Please enter two matching email");
            document.getElementById("email").value = '';
            document.getElementById("url").value = '';
            document.getElementById("email").focus();
            return true;
        }
        if(document.forms[0].news.checked != true) {
        alert("Please join our newsletter");
        document.forms[0].news.focus();
        return false;
        }
        if(document.forms[0].privacy.checked != true) {
        alert("Please, you need to accept privacy policy");
        document.forms[0].privacy.focus();
        return false;
        }
        else flag = 0;

        // One final check if the others went through fine
        if(!flag){
            if(document.getElementById("email").value){
                // Finally, check the email
                if(document.getElementById("email").value.indexOf("@") == -1 || document.getElementById("email").value.indexOf(".") == -1){
                    alert("Please make sure email is valid");
                    document.getElementById("email").focus();
                    return true;
                }
                else return false;
            }
            else return false;
        }
    }

-->
</script>
<script type="text/javascript">
<!--
 
function privacy() {
window.open('privacy.html','Privacy','width=400','height=300');
}
-->
</script>
<script type="text/javascript">
<!--
 
function newsletter() {
window.open('newsletter.html','Newsletter','width=400','height=300');
}
-->
</script>
  </div>
  
  <!--Registrazione -->
  
</div> <!--Contenuti-Finestra centrale --><!-- Menù -->

</div> <!-- Container -->
</body>
</html>

Che punta poi a quest'altra pagina:

PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Welcome</title>
<link href="SGT_CSS_1.css" rel="stylesheet" type="text/css" />
<style type="text/css">
<!--
body {
    background-color: #999;
    background-image: url(Immagini/Home/Bg.gif);
    background-repeat: repeat-x;
}
-->
</style>
<script type="text/javascript">
<!--
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
//-->
</script><!--Java rollover -->
</head>

<body>
<!--Rollover -->

<div id="centrale"><!--Banner alto --><!--Banner destro --><!--Titolo sito --><!--Sottotitolo -->
  
<div id="contenuti">
  
<div id="connected"> 

<?php
session_start(); // Maintain session state
header("Cache-control: private");    // Fixes IE6's back button problem.

// Redirect if not logging in
if(!@$_POST['user'] && !@$_SESSION['user']) header("location: index.php");
else{
    if(@$_SESSION['user']){
        @include("userarea.php");
    }
    else{
        // Get the posted username and password
        $user = strtolower($_POST['user']);
        $pass = $_POST['pass'];

        // Include the flat-file
        $file = file("users.php") or die("Problem getting the user details flat-file [users.php]");

        // Get the size of file
        $totalLines = sizeof($file);

        // Get the users details line by line
        $line = 0;
        $match = 0;
        do{
            // Check the line isn't a comment
            if("//" != substr($file[$line], 0, 2)){
                // Break our records up
                @list($username, $password, $permission, $email, $url, $joined) = explode("<del>", $file[$line]);

                // Check the username and passwords match
                if((strtolower($user) == strtolower($username)) && (md5($pass) == $password)) $match = 1;
                else $match = 0;
            }

            // Exit loop if match found
            if($match) break;
            
            // Increment line count
            $line++;
        } while($line < $totalLines);

        // Include the file or send them back
        if($match){
            $_SESSION["user"] = $user;
            $_SESSION["pass"] = $pass;
            $_SESSION["permission"] = $permission;
            $_SESSION["email"] = $email;
            $_SESSION["url"] = $url;
            $_SESSION["joined"] = $joined;
            
            // Refresh page
            header("location: ". $_SERVER['PHP_SELF']);
        }
        else header("location: index.php?fail=1");
    }
}
?>
</div>
<!--Scritto per connected -->
  
</div> <!--Contenuti-Finestra centrale --><!-- Menù -->

</div> <!-- Container -->
</body>
</html>
 

Tommy1981

Utente Attivo
1 Mag 2010
84
0
0
Se guardate scrivo i dati utenti su un file .php

Vengono controllate diverse cose nella compilazione, ma se l'utente ha compilato tutto correttamente, l'ultimo controllo consiste solo nel verificare se il nome utente esiste già o meno....

Il tutto va su Firefox, su Opera, su Safari, mentre su IE mi da come già scelto qualsiasi nome utente digito....all'infinito.....

Se invece sempre su explorer provo a fare il login da utente già registrato, allora non ci sono problemi....

Un amico mi ha detto che capitava anche su certi siti di giochi online coreani che dicevano di utilizzare un browser diverso almeno nella fase di registrazione, una volta registrati, il login funzionava...

E' un problema noto? Qualcuno sa darmi una mano?
 

Tommy1981

Utente Attivo
1 Mag 2010
84
0
0
Nessuno?

per il momento ho risolto omettendo il controllo sul nome utente.....è un pò una porcata....però alla fine a me interessano i contatti mail per le news più che i nomi utente....
 

Tommy1981

Utente Attivo
1 Mag 2010
84
0
0
Ho provato la 6, la 7 e la 8... lo fa con tutte... :(

Stesso discorso con gli altri browser....gira correttamente su tutte le versioni più recenti....
 
Discussioni simili
Autore Titolo Forum Risposte Data
K Help: problema con uno script di booking in php! PHP 0
S Problema con script php-javascript PHP 2
P immagine responsive problema con script jquery jQuery 0
A Problema con Script js Javascript 1
S Problema con 2 script nella stessa pagina Javascript 1
S problema con ajax semplice login script Javascript 8
E Problema con uno script php PHP 1
P Problema con uno script Javascript 0
L problema invio newsletter con script proprio in php PHP 10
A fancyBox script - problema con pulsanti jQuery 2
G Problema con questo script jQuery 1
P Problema con script facebox Javascript 0
C problema con script di lista suggerimenti Javascript 3
A Problema con uno script js Javascript 0
neo996sps Problema con query e script PHP PHP 4
O problema con script tell a friend Javascript 3
L problema con script php PHP 6
F problema con script book galleri Flash 0
E Problema con script ajax+php Ajax 2
B Problema invio mail con script php verso i dominii libero PHP 9
T Problema con script search.asp Lukeonweb Classic ASP 9
M Problema con script rotazione testo Javascript 3
muvadi problema con script di una gallery PHP 1
P [PHP] problema script con checkbox! PHP 0
M Problema con script PHP 6
K Per EWIND, piccolo problema con lo script Flash 1
O problema con dvr dahua xvr5116 IP Cam e Videosorveglianza 0
G Problema con Xampp Web Server 1
andrea barletta Problema con miniature comandi Photoshop 0
I problema con alice Posta Elettronica 0
N Problema con position absolute e overflow HTML e CSS 4
L Problema con inner join PHP 11
K [php] Problema con inner join PHP 4
K [PHP] Problema con variabili concatenate. PHP 1
O problema con query PHP 4
I problema con 2 account Posta Elettronica 1
L problema collegamento file css con html HTML e CSS 1
E Problema accesso a file con app sviluppata con MIT APP INVENTOR 2 Sviluppo app per Android 0
M Problema con Try Catch PHP 0
Sergio Unia Problema con gli eventi del mouse su una data table: Javascript 2
T PROBLEMA CON SESSIONI PHP 3
T ALTRO PROBLEMA CON ARRAY PHP PHP 1
R problema con else PHP 0
T PROBLEMA CON ARRAY PHP 8
L problema con query select PHP 2
R Problema query con ricerca id numerico PHP 2
F Problema con risposta PHP 0
S problema con recupero dati tabella mysql PHP 2
Z Problema con il mio tp-l i nk Reti LAN e Wireless 1
L Problema RAM con Tomcat 8 Apache 0

Discussioni simili