Forum » Server-Side scripting » Berichten niet verwijderen door Uppercase letter.
Regelnasi
Berichten: 1092
avatar
Offline Stuur privebericht
Beste mensen, ik ben bezig met een eigen game, maar ik kom een foutje tegen.

Ik ben geregistreerd als Lancer, en ik ontvang alles prima, maar het verwijderen lukt niet.

Wel als mensen dus een bericht naar mij toe sturen met Lancer, maar lancer pakt hij niet.


Code | Selecteer Alles
minimaliseren
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$id = @$_GET['id'];
        
$to $_SESSION['username'];
                    
$dbres    =    mysql_query("SELECT `to` FROM `messages` WHERE `id`='$id' AND (`to`='{$data->username}')");

if(
$message mysql_fetch_object($dbres)) 
    {
        if(
$message->to == $data->username// Hier zit de fout denk, want to = 'lancer' en mijn username = Lancer.
            
{
                echo 
"<font color='green'>".$lang_letterdeleted."</font> <a href=\"javascript:history.back(-1)\">".$lang_return."</a> "
                
mysql_query("DELETE FROM `messages` WHERE `id`='$id'") or die(mysql_error());
             } 
                else 
            {
                echo 
$lang_deleterror;
            }
    }


Hoop dat iemand mij kan helpen, zodat hij beide letters pakt (upper en lower case letters)
09-10-2010 11:52
Dit topic is 165 keer bekeken door 35 verschillende leden
Reacties op: "Berichten niet verwijderen door Uppercase letter."
1 | 2 Volgende pagina
DICE
Berichten: 160
avatar
Offline Stuur privébericht
Meestal komen dit soort fouten voor als je een hoofdletter in je naam hebt, ik weet ook niet waarom.
09-10-2010 11:55
Regelnasi
Berichten: 1092
avatar
Offline Stuur privébericht
Er zijn al mensen die hebben OmGtYphOon e.d. in hun naam staan.

En als je het antwoord niet weet waarom reageer je dan...
09-10-2010 11:57
nyan nyan nyan nyan
Berichten: 2076
avatar
Offline Stuur privébericht
LIKE (waarde = conditie) proberen? Dus zo:
Code | Selecteer Alles
minimaliseren
1
$dbres    =    mysql_query("SELECT `to` FROM `messages` WHERE `id`='$id' AND (`to` LIKE '" $data->username "')");
09-10-2010 11:58
Regelnasi
Berichten: 1092
avatar
Offline Stuur privébericht
Brief niet verwijderd, er ging wat fout.
09-10-2010 12:00
nyan nyan nyan nyan
Berichten: 2076
avatar
Offline Stuur privébericht
Anders strtolower($message->to) en strtolower($data->username) proberen? Wel lastig dat als je bijv. 2 leden hebt met LidNaam en lidnaam..
09-10-2010 12:02
R. Jipping
Berichten: 1596
avatar
Online Stuur privébericht
Ik heb geen tijd om je bericht door te lezen aangezien ik zo weg ben. maar, waarom stuur je het niet van id, na id? Dan weet je zeker dat je geen problemen hebt?
09-10-2010 12:03
Regelnasi
Berichten: 1092
avatar
Offline Stuur privébericht
Jannick, bedankt!

Ik heb wel wat geprobeerd met strtolower, blijkbaar niet op die plek.

Dit fixte hem!
Dank je wel !
09-10-2010 12:03
Rapifia Europe
Berichten: 3714
avatar
Offline Stuur privébericht
Probeer eens de volgende functies:
ucfirst => Maakt van de eerste letter een hoofdletter
http://nl.php.net/lcfirst => Maakt van de eerste letter een kleine letter
strtolower => Maakt van de hele string kleine letters
strtoupper => Maakt van de hele string grote letters

Zo doe je dus ?f alles in lowercase ?f alles in uppercase etc.

En dan bijv.:
Code | Selecteer Alles
minimaliseren
1
mysql_query("SELECT naam FROM users WHERE naam='".strtolower($_POST['naam'])."'");


En dan voer je in PMA gewoon even een query uit die alle namen in lowercase zet.
Dan kan je dus gewoon RoFl of ROFL of RofL in typen, hij pakt altijd rofl uit de database.

En vergeet niet de register aan te passen, dat alles in lowercase word geïnsert.

Lars
09-10-2010 12:04
Regelnasi
Berichten: 1092
avatar
Offline Stuur privébericht
Ik weet het lars, maar ik wil gewoon dat de gebruikers niet gelimiteerd zijn aan lowercase en uppercase namen, ze moeten een combi kunnen maken zodat hun naam toch wat unieker is.

Ik bedank jou ook lars voor de informatie
09-10-2010 12:07
Vreemd
Berichten: 1246
avatar
Offline Stuur privébericht
Code | Selecteer Alles
minimaliseren
1
$dbres    =    mysql_query("SELECT `to` FROM `messages` WHERE `id`=".intval($id)." AND LOWER(`to`)=LOWER('".$data->username."')");

Dat is natuurlijk ook nog een optie...

Waarom controleer je in PHP en MySQL of de naam klopt?
Alleen in de query is al voldoende...
09-10-2010 12:25
Reageer op: "Berichten niet verwijderen door Uppercase letter."
1 | 2 Volgende pagina
Je kan niet reageren omdat je niet bent ingelogd. Inloggen of Aanmelden