Jeg har lavet et login på min webside, som fungerer, men jeg vil også gerne have lavet en fejlmeddelse, hvis man taster forkert logind. Nedenfor har jeg den kode, der logger ind og i det næste script, har jeg en fejlmeddelelse, men den kommer frem når der IKKE bliver intastet noget i felterne. Jeg vil kun have den frem, når der bliver tastet forkert.
De to scrips står på samme php-side, så jeg tror kun, det er nødvendigt, at der står session_start et sted (det andet giver også en fejl - prøvede det lige for en sikkerhedsskyld)
Ja, jeg kan egentlig godt forstå, det kan virke lidt forvirrende :o) Det jeg kalder Webside for logind/forsidelogind.php er den side, jeg videresender folk til, når de har tastet det rigtige kodeord. Så den del af det virker som det skal.
Problemet er at skrive en fejlmeddelse, hvis brugeren taster et forkert logind navn ind.
Forresten angående din klasse; hvorfor har du ikke også en setpassword()-funktion som virker på samme måde som setname() - det ville gøre din klasse mere veldefineret og du ville kunne forsimple kaldet til validpassword():
if (isset($_POST['username']) && strlen($_POST['username']) > 0 && isset($_POST['password']) && strlen($_POST['password']) > 0) { $prospect = new Users; $prospect->setname($_POST['username']); $prospect->setpassword($_POST['password']);
if ($prospect->find() && $prospect->fetch() && $prospect->validpassword()) { $_SESSION['users'] = $prospect->getid(); header("Location:Webside for logind "); exit; } else { echo "<p class=style2><b>Der er angivet forkert login </b></p>"; } }
Tak for gode idéer til hvordan jeg løser problemet. Jeg har tidligere prøvet det med "else", men det virkede ikke helt efter hensigten, fordi jeg vil have vist fejlmeddelelsen et andet sted på siden end der, hvor jeg havde den første del af kode. Nu har jeg fundet ud af, at jeg bare skulle lade <?php session_start(); require_once("stdlib.php"); ?> stå øverst og rykke resten af koden så viker det.
Også tak for rådet om at gøre min klasse mere veldefineret - det vil jeg lige kigge på.
I stedet for at udskrive den med det samme, kan du jo gemme fejlbeskeden i en variabel indtil at du er nået til det sted hvor at den skal indgå i resten af siden.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.