Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    442

    PHP Ciclo di iterazione

    Salve a tutti ho un problemino
    Codice PHP:
    <html>
    <head>
    <title>Registrazione alla chat</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

    </head>

    <body bgcolor="#FBBEAA">
    <?


    $nick
    =$_POST['nick'];
    $nick=strtolower($nick);/*conversione della stringa del nick in minuscolo*/
    $nick=stripslashes($nick);/*toglie gli slashes aggiunti ad una stringa  con addslòashes*/

    $passwordd=$_POST['password'];
    /*require("md5.class.php");*/
    $password_cr=md5($passwd); //criptazione con md5 per ora unico sistema di criptazione irreversibile e piu sicuro degli altri

    $age=stripslashes($_POST['age']);
    $sex=stripslashes($_POST['sex']);
    $nation=stripslashes($_POST['nation']);
    $hobbies=stripslashes($_POST['hobbies']);

    echo 
    $nick,$password_cr,$age,$sex,$nation,$hobbies;
    /*si controlla che la pass e il nick non esistano*/
    require('config.php');
    if (!(
    file_exists($file_reg)))
    {
    fopen($file_reg,"w");}

    $utente_ok=1;
    $ut_regist=file($file_reg);/*si memorizza  il file  in un vettore ;ogni elemento del vettore corrisponde ad ogni riga del file*/
    $dim_reg=count($ut_regist);/*conta le righe del vettore*/
    /*ora che il file è un vettore era meglio utilizzare un foreach piuttosto che un for*/
    for ($i=0;$i<$dim_reg;$i++)
    {
    $utente=chop($ut_regist[$i]);/*chop è alias di rtrim ed elimina spazi ed altro dalla fine del file in questo caso dalla riga in cui andremo a scrivere*/
    $dati_ut=explode("|",$utente);/*considerando ogni riga come un array si separa ogni elemento  dell'array con un |*/
    $nick_ut=$dati_ut[0];
    $pass_ut=$dati_ut[1];
    if ( (
    $nick==$nick_ut) | ($password_cr==$pass_ut) )
    {
     
    $utente_ok=0/*nick o password già esistenti*/
     
    echo "<center>Nick o password già utilizzata.
    <a href=\"register.php\">Torna indietro</a><center>"

     }
    }

    if (
    $utente_ok==1)
    {
    if (empty(
    $nick) | empty($password) | empty($nation) | empty($sex) | empty($hobbies))
    {
    echo 
    "<center><font face=\"Verdana\" size=\"2\">NON HAI RIEMPITO UNO O PIU' CAMPI</font></center>

    "
    ;
    echo 
    "<center><font face=\"Verdana\" size=\"2\"><a href=\"javascript:history.back();\">TORNA INDIETRO</a></font></center>";
    }
    else  
    /*in caso in cui tutti i campi siano stati tutti riempiti*/
    {
    $utente=$nick."|".$password_cr."|".$age."|".$sex."|".$nation."|".$hobbies."\n";

    $ins_utente=fopen($file_reg,"a+");/*si scive i dati dell'utente nel vettore-filre*/ 
    fputs($ins_utente,$utente);
    fclose($ins_utente);



    echo 
    "
            
            

            
    <center>Sei registrato alla chat.
     <a href=\"login.php\">Vai al login</a></center>"
    ;



    }
    }


    ?>

    </body>
    </html>
    Il mio problema è che non capisco perchè lo script mi va sempre in nick o password gia esistenti e quindi non mi scrive nel file grazie in anticipo

  2. #2
    scusa, ma anche la password non può essere la stessa?

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    442
    ciao, ho rimesso il tutto dentro il ciclo for ma il problema è lo stesso
    Ah per la domanda che mi hai fatto è un programma per un mio amico preferisce l'univocità della password
    ti do anche la pagina col form
    Codice PHP:
     <FONT face="verdana" color=black size=2>
        <
    body bgcolor="#DFDFDF">
        <
    form  method="POST" action="ins_ut.php" name="Submit" onSubmit="window.open('ins_ut.php','ins_ut','width=500%,height=800,scrollbars=yes')">
      <
    table width="317" align="center" cellpadding="4" bordercolor="#000000" bgcolor="#F8EBC2" style="border:1px solid">
        <
    tr
          <
    td colspan="2" bgcolor="#FBD6BD"><div align="center">
            <
    font size="2" face="Verdana, Arial, Helvetica, sans-serif">[b]REGISTRAZIONE 
              IN CHAT
    [/b]</font></div></td>
        </
    tr>
        <
    tr
          <
    td width="179"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">[b]
            *
    Nickesluigi(ve)[/b]</font></td>
          <
    td width="114"><input name="nick" type="text" id="nick" size="18" maxlength="20"></td>
        </
    tr>
        <
    tr
          <
    td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">[b]*Password:[/b]</font></td>
          <
    td width="114"><input name="password" type="password" id="nick3" size="18" maxlength="20"></td>
        </
    tr>
        <
    tr>
          <
    td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">[b]*Et&agrave;:[/b]</font></td>
          <
    td width="114"><input name="age" type="text" id="password" size="4" maxlength="2"></td>
        </
    tr>
        <
    tr>
          <
    td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">[b]*Sesso:[/b]</font></td>
          <
    td width="114"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">maschio</font
            <
    input type="radio" name="sex" value="maschio" checked>
            
    <
    font size="1" face="Verdana, Arial, Helvetica, sans-serif">femmina</font
            <
    input type="radio" name="sex" value="femmina"></td>
        </
    tr>
        <
    tr>
          <
    td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">[b]*Città:[/b]</font></td>
          <
    td width="114"><input name="nation" type="text" id="password3" size="18" maxlength="20"></td>
        </
    tr>
        <
    tr>
          <
    td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">[b]*E-mail: [/b]</font></td>
          <
    td width="114"><input name="hobbies" type="text" id="nation" size="18" maxlength="50"></td>
        </
    tr>
        <
    tr
          <
    td colspan="2"><div align="center"><input type="submit" name="Submit" value="Registrati alla chat" ></td>
             </
    tr>
      </
    table>
    </
    form
    Codice PHP:
    <?


    $nick
    =$_POST['nick'];
    $nick=strtolower($nick);/*conversione della stringa del nick in minuscolo*/
    $nick=stripslashes($nick);/*toglie gli slashes aggiunti ad una stringa  con addslòashes*/

    $password=$_POST['password'];
    /*require("md5.class.php");*/
    $password_cr=md5($passwd); //criptazione con md5 per ora unico sistema di criptazione irreversibile e piu sicuro degli altri

    $age=stripslashes($_POST['age']);
    $sex=stripslashes($_POST['sex']);
    $nation=stripslashes($_POST['nation']);
    $hobbies=stripslashes($_POST['hobbies']);

    echo 
    $nick,$password_cr,$age,$sex,$nation,$hobbies;
    /*si controlla che la pass e il nick non esistano*/
    require('config.php');
    if (!(
    file_exists($file_reg)))
    {
    fopen($file_reg,"w");}

    $utente_ok=1;
    $ut_regist=file($file_reg);/*si memorizza  il file  in un vettore ;ogni elemento del vettore corrisponde ad ogni riga del file*/
    $dim_reg=count($ut_regist);/*conta le righe del vettore*/
    /*ora che il file è un vettore era meglio utilizzare un foreach piuttosto che un for*/
    for ($i=0;$i<$dim_reg;$i++)
    {
    $utente=chop($ut_regist[$i]);/*chop è alias di rtrim ed elimina spazi ed altro dalla fine del file in questo caso dalla riga in cui andremo a scrivere*/
    $dati_ut=explode("|",$utente);/*considerando ogni riga come un array si separa ogni elemento  dell'array con un |*/
    $nick_ut=$dati_ut[0];
    $pass_ut=$dati_ut[1];
        if ( (
    $nick==$nick_ut) | ($password_cr==$pass_ut) )
        {
        
    $utente_ok=0/*nick o password già esistenti*/
        
    echo "<center>Nick o password già utilizzata.
    <a href=\"register.php\">Torna indietro</a><center>"

        }


            elseif (
    $utente_ok==1)
            {
                if (empty(
    $nick) | empty($password) | empty($nation) | empty($sex) | empty($hobbies))
                {
                echo 
    "<center><font face=\"Verdana\" size=\"2\">NON HAI RIEMPITO UNO O PIU' CAMPI</font></center>

    "
    ;
                echo 
    "<center><font face=\"Verdana\" size=\"2\"><a href=\"javascript:history.back();\">TORNA INDIETRO</a></font></center>";
                }
                    else  
    /*in caso in cui tutti i campi siano stati tutti riempiti*/
                    
    {
                    
    $utente=$nick."|".$password_cr."|".$age."|".$sex."|".$nation."|".$hobbies."\n";

                    
    $ins_utente=fopen($file_reg,"a+");/*si scive i dati dell'utente nel vettore-filre*/ 
                    
    fputs($ins_utente,$utente);
                    
    fclose($ins_utente);



                    echo 
    "
            
            

            
                    <center>Sei registrato alla chat.
     <a href=\"login.php\">Vai al login</a></center>"
    ;



                    }
            }

    }
    ?>
    grazie per l'aiuto

  4. #4
    ti dirò, l'unica cosa che dovresti provare è ad usare || anziché | nel controllo password nick.

    Un'ultima cosa: quando fai fopen($file_reg,"w"); può causare problemi che chiudi il file pointer, ti converrebbe fare :

    $fp = fopen($file_reg,"w");
    fclose($fp);

    Per essere sicuro.

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.