19. september 2003 - 14:30
Der er
13 kommentarer og 2 løsninger
undefined varible notice?
Notice: Undefined variable: username in php on line 7 Notice: Undefined variable: password in php on line 7 Line 7: $query = "select * from P_admin where username='$username' and password='$password'"; hvordan kan jeg ændre det?
Annonceindlæg fra Admin By Request
19. september 2003 - 14:32
#1
du har formentlig ikke givet dem nogen værdi tidligere... Det vil være mit umiddelbare bud...
19. september 2003 - 14:34
#2
<?php include "connect.php"; if (isset($_POST['submit'])) { $query = "select * from P_admin where username='$username' and password='$password'"; $result = mysql_query($query) ; $isAuth = false; //set to false originally while($row = mysql_fetch_array($result)) { if($row['username'] === $username) { $isAuth = true; session_start(); $_SESSION['username']=$username; } } if($isAuth) { print "logged in successfully<br><br>"; print "<A href='index.php'>Go to Admin Panel</a>"; } else { print "Wrong username or password"; } } ?> Der kan du se hele scriptet hvad kan jeg ændre det til?
19. september 2003 - 14:35
#3
Og jeg har oprettet en bruger og password i min mySQL database :)
19. september 2003 - 14:36
#4
Og dette er min form: { print "You are not logged in as Administrator, please log in."; print "<form method='POST' action='authenticate.php'>"; print "Type Username Here: <input type='text' name='username' size='15'><br>"; print "Type Password Here: <input type='password' name='password' size='15'><br>"; print "<input type='submit' value='submit' name='submit'>"; print "</form>"; }
19. september 2003 - 14:41
#5
fordi du 1) kører med register_globals = off 2) kører med error_reporting = E_ALL og det er godt - nu skal du bare lære at kode efter det: du skal sådan set bare indsætte $username = $_POST['username']; $password = $_POST['password']; efter din if(isset()){ Morten
19. september 2003 - 14:42
#6
Jeg er ikke helt skarp i forms endnu.. Men du indtaster username og password i to tekstbokse. Jeg vil tror du også skal bruge _POST[] for at hive disse to ud. Så det hele bliver: <?php include "connect.php"; if (isset($_POST['submit'])) { $query = "select * from P_admin where username='{$_POST['username']}' and password='{$_POST['password']}'"; $result = mysql_query($query) ; $isAuth = false; //set to false originally while($row = mysql_fetch_array($result)) { if($row['username'] === $username) { $isAuth = true; session_start(); $_SESSION['username']=$username; } } if($isAuth) { print "logged in successfully<br><br>"; print "<A href='index.php'>Go to Admin Panel</a>"; } else { print "Wrong username or password"; } } Prøv lige det.
19. september 2003 - 14:55
#7
anhansen => mit foreslag er bedre - du mangler nemli stadig at indsætte $_POST[...] istedet for de 2 sidste $username ;) Morten
19. september 2003 - 15:14
#8
Enig... jeg ærgrede mig også da jeg kom tilbage og siden opdaterede... ;-) Men ideen er vel den samme... Dit er mere overskueligt, og det skal man jo ikke kimse af...
19. september 2003 - 15:31
#9
if (isset($username = $_POST['username']; $password = $_POST['password'];)){ eller hvad?? så siger den Parse error: parse error, unexpected '=', expecting ',' or ')' in .php on line 5
19. september 2003 - 15:35
#10
ok jeg har fundet ud af det, nøj hvor er jeg dum, :), nu har jeg bare lige et problem tilbage, hvorfor siger den forkert username and password??
19. september 2003 - 15:37
#11
det må være denne linie som den tjekker der laver noget forkert: session_start(); if (isset($_SESSION['username'])) { eller hvad?
19. september 2003 - 15:40
#12
fordi jeg skriver det rigtige brugernavn og adgangskode......
19. september 2003 - 15:50
#13
hehe, jeg har lige fundet ud af det også, man kunne åbenbart ikke burge tal i sin kode :)
19. september 2003 - 15:51
#14
Har delt point ud til begge 10 til dea, du kom med den mest overskuelige, men anhansen kom jo også med ;) Håber det er ok for begge
19. september 2003 - 16:11
#15
Det er ok...
Vi tilbyder markedets bedste kurser inden for webudvikling