Case sensitive mi crea problemi

frenkytribe

Utente Attivo
17 Gen 2013
87
0
0
Ciao a tutti,
in un portale dove eseguo il login non ha importanza se scrivo il mio username con lettere maiuscole o minuscole, il login viene comunque fatto.
Una volta effettuato il login salvo la sessione tramite l'username, per intenderci, se l'autenticazione va a buon fine salvo l'username nella variabile di sessione $_SESSION[valid_user].
Il mio problema, nello specifico, sta nella visualizzazione dei messaggi privati nel sito, in quanto ho deciso di mettere un controllo in modo tale che quel messaggio può essere letto soltanto dal destinatario e non dai furbetti che magari cambiano l'id nel link. Qua quindi nasce il problema, il sistema verifica se combacia la variabile $_SESSION[valid_user] con il campo Destinatario della riga nel database e se sono uguali stampa altrimenti da un messaggio di errore.

Però se un utente x mi scrive un messaggio privato e come nome destinatario mette admin io lo vedo tranquillamente, se invece scrive come destinatario Admin io mi ritrovo il messaggio nella lista dei messaggi ricevuti, ma al momento di aprirlo mi da quel messaggio di errore.

Ad esempio il mio username è Admin e provo a registrare un altro account con username admin il sistema mi dice che è già esistente.

Posto qualche pezzo di codice nella speranza che qualcuno possa aiutarmi.

Questa è la parte della casella dei messaggi ricevuti, dove vedo tutti i messaggi indipendentemente se il mittente ha scritto il mio nome con la 'a' con la 'A'.
PHP:
if(($page=="mypm" && $act=="received") || ($page=="mypm" && $act=="")){
                    ?>
                        <br /><br />
                        <?
                        $q="SELECT * FROM pm WHERE a='$_SESSION[valid_user]' AND dest_del=0 ORDER BY letto ASC , data DESC";
                        $est=mysql_query($q);
                        $num=mysql_num_rows($est);
                        if($num<1){
                            echo "Nessun messaggio ricevuto.";
                        }else{
                            $i=0;
                            ?>
                            <table align="center">
                                <tr>
                                    <td align="center" colspan="4">
                                        Messaggi Ricevuti
                                    </td>
                                </tr>
                                <tr>
                                    <td align="center">
                                        Oggetto
                                    </td>
                                    <td align="center">
                                        Da
                                    </td>
                                    <td align="center">
                                        Data
                                    </td>
                                    <td align="center">
                                        Elimina
                                    </td>
                                </tr>
                            <?
                            while ($i<$num){
                                $pm_id    = mysql_result($est,$i,"id");
                                $da        = mysql_result($est,$i,"da");
                                $a        = mysql_result($est,$i,"a");
                                $oggetto= mysql_result($est,$i,"oggetto");
                                $corpo    = mysql_result($est,$i,"corpo");
                                $data    = mysql_result($est,$i,"data");
                                $data    = strtotime($data);
                                $il        = date('d/m',$data);
                                $alle    = date('H:i',$data);
                                $delcomm="delcomm".$i;
                                ?>
                                                                <tr>
                                    <td>
<? // QUESTO è IL LINK CHE PORTA ALLA PAGINA DI VISUALIZZAZIONE DEL MESSAGGIO ?>
                                        <a href="?page=mypm&act=read&id=<? print($pm_id); ?>" >
                                            <? echo $oggetto; ?>
                                        </a>
                                    </td>
                                    <td align="center" >
                                        <? echo $da; ?>
                                    </td>
                                    <td align="center" >
                                        <? echo "Il ".$il." alle ".$alle; ?>
                                    </td>
                                    <td align="center">
                                        <form style="margin: 0;" method=post action="?page=mypm">
                                            <input style="border:0;" type="image" src="image/del.png" name="<? echo $delcomm; ?>" value="Elimina" onClick="return confirm('Questo messaggio sta per essere cancellato. Confermare?');">
                                        </form>
                                    </td>
                                </tr>
                                                                <?
                                if(($_POST[$delcomm])=="Elimina"){
                                    $q_check_mittente_del="SELECT mitt_del FROM pm WHERE id=$pm_id";
                                    $r_check_mittente_del=mysql_query($q_check_mittente_del);
                                    $check_mittente_del=mysql_result($r_check_mittente_del,0,"mitt_del");
                                    if($check_mittente_del==0){
                                        $set_del="UPDATE pm SET dest_del=1 WHERE id=$pm_id";
                                        mysql_query($set_del);
                                        header("refresh:0;");
                                    }else{
                                        $del="DELETE FROM pm WHERE id=$pm_id ";
                                        mysql_query($del);
                                        header("refresh:0;");
                                    }
                                }
                                $i++;
                            }
                            ?>
                            </table>
                            <?
                        }
                        ?>
                        <br /><br />
                    <?
                    }

E questa è la parte della visualizzazione dove, invece, mi crea problemi il case-sensitive
PHP:
if($page=="mypm" && $act=="read"){
                        $q_msg="SELECT * FROM pm WHERE id=$_GET[id]";
                        $est=mysql_query($q_msg);
                        $num=mysql_num_rows($est);
                        if($num<1){
                            echo "Questo messaggio non esiste oppure &egrave; stato cancellato.";
                        }else{
                            $pm_id    = mysql_result($est,0,"id");
                            $da        = mysql_result($est,0,"da");
                            $a        = mysql_result($est,0,"a");
                            $oggetto= mysql_result($est,0,"oggetto");
                            $corpo    = mysql_result($est,0,"corpo");
                            $data    = mysql_result($est,0,"data");
                            $data    = strtotime($data);
                            $il        = date('d/m',$data);
                            $alle    = date('H:i',$data);
                            $anno    = date('/Y',$data);
                            $letto    = mysql_result($est,0,"letto");
                            if($_SESSION[valid_user]!=$a)
                            echo "Non hai i permessi per visualizzare questa pagina.";
                        else{
                                                                ?>
                                    <center>
                                        <?
                                            echo $corpo;
                                        ?>
                                    </center>
                                <?
                           } 
                       } 
                   }
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
se non ho capito male il problema che poni, secondo me il punto è questo
PHP:
<?php
//....
if($_SESSION[valid_user]!=$a)
//...
?>
prova con
PHP:
<?php
//....
if(strtolower($_SESSION[valid_user])!=strtolower($a))
//...
?>

p.s.
non usare lo short tag <? ma usa <?php
 
Discussioni simili
Autore Titolo Forum Risposte Data
6 Case sensitive in ricerca su db Classic ASP 2
A Autenticazione sicura e Case sensitive Classic ASP 0
L Menù con switch case C/C++ 1
D Ragionamento Switch Case Javascript 1
K [Java] aiuto switch case Java 1
L [PHP] case then e campo non riconosciuto PHP 0
G [Javascript] eseguire test-case Selenium da riga di comando... Javascript 0
L htaccess case insensitive Apache 0
alankanz switch case con explode PHP 1
D passaggio di due vriabili a "case" PHP 3
D case e file_get_contents PHP 19
C Case Milano Vendita Presenta il tuo Sito 0
I creazione di campo in fron case sensiti PHP 1
D Script con switch case e while PHP 2
S Siti web dinamici per case vacanza e tursimo Offerte e Richieste di Lavoro e/o Collaborazione 0
D Select Case non vede le variabili Classic ASP 2
W Problema switch case e $_GET PHP 0
D Aiuto con Select Case Classic ASP 3
B Crea pdf da tabella mysql "ultima riga modificata" MySQL 4
ANDREA20 [PHP] [HTML] crea form di contatto PHP 4
V [WordPress] Come si chiama chi crea siti web senza linguaggi di programmazione? Discussioni Varie 2
I [HTML] Crea link dinamicamente HTML e CSS 4
ANDREA20 [HTML] crea motore di ricerca HTML e CSS 1
B imageme.ga crea immagini di prova random o personalizzate Webdesign e Grafica 1
filippino come si crea Robots.txt SEO e Posizionamento 1
F nl2br di php crea problemi con javascript PHP 7
Ndogni Antonio Gallo server crea nuova pagina html su client PHP 0
I Hide a tempo crea uno strano effetto jQuery 2
Emix Funzione crea barcode e controllo... PHP 12
M Aggiungere un pulsante che crea un file PHP 1
U come si crea questo effetto? Javascript 2
FusionWeb Pixeland - Crea e Stampa la tua T-Shirt personalizzata direttamente Online! Presenta il tuo Sito 2
catellostefano Non crea i cookie PHP 6
T funzione che crea link e lo inserisce nell'input Javascript 1
G Player flash crea problemi alla pagina HTML e CSS 3
V Cerco chi mi crea un sito con data base Offerte e Richieste di Lavoro e/o Collaborazione 6
Z Dreamweaver crea una copia delle immagini Windows e Software 1
C quale piattaforma si crea con forumfree? CMS (Content Management System) 3
C sito che crea sottodomini ala registrazione Domini 3
F Guadagna con un sito automatizzato - Crea il tuo Business Online Guadagnare col Sito 0
D come si crea un sito chat? HTML e CSS 3
F Crea La Sigla Ufficiale Per La Decima Edizione! Flash 0
W come si crea un area riservata HTML e CSS 5
V Come si crea un FORUM???? Discussioni Varie 15
V come si crea un motore di ricerca in un sito? PHP 2
S Daemon tools non crea nessuna unità virtuale Hardware 1
C come si crea un logo per tanti servizi Webdesign e Grafica 6
Raffy non mi crea il guestbook Supporto Mr.Webmaster 1
G GoldPay : Crea aree riservate con 892 Guadagnare col Sito 4
A crea blocchi asp nuke 2.0.4 Classic ASP 0

Discussioni simili