inlog script notice

Pagina: 1
Acties:
  • 28 views sinds 30-01-2008

  • peter007
  • Registratie: Juni 2004
  • Laatst online: 09-08-2023
hallo,

ik ben een beginner met php, en zit een aantal boeken door te werken.
uiteraad leer je dan als eerste om een simpel inlog scriptje te maken. nou heb ik het helemaal
volgens het boek gedaan, maar toch krijg ik een notice melding.

ik begrijp echter niet wat er nou fout aan het script kan zijn.

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
<?php 


//vul naam en wachtwoord hieronder in. 
$name = "admin"; 
$pass = "adm1n"; 

//De pagina die moet worden weergegeven na het inloggen. 
$pagina = "admin.php"; 

//verander het $value niet! 
$value = 'true' ; 

//testen of de ingevoerde gebruikersnaam en wachtwoord kloppen 
if ($_POST['name'] == "$name" AND $_POST['pass'] == "$pass" ) 
{ 
//als de gegvens kloppen een cookie aanmaken en naar de beveiligde pagina gaan. 
setcookie("Login", $value, time()+3600);  /* de cookie verloopt in 1 uur */ 

echo "<SCRIPT LANGUAGE='javascript' TYPE='text/javascript'>window.location='$pagina'</SCRIPT>"; 

} 

if ($_POST['name'] !== "$name" AND $_POST['pass'] !== "$pass" ) 
{ 
setcookie ("Login", "", time() - 3600); 
print ("login first or try again")  ; 
} 


 ?> 
<html> 
<head> 
  <meta http-equiv="content-type" 
content="text/html; charset=ISO-8859-1"> 
  <title>Login Script voorbeeld</title> 

  </head> 
  <body> 
<center><form method="post" action="index.php"> 
   <table> 
    <tr> 
     <td>Name:</td><td><input type="text" name="name"></td> 
    </tr> 
    <tr> 
     <td>Password:</td><td><input type="password" name="pass"></td> 
     </tr> 
     <tr> 
     <tr> 
     <td></td><td><input type="submit" value="Login"></td> 
    </tr> 
   </table> 
   </form> 

</center> 
</body> 
</html> 


dit is het script, en dan krijg ik deze foutmeldingen:

Notice: Undefined index: name in c:\program files\easyphp1-7\www\index.php on line 15

Notice: Undefined index: name in c:\program files\easyphp1-7\www\index.php on line 24

Notice: Undefined index: pass in c:\program files\easyphp1-7\www\index.php on line 24
login first or try again

kunnen jullie zien, wat er niet klopt aan dit script, want ik begin te geloven, dat mijn boeken niet helemaal kloppen.

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

Gebruik dit:
PHP:
15
if (isset($_POST['name'], $_POST['pass']) AND $_POST['name'] == "$name" AND $_POST['pass'] == "$pass" )

in plaats van jouw regel 15 en gebruik hetzelfde systeem voor de andere foute regels. :)

Verder is dit gewoon terug te vinden in de manual. Als deze code trouwens uit een boek komt, gooi dat boek dan maar gauw weg, want dit is geen mooie code. En waarom zetten ze variabelen tussen quotes? :X ("$name") Dat is dus ook nergens voor nodig. :)

Ik heb je er gister trouwens ook al op gewezen dat dit niet de bedoeling is hier in Programming & Webscripting. Je dumpt een lap code, zegt wat de foutmeldingen zijn, en verwacht dan dat wij het voor je oplossen. We willen hier eigen inzet zien, en vooral ook wat je al gevonden en geprobeerd hebt, en wat daar niet aan werkte. Ik zie totaal geen eigen inzet in je post terug, en daarom doe ik je topic op slot. :)

Lees ook *** Over topictitels in P&W - lezen voor topic openen!!! *** even door, want dit is ook al het tweede topic van je in twee dagen tijd met een brakke topictitel. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • Schonhose
  • Registratie: April 2000
  • Laatst online: 21-04 08:52

Schonhose

Retro Icoon

-NMe- schreef op donderdag 09 juni 2005 @ 14:03:
En waarom zetten ze variabelen tussen quotes? :X ("$name") Dat is dus ook nergens voor nodig. :)
De correcte code derhalve is:
PHP:
15
if (isset($_POST['name'], $_POST['pass']) AND $_POST['name'] == $name AND $_POST['pass'] == $pass )


-NMe: prutser....

"The thing under my bed waiting to grab my ankle isn't real. I know that, and I also know that if I'm careful to keep my foot under the covers, it will never be able to grab my ankle." - Stephen King
Quinta: 3 januari 2005


  • LuNaTiC
  • Registratie: Februari 2000
  • Niet online

LuNaTiC

Olijke schavuit

O-)

My own opinion is enough for me, and I claim the right to have it defended against any consensus, any majority, anywhere, any place, any time. And anyone who disagrees with this can pick a number, get in line, and kiss my ass. - Christopher Hitchens


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

* NMe schopt Schonhose omdat hij LuNaTiC misbruikt voor zijn evil gloating. :( :P

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Dit topic is gesloten.