I början av Januari 2014 låstes Whoa och du kan alltså ej logga in eller skriva något nytt i forumen. Innehåll i forum osv kommer finnas tillgängligt. Läs Mer »

Litet PHP-problem, hjälp sökes!

Hobby & Fritid - Datorer & Teknik

   

2008-02-14 23:53

Litet PHP-problem, hjälp sökes!

Tjena, jag har kodat en liten sida där det går att registrera data i en SQL-databas genom en PHP-webbsida.

På webbsidan kan man också logga in med några av de data man registrerat. Inloggningen sker genom en session, som startar om man skriver in rätt användarnamn och rätt lösenord (detta kollas genom utplockad data från databasen, baserat på vad användaren skriver in för Användarnamn).

Det går alltså inte att logga in om man skriver Rätt användarnamn med Fel lösen, Obefintligt användarnamn med rätt lösen, etc etc, alla möjliga kombinationer, så länge det är felaktig data man försöker logga in med så funkar det inte; MEN:

Problemet är att man kan logga in om båda fälten för inloggningen är tomma (alltså Användarnamn och Lösenord)!

Min IF-sats för inloggningen ser ut såhär:

     Kod:
     if ($losenord == $row && $anvnamn == $row)

Jag anser att själva problemet ligger på just login-sidan och undrar om någon vet vad mer som skall tilläggas för att man Inte skall få köra koden i IF-klammern om man skriver in varken Användarnamn eller Lösenord.

Tack på förhand!

Denna användare har skrivit alla inlägg där användaren har tagits bort från whoa.

2008-02-14 23:56
if($_POST != null && $_POST != null) {

nu när dom inte är null har alltså användaren skrivit in nåt, så då är det bara köra resten av checken.

}
this is for my niggas and my nymphos, non stop bangin like a dilla instrumental

2008-02-15 00:04
Tack så jättemycket för din hjälp, etna P24! Jag kom nästan på mig själv lite eftersom jag hade haft en liknande kodbit i IF-satsen innan jag postade här efter hjälp. Tack för att du tog dig tid, det var till hjälp. Det är verkligen lätt att få hjärnsläpp när man sitter för länge med nåt!
Denna användare har skrivit alla inlägg där användaren har tagits bort från whoa.

2008-02-15 00:12
kör

if !(empty($_POST) || empty($_POST)) {
$user = mysql_real_escape_string($_POST);
$pass = mysql_real_escape_string($_POST);

innan du gör nått annat
cry me a river!
--> thcrew

2008-02-15 00:13
om nu || är OR i php.. :)

if (!(empty($_POST) || empty($_POST)))
kanske du behöver.. annars:

if (!empty($_POST) && !empty($_POST))
cry me a river!
--> thcrew

2008-02-15 00:27
joda , tack! Men jag har redan en IF-sats längst upp i PHPklammern som kollar om nåt är skrivet i dom två fälten, och om inte så kör den igenom hela klammern. :)
Denna användare har skrivit alla inlägg där användaren har tagits bort från whoa.

2008-02-15 00:31
hade du haft det hade du inte haft detta problemet =)

glöm inte mysql_real_escape_string() heller.

cry me a river!
--> thcrew

2008-02-15 00:51
joda , tack! Jag kollade upp mysql_real_escape_string() på php.net och lite sådär, hade faktiskt inte tänkt på att man kan råka ut för en taskig injektion om nån otrevlig får för sig nåt... Tack för den uppväckningen! Stoppade in

    $anvnamn = mysql_real_escape_string($_POST);
    $losenord = mysql_real_escape_string($_POST);

under min IF-sats.
Denna användare har skrivit alla inlägg där användaren har tagits bort från whoa.

2008-02-15 09:08
Johan Sörlin

Den här kan du utgå ifrån:
http://pastie.caboo.se/152588
this is for my niggas and my nymphos, non stop bangin like a dilla instrumental