Hjälp med login i PHP?

Elektronik- och mekanikrelaterad mjukvara/litteratur. (T.ex schema-CAD, simulering, böcker, manualer mm. OS-problem hör inte hit!)
Användarvisningsbild
Gorgus
Inlägg: 2020
Blev medlem: 24 april 2006, 22:42:42
Ort: Eskilstuna
Kontakt:

Hjälp med login i PHP?

Inlägg av Gorgus »

Har precis börjat pula med PHP och följer en tutorial för att kunna logga in på min sida.

Får dock ett "Notice: Undefined index: error in /opt/lampp/htdocs/login.php on line 7"

Rad 7 - 9 ser ut så här:

Kod: Markera allt

<?php if($_GET['error'] == '1'): ?>
  <h3 class="error">Username and/or Password are incorrect</h3>
<?php endif ?>
Det är alltså indexet error som inte är definierat. Hur gör jag för att slippa denna "notice"?

Kör Apache/2.2.14 och PHP/5.3.1 under Ubuntu 10.04 LTS
monstrum
Inlägg: 620
Blev medlem: 13 januari 2005, 05:38:32
Ort: Göteborg

Re: Hjälp med login i PHP?

Inlägg av monstrum »

Du kan ju lägga in en koll och se ifall indexet existerar först.

T.ex ha detta framför övrig kod.

Kod: Markera allt

<?php
  if( array_key_exists('error', $_GET) === false ) {
    $_GET['error'] = 0;
  }
?>
Alternativt kolla detta innan du försöker hämta 'error'.
sneaky
Inlägg: 1621
Blev medlem: 22 juni 2009, 18:38:42

Re: Hjälp med login i PHP?

Inlägg av sneaky »

Som alternativ till monstrums kodsnutt så föredrar jag att använda isset(). Motsvarande skulle då bli:

Kod: Markera allt

if(!isset($_GET["error"]){
...
Du kan även styra vilka typer av fel som visas med error_reporting()
Användarvisningsbild
Gorgus
Inlägg: 2020
Blev medlem: 24 april 2006, 22:42:42
Ort: Eskilstuna
Kontakt:

Re: Hjälp med login i PHP?

Inlägg av Gorgus »

Provade bägge lösningarna och de fungerade utan problem. :tumupp:

Tack till er bägge två!
labmaster
Inlägg: 2919
Blev medlem: 5 april 2011, 01:10:25

Re: Hjälp med login i PHP?

Inlägg av labmaster »

Intressant!

Hur sätter du GET variabeln 'error'? Så här spontant utan att veta mera om din kod så verkar din login-mekanism vara enkel att knäcka. Men du kanske inte har så kritiska data att skydda på din hemsida så det gör inte speciellt mycket om någon hackar sig in.
Användarvisningsbild
Klas-Kenny
Inlägg: 11836
Blev medlem: 17 maj 2010, 19:06:14
Ort: Växjö/Alvesta

Re: Hjälp med login i PHP?

Inlägg av Klas-Kenny »

labmaster: Antagligen så har han en separat PHP-fil dit han skickar användaruppgifterna med POST, ifall inte uppgifterna matchar någon rad i databasen så "redirectar" den sidan tillbaka till vadsidanmananvänderförattloggainnuheter/?error=1 Alltså inget om säger att det är lätt att knäcka.
Användarvisningsbild
Gorgus
Inlägg: 2020
Blev medlem: 24 april 2006, 22:42:42
Ort: Eskilstuna
Kontakt:

Re: Hjälp med login i PHP?

Inlägg av Gorgus »

Det är precis som Klas-Kenny säger...
labmaster
Inlägg: 2919
Blev medlem: 5 april 2011, 01:10:25

Re: Hjälp med login i PHP?

Inlägg av labmaster »

Ok Gorgus, jag ville bara i alla enkelhet kolla så du inte missat något eftersom du skrev att du precis har börjat pula med PHP. Det finns många fallgropar man kan råka ut för då man skall fixa en login i PHP.

Lycka till i fortsättningen på din resa med PHP!
Användarvisningsbild
ElectricMan
Inlägg: 4874
Blev medlem: 21 februari 2007, 20:22:48
Skype: ElectricManSwe
Ort: Luleå
Kontakt:

Re: Hjälp med login i PHP?

Inlägg av ElectricMan »

PHP är jävligt grymt, och faktiskt lätt att lära sig också.
Den här serien såg jag när jag började med PHP.

Lycka till! :tumupp:
labmaster
Inlägg: 2919
Blev medlem: 5 april 2011, 01:10:25

Re: Hjälp med login i PHP?

Inlägg av labmaster »

Håller med ElectricMan, jag har skrivit miljontals rader PHP och har hunnit prova på det mesta med detta programspråk. En del funktionalitet kan vara lite komplicerad att använda men det mesta slinker in hyfsat lätt.

Förutom att PHP är relativt lätt att lära sig så går det också väldigt fort att skriva program i detta språk eftersom det är så pass kraftfullt.
bos
Inlägg: 2311
Blev medlem: 24 februari 2007, 23:29:15
Kontakt:

Re: Hjälp med login i PHP?

Inlägg av bos »

PHP är enkelt, men tyvärr väldigt inkonsekvent.
Skriv svar