Visualizzazione risultati 1 fino 7 di 7

Discussione: Problema di log in con mysql

  1. #1
    Guest

    Predefinito Problema di log in con mysql

    Il mio problema è questo: riesco a connettermi al sito e completare la registrazione e mi arriva una mail con la password.
    Se, però cerco di fare il log in mi dice che il nickname non esiste...eppure sia quello che la password inseriti sono corretti.
    Il codice che verifica se sono esatti dovrebbe essere questo:
    Codice:
    <body bgcolor="ffffff">
    <?PHP
    include ("connessione.php");
    
    $nickname=$_POST['nickname'];
    $password=$_POST['password'];
    
    $sql = "SELECT nickname,razza,sesso,forza,mente FROM utenti WHERE nickname = '$nickname' AND password = '$password'";
    $conteggio = mysql_query($sql);
    $num = mysql_num_rows($conteggio);
    	
    	//Dati di login corretti
    	if ($num == 1) 
    		while($ROW = mysql_fetch_array($conteggio))
    		{
    		$nickname=$ROW["nickname"];
    		$razza=$ROW["razza"];
    		$sesso=$ROW["sesso"];
    		$forza=$ROW["forza"];
    		$mente=$ROW["mente"];
    		
    		//*************sessione*****************
    		session_start();
    		session_unset();
    		session_destroy();
    		session_start();
    		$_SESSION['nickname']=$nickname;
    		$_SESSION['razza']=$razza;
    		$_SESSION['sesso']=$sesso;
    		$_SESSION['forza']=$forza;
    		$_SESSION['mente']=$mente;
    		//*************sessione*****************
    		
    		echo "<form name='form1' method='post' action='main.php'>";
    		echo "</form>";
    		?>
    		<script language="Javascript">
    		alert ("Bentornato <? echo "$nickname" ?>.")
    		document.form1.submit();
    		</script>
    		<?
    		}
    	
    	//Dati di login sbagliati
    	else if ($num == 0)
    		{
    		echo "<form name='form2' method='post' action='login.php'>";
    		echo "</form>";
    		?>
    		<script language="Javascript">
    		alert ("Il nickname non esiste.")
    		document.form2.submit();
    		</script>
    		<?
    		}
    @mysql_close ($connessione);
    ?>
    </body>
    Sapete dirmi dov'è l'errore?

  2. #2
    Guest

    Predefinito

    registra_utente.php cosa fa?

  3. #3
    Guest

    Predefinito

    Ti permette di registrarti. Inserisci un nickname e altre cose tra cui la casella mail.
    Poi ti invia una mail con la password da usare...
    Devo postare il codice?

  4. #4
    Guest

    Predefinito

    Citazione Originalmente inviato da fantasygdr
    Ti permette di registrarti. Inserisci un nickname e altre cose tra cui la casella mail.
    Poi ti invia una mail con la password da usare...
    Devo postare il codice?
    si posta il codice

  5. #5
    Guest

    Predefinito

    Eccolo:

    Codice:
    <?
    /*#################################################
    Città virtuale GPL                                #
                                                      #
    Non rimuovere questo commento, grazie.            #
                                                      #
    Programmatore: (Traimo) Vladimir Inconis          #
    E-mail: traimo at weaponmaster dot org            #
    E-mail: traimo at laforzaoscura dot com           #
                                                      #
    Programmatore: (Prospero) Luca                    #
    E-mail: prosperocolonna_lot at hotmail dot com    #
                                                      #
    http://www.weaponmaster.org                       #
    http://www.laforzaoscura.com                      #
    http://www.steamcity.laforzaoscura.com            #
    */#################################################
    ?>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>Citt&agrave; virtuale GPL</title>
    <link rel="stylesheet" href="stile.css" type="text/css">
    </head>
    
    <body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
    <?PHP
    include "connessione.php";
    
    $PRIMA=$_POST['PRIMA'];
    $USERNAME=$_POST['USERNAME'];
    $MAILREG=$_POST['MAILREG'];
    $SESSO=$_POST['SESSO'];
    $RAZZA=$_POST['RAZZA'];
    $URLRAZZA=$_POST['URLRAZZA'];
    
    if ($PRIMA=='TRUE'){
    $USERNAME='';
    $MAILREG='';
    }
    else if ($PRIMA=='FALSE'){
     
    //LANCIO LA QUERY PER VERIFICARE L'ESISTENZA DELL'UTENTE 
    $sqlver = "SELECT * FROM USERS WHERE USERNAME = '$USERNAME'";
    $queryver = @mysql_query ($sqlver, $connessione) or die(mysql_error());
    $num_user = mysql_num_rows($queryver);
    
    //SE NON ESISTE PROCEDO CON LA VERIFICA DEI DATI E LA CREAZIONE
    if ($num_user == "0") {
    
    echo "<form name='formOK' method='post' action='login.php'>";
    echo "</form>";
    
    echo "<script language='Javascript'>";
    
    if (eregi("^[a-z]",$USERNAME)) {
    if (eregi("^[a-z0-9][_\.a-z0-9-]+@([a-z0-9][0-9a-z-]+\.)+([a-z]{2,4})",$MAILREG)){
    
    //Inserimento dati in DB
    
    /*GESTIONE SIMBOLO SESSO*/
    if ($SESSO=='Maschio')   $URLSESSO='http://fantasygdr.altervista.org/grafica/mas.gif';
    if ($SESSO=='Femmina')   $URLSESSO='http://fantasygdr.altervista.org/grafica/fem.gif';
    
    /*GESTIONE SIMBOLO RAZZA*/
    if ($RAZZA=='Umano')   $URLRAZZA='http://fantasygdr.altervista.org/grafica/umano.gif';
    if ($RAZZA=='Razza1')   $URLRAZZA='http://fantasygdr.altervista.org/razza1.gif';
    
    /*GESTIONE VARIABILI INIZIALI*/
    $URLAVATAR='http://fantasygdr.altervista.org/grafica/init.gif';
    $CORPORAZIONE_TIPO='1';
    $STATO_TIPO='1';
    $FUNZIONE_TIPO='3';
    
    /*ASSEGNAZIONE STATISTICHE*/
    $FORZA = mt_rand(3,20);
    $INTELLIGENZA = mt_rand(3,20);
    
    /*GESTIONE E CREAZIONE PASSWORD*/
    function randomPassword () {
            $length ="8";
            $possible = '23456789' . 
    	            'abcdefghijkmnpqrstuvwxyz' .
    		    'ABCDEFGHJKLMNPQRSTUVWXYZ';
            $str ="";
            while (strlen($str) < $length) {
    		$str.=substr($possible, (rand() % strlen($possible)),1);
       }
             return($str);
    }
    $PASS=randomPassword();
    
    /*GESTIONE DATA DI REGISTRAZIONE*/
    // setto data e ora in base alla linga locale
    setlocale (LC_TIME,"it_IT");
    // metto data e ora in un array
    $DATA1 = time();
    
    $date_time_array = getdate($DATA1);
    
    $hours = $date_time_array['hours'];
    $minutes = $date_time_array['minutes'];
    $seconds = $date_time_array['seconds'];
    $month = $date_time_array['mon'];
    $day = $date_time_array['mday'];
    $year = $date_time_array['year'];
    
    $DATA1 = mktime($hours,$minutes,$seconds,$month,$day,$year);
    //echo strftime('%H : %M - %A %d %B %Y',$DATA_PROBLEMA);
    //fine formattazione data
    $DATAREG = strftime('%H : %M - %d/%m/%y',$DATA1);
    
    $USERNAME = str_replace("'", "&#0039;", $USERNAME);
    
    $sql = "INSERT INTO USERS
           ( CORPORAZIONE_TIPO,    STATO_TIPO, FUNZIONE_TIPO,   USERNAME,   PASS,   MAILREG,   URLAVATAR,   SESSO,   URLSESSO, RAZZA, URLRAZZA,  DENARO, ESPERIENZA, SALUTE,  FORZA,   INTELLIGENZA,   BROWSER,                    DATAREG,   REGIP)
    VALUES ('$CORPORAZIONE_TIPO','$STATO_TIPO','$FUNZIONE_TIPO','$USERNAME','$PASS','$MAILREG','$URLAVATAR','$SESSO','$URLSESSO','$RAZZA','$URLRAZZA', '50', '0',        '100',  '$FORZA','$INTELLIGENZA','$_SERVER[HTTP_USER_AGENT]','$DATAREG','$_SERVER[REMOTE_ADDR]')";
    $query = @mysql_query ($sql, $connessione) or die(mysql_error());
    
    /*INVIO MAIL CON I DATI DI REGISTRAZIONE*/
    $sender_name = "STAFF - Città virtuale GPL";
    $sender_email = "fantasygdr@localhost";
    $dati_accesso = "Dati di accesso di Città virtuale GPL";
    $msg = "Da:\t$sender_name\n";
    $msg .= "\n";	
    $msg .= "E-mail:\t$sender_email\n";
    $msg .= "\n";	
    $msg .= "Oggetto:\t$dati_accesso\n";
    $msg .= "\n";	
    $msg .= "\n";	
    $msg .= "Username:\t$USERNAME\n";
    $msg .= "\n";	
    $msg .= "Password:\t$PASS\n\n"; 
    $msg .= "\n";
    $msg .= "Ti ricodiamo la pagina di accesso a Città virtuale GPL: http://fantasygdr.altervista.org\n";
    $msg .= "\n";	
    $mailheaders = "Form inviato dal servizio registrazione utenti di Città virtuale GPL\n";
    $mailheaders .= "Rispondi a: $sender_email\n\n";
    mail($MAILREG, "Form inviato dal servizio registrazione utenti di Città virtuale GPL", $msg, $mailheaders);
    
    echo "document.formOK.submit();";
    echo "alert ('Operazione eseguita correttamente.')";
    }else{ echo "alert ('E-mail non valida.')";}
    }else{ echo "alert ('Nickname non valido.')";}
    echo "</script>";
    }
    
    else if ($num_user == "1"){
    echo "<form name='formESISTE' method='post' action='registra_utente.php'>";
    echo "</form>";
    echo "<script language='Javascript'>";
    echo "alert ('Nickname già presente del database! Provare con un altro nickname.');";
    echo "document.formESISTE.submit();";
    echo "</script>";
    }
    }
    
    @mysql_close ($connessione);
    ?>
    <table width="100%" border="0" cellspacing="0" cellpadding="5" align="center">
      <tr>
        <td height="50" align="center" class="RedTIT">SPAZIO RISERVATO AL BANNER</td>
      </tr>
      <tr>
        <td height="50" align="center" class="RedTIT">.: Nuovo giocatore :.</td>
      </tr>
      <form name="form1" method="post" action="registra_utente.php">
        <tr>
          <td height="50" align="center"><table width="550" border="0" cellspacing="0" cellpadding="1" bgcolor="000000">
              <tr>
                <td><table border="0" width="570" cellspacing="0" bordercolorlight="#01273F" cellpadding="5" bgcolor="#ffffff">
                    <tr>
                      <td width="275" height="20" class="RedB">Nome del PG (nickname):</td>
                      <td width="275" height="20"><input name="USERNAME" type="text" class="textfieldBASE" id="USERNAME" value="<?=$USERNAME?>" size="20" maxlength="20">
                      </td>
                    </tr>
                    <tr>
                      <td height="20" class="RedB">Sesso:</td>
                      <td height="20">
    				    <select name="SESSO" class="textfieldBASE" id="SESSO">
                        <option value="Maschio" selected>Maschio</option>
                        <option value="Femmina">Femmina</option>
                        </select>
    				  </td>
                    </tr>
    <tr>
                      <td height="20" class="RedB">Razza:</td>
                      <td height="20">
    				    <select name="RAZZA" class="textfieldBASE" id="RAZZA">
                        <option value="Umano" selected>Umano</option>
                        <option value="Razza1">Razza1</option>
                        </select>
    				  </td>
                    </tr>
                    <tr>
                      <td height="20" class="RedB">E-mail:</td>
                      <td height="20"><input name="MAILREG" type="text" class="textfieldBASE" id="MAILREG" value="<?=$MAILREG?>" size="20" maxlength="255">
                      </td>
                    </tr>
                    <tr>
                      <td height="20" colspan="2" align="center" class="RedB">
    				  <input name="PRIMA" type="hidden" id="PRIMA" value="FALSE">
                      <input type="submit" value="Registra" class="textfieldBASE" name="submit"></td>
                    </tr>
                </table></td>
              </tr>
          </table></td>
        </tr>
      </form>
      <tr>
        <td height="50" align="center" valign="middle"><a href="login.php" class="standard">Torna alla pagina di login</a> </td>
      </tr>
    </table>
    </body>
    </html>

  6. #6
    Guest

    Predefinito

    $sql = "INSERT INTO USERS VALUES ('$CORPORAZIONE_TIPO','$STATO_TIPO','$FUNZIONE_TIP O','$USERNAME','$PASS','$MAILREG','$URLAVATAR','$S ESSO','$URLSESSO','$RAZZA','$URLRAZZA', '50', '0', '100', '$FORZA','$INTELLIGENZA','$_SERVER[HTTP_USER_AGENT]','$DATAREG','$_SERVER[REMOTE_ADDR]')";
    $query = @mysql_query ($sql, $connessione) or die(mysql_error());


    l'inserimento è questo. puoi postare il codice della tabella users mi dovresti dire i campi quali sono
    e poi modifica la stringa

    $query = @mysql_query ($sql, $connessione) or die(mysql_error());
    in
    $query = mysql_query ($sql, $connessione) or die(mysql_error());

    anche se il problema non dovrebbe essere quello
    e poi fai anche echo $query; insomma trasforma il codice da così

    $sql = "INSERT INTO USERS
    ( CORPORAZIONE_TIPO, STATO_TIPO, FUNZIONE_TIPO, USERNAME, PASS, MAILREG, URLAVATAR, SESSO, URLSESSO, RAZZA, URLRAZZA, DENARO, ESPERIENZA, SALUTE, FORZA, INTELLIGENZA, BROWSER, DATAREG, REGIP)
    VALUES ('$CORPORAZIONE_TIPO','$STATO_TIPO','$FUNZIONE_TIP O','$USERNAME','$PASS','$MAILREG','$URLAVATAR','$S ESSO','$URLSESSO','$RAZZA','$URLRAZZA', '50', '0', '100', '$FORZA','$INTELLIGENZA','$_SERVER[HTTP_USER_AGENT]','$DATAREG','$_SERVER[REMOTE_ADDR]')";
    $query = @mysql_query ($sql, $connessione) or die(mysql_error());

    a così
    $sql = "INSERT INTO USERS
    ( CORPORAZIONE_TIPO, STATO_TIPO, FUNZIONE_TIPO, USERNAME, PASS, MAILREG, URLAVATAR, SESSO, URLSESSO, RAZZA, URLRAZZA, DENARO, ESPERIENZA, SALUTE, FORZA, INTELLIGENZA, BROWSER, DATAREG, REGIP)
    VALUES ('$CORPORAZIONE_TIPO','$STATO_TIPO','$FUNZIONE_TIP O','$USERNAME','$PASS','$MAILREG','$URLAVATAR','$S ESSO','$URLSESSO','$RAZZA','$URLRAZZA', '50', '0', '100', '$FORZA','$INTELLIGENZA','$_SERVER[HTTP_USER_AGENT]','$DATAREG','$_SERVER[REMOTE_ADDR]')";
    $query = mysql_query ($sql, $connessione) or die(mysql_error());
    die( "Query: $query" );

    e facci sapere cosa ti dice

  7. #7
    Guest

    Predefinito

    Ho sostituito come hai detto tu e mi si apre ancora la finestrella con la scritta "Il nickname non esiste!"

    La tabella user ha questo codice:
    Codice:
    # phpMyAdmin SQL Dump
    # version 2.5.3
    # http://www.phpmyadmin.net
    #
    # Host: localhost
    # Generato il: 20 Mag, 2004 at 11:30 AM
    # Versione MySQL: 3.23.49
    # Versione PHP: 4.3.3
    # 
    # Database : `lezioni`
    # 
    
    # --------------------------------------------------------
    
    #
    # Struttura della tabella `utenti`
    #
    
    DROP TABLE IF EXISTS `utenti`;
    CREATE TABLE `utenti` (
      `id_nickname` int(11) NOT NULL auto_increment,
      `nickname` varchar(15) NOT NULL default '',
      `password` varchar(15) NOT NULL default '',
      `email` varchar(255) NOT NULL default '',
      `razza` varchar(255) NOT NULL default '',
      `sesso` varchar(15) NOT NULL default '',
      `forza` int(3) NOT NULL default '0',
      `mente` int(3) NOT NULL default '0',
      PRIMARY KEY  (`id_nickname`)
    ) TYPE=MyISAM AUTO_INCREMENT=1 ;
    
    #
    # Dump dei dati per la tabella `utenti`
    #
    Però io questo codice l'ho scaricato già fatto...è per questo che non capisco bene dove siano gli errori...


    EDIT: Ho dovuto ricambiare il codice che mi avevi fatto cambiare, altrimenti non funzionava la registrazione...



    FunCool: Non fare UP, usa il tasto Edita.
    Ultima modifica di funcool : 17-10-2006 alle ore 18.29.04

Regole di scrittura

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