• User Attivo

    Script PHP che differenzi utenti per sesso

    Salve a tutti...e con piacere che ritorno a scrivere su questo bellissimo forum...
    Vengo subito al mio quesito...
    Vorrei creare uno script in php che in pratica mi differenzi gli utenti maschi dalle ragazze con le seguenti modalità...
    In un ipotetica pagina listaiscritti.php vorrei che fosse possibile agli utenti maschi attribuire al loro nik il colore blu e una piccola minigif di fianko al nik.....e agli utenti donna attribuire al loro nik il colore rosa e attribuire sempre una piccola minigif di fianko al nik...
    Come potrei realizzare la cosa??
    PS non cerco assolutamente script già pronti e fatti...il mio intento e sempre quello di capire...:wink3:

    Grazie a tutti delle eventuali risposte;)


  • User Attivo

    dovresti inserire un nuovo campo nella tabella users del tuo database, chiamiamola genere con valori m o f
    nel file listautenti.php inserisci la query che prelevi anche quel campo e poi dove vuoi che compaia la dicitura del genere richiami la variabile con if else.
    chiaramente il valore lo deve impostare l'utente quindi devi modificare anche il file relativo al pannello di controllo user con un input che inserisca il valore nella tabella users


  • User Attivo

    @supercapocc said:

    dovresti inserire un nuovo campo nella tabella users del tuo database, chiamiamola genere con valori m o f
    nel file listautenti.php inserisci la query che prelevi anche quel campo e poi dove vuoi che compaia la dicitura del genere richiami la variabile con if else.
    chiaramente il valore lo deve impostare l'utente quindi devi modificare anche il file relativo al pannello di controllo user con un input che inserisca il valore nella tabella users

    Praticamente parte diq uello che hai detto l ho già fatto...

    posto i file

    questo e il file relativo all iscrizione in cui sta anche un campo sesso con 2 checkbox nel quale utente al l atto dell iscrizione inserisce se e maschio o femmina

    iscriviti.html
    [PHP]
    <form method="POST" enctype="multipart/form-data" action="iscr.php">
    <table border="0" cellpadding="0" cellspacing="1" align="center">
    <body>
    <p>Scegli il nick da usare nel sito</p>
    <p><input type="text" name="nome" value=""</p>
    <p>Inserisci qui la tua email</p>
    <p><input type="text" name="utenteemail" value="" size="20"</p>
    <p>Inserisci qui sotto una tua descrizione <p>
    <textarea rows="15" name="descrizione" cols="39"></textarea></p>

    <p> </p>

    <p>Sesso</p>
    <p><input name="sesso" type="radio" value="maschio" checked="checked" />
    Maschile</p>
    <p><input name="sesso" type="radio" value="femmina" checked="checked" />
    Femminile</p>
    <p>Inserisci la tua password</p>
    <p><input type="password" name="password" value="" </p><p>
    <input type="hidden" name="MAX_FILE_SIZE" value="3000000000">
    Invia una tua foto: <input name="userfile" type="file">
    <p><p><input type="submit" value="Registrati" </p>
    <p><input type="reset" value="Cancella tutto" </p>
    </form>
    </div>
    </body>
    </html>
    </body>
    </html>
    [/PHP]

    quest altro e il file che elabora e scrive nel database
    [PHP]
    <?php
    //connessione al database con valori ovviamente non veri
    // Includo la connessione al database
    require('config.php');
    //recupero i valori dal form iscriviti
    $cnome = $_POST['nome'];
    $cutenteemail = $_POST['utenteemail'];
    $csesso = $_POST['sesso'];
    $cpassword = $_POST['password'];
    $cdescrizione = $_POST['descrizione'];

    {

    // Query per l'inserimento dell'utente nel database
    $link = mysql_connect("$db_host", "$db_database", "$db_username", "$db_password") or die("Errore connessione: ". mysql_error());
    mysql_select_db('my_italiawebchat') or die("Errore apertura database: " . mysql_error());

    $strsql="INSERT INTO iscritti (nome,utenteemail,sesso,password,descrizione) VALUES ('$cnome','$cutenteemail','$csesso','$cpassword','$cdescrizione')";
    @mysql_query("$strsql",$link) or die("Errore query database: " . mysql_error());
    print "Grazie per esserti iscritto"; // Reindirizzo l'utente ad una pagina di conferma della registrazione
    header('Location: login.htm');
    exit;
    //Se l'operazione è andata a buon fine...
    print "Benvenuto";

    }

    } 
    

    ?>
    [/PHP]
    Come vedi ho già fatto in parte quello che dici
    cioè recuperare la scelta dell utente che fa all inserimento dei dati nella pagina iscriviti.html e trascriverla nel campo "sesso" della mia tabella iscritti.

    ora il problema e che non so su una successiva pagina come dividere l gli uni dagli altri...:x


  • User Attivo

    Come dividere gli uni dagli altri? Spiegati meglio 😉

    nb... Quando metti delle variabili $var con php, è sempre consigliato di metterle fuori dagli apici 😉

    :gthi:


  • User Attivo

    Praticamente...il problema è questo... io tengo già una pagina listaiscritti,cioè questa

    [PHP]

    <?
    //Apro la sessione e...
    session_start();
    // opto quindi per la visualizzazione ai solo iscritti
    if($_SESSION['logged']==1){
    //se si...
    ?>
    <html>
    <head>
    <body>
    <table width="400" border="1" cellspacing="0" cellpadding="1" align="center">
    <tr>
    <td colspan="4">
    <div align="center"><font color="#0000FF"><b>Lista iscritti</b></font></div>
    </td>
    </tr>
    <tr>
    <td>
    <div align="center"><b>UTENTE</b></div>
    </td>

    <?
    //mi connetto al datase
    $link = mysql_connect("$db_host", "$db_database", "$db_username", "$db_password") or die("Errore connessione: ". mysql_error());
    //seleziono il database
    mysql_select_db('my_italiawebchat') or die("Errore apertura database: " . mysql_error());
    //seleziono solo il campo nome dalla tabella iscritti
    $strsql="SELECT nome FROM iscritti";

    $rs=@mysql_query("$strsql",$link) or die("Errore query database: " . mysql_error());
    //faccio un ciclo while
    while ($riga = mysql_fetch_array($rs)) {
    $str_nome = $riga['nome'];

    echo "<tr><td><a href="inviamessaggio.php?destinatario=".$str_nome."">".$str_nome."</a></td><td>";
    }//qui chiudi il while
    }//qui chiudi l'IF
    else {
    //altrimenti...
    echo "Non sei loggato...";
    //annullo tutte le chiavi di sessioni se esistono
    session_unset();
    session_destroy();
    header("Location: login.htm");
    }
    ?>

    [/PHP]
    Con questo script riesco a mostrare video tutti i nomi degli iscritti al sito e di poter mandare loro dei mess privati....
    Ora io volevo modificarlo cosi'...
    Separare gli iscritti maschi da uqelli donna con le seguenti caratteristiche..
    Il nome degli iscritti maschi dovrebbe uscire in blu con una piccola minigif di fianco,mentre il nome degli iscritti donne dovrebbe uscire in rosa sempre con un piccola minigif di fianco...però diversa da quella usata pre gliiscritti maschi...questo e il tutto...:)


  • ModSenior

    [php]<?
    //Apro la sessione e...
    session_start();
    // opto quindi per la visualizzazione ai solo iscritti
    if($_SESSION['logged']==1){
    //se si...
    ?>
    <html>
    <head>
    <body>
    <table width="400" border="1" cellspacing="0" cellpadding="1" align="center">
    <tr>
    <td colspan="4">
    <div align="center"><font color="#0000FF"><b>Lista iscritti</b></font></div>
    </td>
    </tr>
    <tr>
    <td>
    <div align="center"><b>UTENTE</b></div>
    </td>

    <?
    //mi connetto al datase
    $link = mysql_connect("$db_host", "$db_database", "$db_username", "$db_password") or die("Errore connessione: ". mysql_error());
    //seleziono il database
    mysql_select_db('my_italiawebchat') or die("Errore apertura database: " . mysql_error());
    //seleziono solo il campo nome dalla tabella iscritti
    $strsql="SELECT nome FROM iscritti";

    $rs=@mysql_query("$strsql",$link) or die("Errore query database: " . mysql_error());
    //faccio un ciclo while
    while ($riga = mysql_fetch_array($rs)) {
    $str_nome = $riga['nome'];

    // M/F
    if($riga['sesso'] == 'm')
    echo "<tr><td><a href="inviamessaggio.php?destinatario=".$str_nome.""><font color="#0000FF">".$str_nome."</font></a></td><td>";
    else
    echo "<tr><td><a href="inviamessaggio.php?destinatario=".$str_nome.""><font color="#FF00FF">".$str_nome."</font></a></td><td>";
    }//qui chiudi il while
    }//qui chiudi l'IF
    else {
    //altrimenti...
    echo "Non sei loggato...";
    //annullo tutte le chiavi di sessioni se esistono
    session_unset();
    session_destroy();
    header("Location: login.htm");
    }
    ?>
    [/php]


  • User Attivo

    @Thedarkita said:

    [php]<?
    //Apro la sessione e...
    session_start();
    // opto quindi per la visualizzazione ai solo iscritti
    if($_SESSION['logged']==1){
    //se si...
    ?>
    <html>
    <head>
    <body>
    <table width="400" border="1" cellspacing="0" cellpadding="1" align="center">
    <tr>
    <td colspan="4">
    <div align="center"><font color="#0000FF"><b>Lista iscritti</b></font></div>
    </td>
    </tr>
    <tr>
    <td>
    <div align="center"><b>UTENTE</b></div>
    </td>

    <?
    //mi connetto al datase
    $link = mysql_connect("$db_host", "$db_database", "$db_username", "$db_password") or die("Errore connessione: ". mysql_error());
    //seleziono il database
    mysql_select_db('my_italiawebchat') or die("Errore apertura database: " . mysql_error());
    //seleziono solo il campo nome dalla tabella iscritti
    $strsql="SELECT nome FROM iscritti";

    $rs=@mysql_query("$strsql",$link) or die("Errore query database: " . mysql_error());
    //faccio un ciclo while
    while ($riga = mysql_fetch_array($rs)) {
    $str_nome = $riga['nome'];

    // M/F
    if($riga['sesso'] == 'm')
    echo "<tr><td><a href="inviamessaggio.php?destinatario=".$str_nome.""><font color="#0000FF">".$str_nome."</font></a></td><td>";
    else
    echo "<tr><td><a href="inviamessaggio.php?destinatario=".$str_nome.""><font color="#FF00FF">".$str_nome."</font></a></td><td>";
    }//qui chiudi il while
    }//qui chiudi l'IF
    else {
    //altrimenti...
    echo "Non sei loggato...";
    //annullo tutte le chiavi di sessioni se esistono
    session_unset();
    session_destroy();
    header("Location: login.htm");
    }
    ?>
    [/php]
    Grazie thedarkita..:)

    Cmq c'è un problemino...i nik di colore rimangono tutti rosa...anche quelli maschili...:x


  • ModSenior

    $strsql="SELECT nome,sesso FROM iscritti";


  • User Attivo

    Ok...:)
    ora va e ho aggiunto anche le due gif che differenzino gli utenti maschi da quelli donna.....ecco lo script completo
    [PHP]

    <?
    //Apro la sessione e...
    session_start();
    // opto quindi per la visualizzazione ai solo iscritti
    if($_SESSION['logged']==1){
    //se si...
    ?>
    <html>
    <head>
    <body>
    <table width="400" border="1" cellspacing="0" cellpadding="1" align="center">
    <tr>
    <td colspan="4">
    <div align="center"><font color="#0000FF"><b>Lista iscritti</b></font></div>
    </td>
    </tr>
    <tr>
    <td>
    <div align="center"><b>UTENTE</b></div>
    </td>

    <?
    //mi connetto al datase
    $link = mysql_connect("$db_host", "$db_database", "$db_username", "$db_password") or die("Errore connessione: ". mysql_error());
    //seleziono il database
    mysql_select_db('my_italiawebchat') or die("Errore apertura database: " . mysql_error());
    //seleziono solo il campo nome dalla tabella iscritti
    $strsql="SELECT nome,sesso FROM iscritti";

    $rs=@mysql_query("$strsql",$link) or die("Errore query database: " . mysql_error());
    //faccio un ciclo while
    while ($riga = mysql_fetch_array($rs)) {
    $str_nome = $riga['nome'];

    // M/F
    if($riga['sesso'] == 'maschio')
    echo "<tr><td><img border="0" src="uomo.gif" width="30" height="30"><a href="inviamessaggio.php?destinatario=".$str_nome.""><font color="#0099FF">".$str_nome."</font></a></td><td>";
    else
    echo "<tr><td><img border="0" src="donna.gif" width="30" height="30"><a href="inviamessaggio.php?destinatario=".$str_nome.""><font color="#CC99FF">".$str_nome."</font></a></td><td>";
    }//qui chiudi il while
    }//qui chiudi l'IF
    else {
    //altrimenti...
    echo "Non sei loggato...";
    //annullo tutte le chiavi di sessioni se esistono
    session_unset();
    session_destroy();
    header("Location: login.htm");
    }
    ?>

    [/PHP]


  • User Attivo

    Se proprio li vuoi mettere in ordine puoi fare così:

    [php]
    <?
    //Apro la sessione e...
    session_start();
    // opto quindi per la visualizzazione ai solo iscritti
    if($_SESSION['logged']==1){
    //se si...
    ?>
    <html>
    <head>
    <body>
    <table width="400" border="1" cellspacing="0" cellpadding="1" align="center">
    <tr>
    <td colspan="4">
    <div align="center"><font color="#0000FF"><b>Lista iscritti</b></font></div>
    </td>
    </tr>
    <tr>
    <td>
    <div align="center"><b>UTENTE</b></div>
    </td>

    <?
    //mi connetto al datase
    $link = mysql_connect($db_host, $db_database, $db_username, $db_password) or die("Errore connessione: ". mysql_error());
    //seleziono il database
    mysql_select_db('my_italiawebchat') or die("Errore apertura database: " . mysql_error());
    //seleziono solo il campo nome dalla tabella iscritti
    $strsql="SELECT nome, sesso FROM iscritti ORDER BY sesso DESC";

    $rs=@mysql_query($strsql, $link) or die("Errore query database: " . mysql_error());
    //faccio un ciclo while
    while ($riga = mysql_fetch_array($rs)) {
    $str_nome = $riga['nome'];

    // M/F
    if($riga['sesso'] == 'maschio') {
    echo "<tr><td><img border="0" src="uomo.gif" width="30" height="30"><a href="inviamessaggio.php?destinatario=".$str_nome.""><font color="#0099FF">".$str_nome."</font></a></td><td>"; }
    else {
    echo "<tr><td><img border="0" src="donna.gif" width="30" height="30"><a href="inviamessaggio.php?destinatario=".$str_nome.""><font color="#CC99FF">".$str_nome."</font></a></td><td>"; }
    }//qui chiudi il while
    }//qui chiudi l'IF
    else {
    //altrimenti...
    echo "Non sei loggato...";
    //annullo tutte le chiavi di sessioni se esistono
    session_unset();
    session_destroy();
    header("Location: login.htm");
    }
    ?> [/php]

    NB: le variabili $var vanno fuori dalle virgolette 😉

    :gthi: