Avatar billede nicocarlos Nybegynder
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?
Avatar billede anhansen Nybegynder
19. september 2003 - 14:32 #1
du har formentlig ikke givet dem nogen værdi tidligere... Det vil være mit umiddelbare bud...
Avatar billede nicocarlos Nybegynder
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?
Avatar billede nicocarlos Nybegynder
19. september 2003 - 14:35 #3
Og jeg har oprettet en bruger og password i min mySQL database :)
Avatar billede nicocarlos Nybegynder
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>";
  }
Avatar billede fangel Nybegynder
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
Avatar billede anhansen Nybegynder
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.
Avatar billede fangel Nybegynder
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
Avatar billede anhansen Nybegynder
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...
Avatar billede nicocarlos Nybegynder
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
Avatar billede nicocarlos Nybegynder
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??
Avatar billede nicocarlos Nybegynder
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?
Avatar billede nicocarlos Nybegynder
19. september 2003 - 15:40 #12
fordi jeg skriver det rigtige brugernavn og adgangskode......
Avatar billede nicocarlos Nybegynder
19. september 2003 - 15:50 #13
hehe, jeg har lige fundet ud af det også, man kunne åbenbart ikke burge tal i sin kode :)
Avatar billede nicocarlos Nybegynder
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
Avatar billede anhansen Nybegynder
19. september 2003 - 16:11 #15
Det er ok...
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester