Avatar billede nicocarlos Nybegynder
02. august 2003 - 22:05 Der er 37 kommentarer og
1 løsning

MySQL tabel til php!

Hej! Håber i kan hjælpe..
Jeg har en database kaldet alt-muligt og i den er der en tabel auth som jeg vil hente, hvordan gør jeg det, dette er mit php script indtil videre:

if ($submit) {
   
    $db = mysql_connect("localhost", "username", "password");
    mysql_select_db("auth", $db);
$sql = "
SELECT auth_level
FROM auth
WHERE username = '$username'
AND password = '$password'
";
    $result = mysql_query($sql);
    while ($row = mysql_fetch_array($result)) {
        $auth_level = $row["auth_level"];

Jeg tror mit porblem er at jeg kalder til databasen auth men det er jo en tabel.
Håber at en eller anden kan hjælpe
på forhånd tak
Avatar billede abpdk Nybegynder
02. august 2003 - 22:08 #1
Hvad går galt? Prøv at tilføje "or die mysql_error()" efter hvert mysql-kald.
Avatar billede erikjacobsen Ekspert
02. august 2003 - 22:20 #2
mysql_select_db("alt-muligt", $db);

hvis din database hedder "alt-muligt"
Avatar billede nicocarlos Nybegynder
03. august 2003 - 08:40 #3
Den hedder alt-muligt, men finder den automatisk auth tabellen så eller hvad??
Avatar billede abpdk Nybegynder
03. august 2003 - 11:20 #4
Nej det gør du selv når du skriver "SELECT...FROM auth..."
Avatar billede nicocarlos Nybegynder
03. august 2003 - 16:46 #5
Parse error: parse error, unexpected $end in D:\www\alt-muligt.dk\auth.php on line 94!!

Hvad betyder det?
Avatar billede abpdk Nybegynder
03. august 2003 - 16:54 #6
Hvad står der på linje 94?
Avatar billede nicocarlos Nybegynder
03. august 2003 - 17:09 #7
<form method="POST" action="<?php echo $GLOBALS ['PHP_SELF'];?>">
Name:<input type="text" name="username"><br />
Password: <input type="password" name="password"><br />
<input type="submit" name="submit" value="Login">
</form>
<?php

det er det sidste
Avatar billede nicocarlos Nybegynder
03. august 2003 - 17:39 #8
<?php er linie 94
Avatar billede abpdk Nybegynder
03. august 2003 - 18:03 #9
Hvis koden ikke er ret meget længere, kan du så ikke poste det hele her?
Avatar billede nicocarlos Nybegynder
03. august 2003 - 18:07 #10
<?php



if ($submit) {
   
    $db = mysql_connect("localhost", "username", "password");
    mysql_select_db("alt-muligt", $db);
$sql = "
SELECT auth_level
FROM auth
WHERE username = '$username'
AND password = '$password'
";
    $result = mysql_query($sql);
    while ($row = mysql_fetch_array($result)) {
        $auth_level = $row["auth_level"];
    }

    if (!mysql_num_rows($result)) {
       
        echo "You are not Authorized for access.";

       
    } else {
        setcookie('username', $_POST['username'], (time()+2592000), '/', '', 0);
        setcookie('auth_level', $_POST['auth_level'], (time()+2592000), '/', '', 0);
    }


   
    if ($auth_level == "1") {
       
        echo "You are logged in as a Guest.<br />
<a href='next.php'>Click here for options</a>
";
       
    } elseif ($auth_level == "2") {
       
        echo "You have Member level access.<br />
<a href='next.php'>Click here for options</a>
";
       
    } elseif ($auth_level == "3") {
       
        echo "You have Editor level access.<br />
<a href='next.php'>Click here for options</a>
";
       
    } elseif ($auth_level == "4") {
       
        echo "You have full Administrative access.<br />
<a href='next.php'>Click here for options</a>
";
    }
   

   
   
} else {
   

   
?>

<form method="POST" action="<?php echo $GLOBALS ['PHP_SELF'];?>">
Name:<input type="text" name="username"><br />
Password: <input type="password" name="password"><br />
<input type="submit" name="submit" value="Login">
</form>
<?php
Avatar billede abpdk Nybegynder
03. august 2003 - 18:19 #11
Du kan jo ikke slutte med <?php
Mangler der desuden ikke også nogle <html>-tags?
Avatar billede nicocarlos Nybegynder
03. august 2003 - 18:21 #12
vil du ikke rette det til så lortet virker nu har jeg arbejdet med det skidt i 10 timer....please

mange tak for din hjælp
Avatar billede abpdk Nybegynder
03. august 2003 - 18:25 #13
Prøv at tilføje:

}
?>

...til sidst.
Avatar billede nicocarlos Nybegynder
03. august 2003 - 18:28 #14
siger stadig det samme,
Parse error: parse error, unexpected $end in D:\www\alt-muligt.dk\auth.php on line 94!!
Avatar billede abpdk Nybegynder
03. august 2003 - 18:39 #15
Prøv lige med følgende. Jeg har ikke testet det, men jeg kan ikke få øje på flere fejl:

<html>
  <body>
<?php
  if ($submit) {
    $db = mysql_connect("localhost", "username", "password");
    mysql_select_db("alt-muligt", $db);
    $sql = "SELECT auth_level FROM auth WHERE username='$username' AND password='$password'";
    $result = mysql_query($sql);

    while ($row = mysql_fetch_array($result)) {
      $auth_level = $row["auth_level"];
    }

    if (!mysql_num_rows($result)) {
      echo "You are not Authorized for access.";
    } else {
        setcookie('username', $_POST['username'], (time()+2592000), '/', '', 0);
        setcookie('auth_level', $_POST['auth_level'], (time()+2592000), '/', '', 0);
    }

    if ($auth_level == "1") {
      echo "You are logged in as a Guest.<br><a href=\"next.php\">Click here for options</a>";
    } elseif ($auth_level == "2") {
      echo "You have Member level access.<br><a href=\"next.php\">Click here for options</a>";
    } elseif ($auth_level == "3") {
      echo "You have Editor level access.<br><a href=\"next.php\">Click here for options</a>";
    } elseif ($auth_level == "4") {
      echo "You have full Administrative access.<br><a href=\"next.php\">Click here for options</a>";
    }
} else {   
?>
    <form method="POST" action="<?php echo $GLOBALS['PHP_SELF'];?>">
      Name:<input type="text" name="username"><br>
      Password: <input type="password" name="password"><br>
      <input type="submit" name="submit" value="Login">
    </form>
<?php
  }
?>
  </body>
</html>
Avatar billede nicocarlos Nybegynder
03. august 2003 - 18:41 #16
Parse error: parse error, unexpected '<' in D:\www\alt-muligt.dk\auth.php on line 39
Avatar billede abpdk Nybegynder
03. august 2003 - 18:46 #17
Det kan ikke passe. Det finde slet ikke en '<' på den linje. Linje 39 er '?>'!?
Avatar billede nicocarlos Nybegynder
03. august 2003 - 18:48 #18
?>">
Avatar billede abpdk Nybegynder
03. august 2003 - 18:53 #19
Det er altså '?>' i den kode jeg postede før. Jeg har lige testet det på min egen server, og den melder ingen fejl.
Avatar billede nicocarlos Nybegynder
03. august 2003 - 18:54 #20
så ser vi ikke den samme kode for jeg ser ?>">, de tegn efter hinanden, så post den lige en gang til! Takker
Avatar billede abpdk Nybegynder
03. august 2003 - 18:56 #21
<html>
  <body>
<?php
  if ($submit) {
    $db = mysql_connect("localhost", "username", "password");
    mysql_select_db("alt-muligt", $db);
    $sql = "SELECT auth_level FROM auth WHERE username='$username' AND password='$password'";
    $result = mysql_query($sql);

    while ($row = mysql_fetch_array($result)) {
      $auth_level = $row["auth_level"];
    }

    if (!mysql_num_rows($result)) {
      echo "You are not Authorized for access.";
    } else {
        setcookie('username', $_POST['username'], (time()+2592000), '/', '', 0);
        setcookie('auth_level', $_POST['auth_level'], (time()+2592000), '/', '', 0);
    }

    if ($auth_level == "1") {
      echo "You are logged in as a Guest.<br><a href=\"next.php\">Click here for options</a>";
    } elseif ($auth_level == "2") {
      echo "You have Member level access.<br><a href=\"next.php\">Click here for options</a>";
    } elseif ($auth_level == "3") {
      echo "You have Editor level access.<br><a href=\"next.php\">Click here for options</a>";
    } elseif ($auth_level == "4") {
      echo "You have full Administrative access.<br><a href=\"next.php\">Click here for options</a>";
    }
} else {   
?>
    <form method="POST" action="<?php echo $GLOBALS['PHP_SELF'];?>">
      Name:<input type="text" name="username"><br>
      Password: <input type="password" name="password"><br>
      <input type="submit" name="submit" value="Login">
    </form>
<?php
  }
?>
  </body>
</html>
Avatar billede nicocarlos Nybegynder
03. august 2003 - 19:00 #22
Jeg fatter det simpelthen ikke, den siger stadig at der er en fejl ved denne linie:
<form method="POST" action="<?php echo $GLOBALS['PHP_SELF'];?>">
Avatar billede abpdk Nybegynder
03. august 2003 - 19:03 #23
Prøv med:
<form method="POST" action="<?php echo $PHP_SELF; ?>">
Avatar billede nicocarlos Nybegynder
03. august 2003 - 19:15 #24
Det hjalp men nu siger den:
Notice: Undefined variable: submit in D:\www\alt-muligt.dk\auth.php on line 4
Avatar billede abpdk Nybegynder
03. august 2003 - 19:41 #25
Prøv med:
if ($_POST['submit']) {
Avatar billede nicocarlos Nybegynder
03. august 2003 - 19:47 #26
det hjælper ikke.
Avatar billede nicocarlos Nybegynder
03. august 2003 - 19:48 #27
if ($_POST['submit']) {  var i stedet for if ($submit) { ikke?
Avatar billede abpdk Nybegynder
03. august 2003 - 19:53 #28
Jo...jeg kan ikke helt se hvad der er galt. Jeg mener ikke at php plejer at brokke sig over udefinerede variable (egen erfaring)!?
Avatar billede nicocarlos Nybegynder
03. august 2003 - 19:56 #29
jeg aner det simpelthen ikke der er nok ikke meget at gøre virker det på din server?? Hvad kører du med?
Avatar billede abpdk Nybegynder
03. august 2003 - 20:01 #30
Altså mysql delen virker selvfølgelig ikke, da jeg ikke har gidet at oprette de nødvendige tabeller, men ellers viser den

Brugernav: <input>
Password: <input>
<knap>

...uden fejl. Jeg kører Apache 1.3.26 og PHP 4.1.2-5 på en lokal linux-maskine.
Avatar billede abpdk Nybegynder
03. august 2003 - 20:02 #31
Det er selvfølgelig "Name" og "Password" den viser (ikke "Brugernavn:").
Avatar billede nicocarlos Nybegynder
03. august 2003 - 20:02 #32
underligt. kan det være noget med mit andet scripts next.php ???
Avatar billede abpdk Nybegynder
03. august 2003 - 20:03 #33
Nej...ikke hvis koden ser ud som den gør.
Avatar billede nicocarlos Nybegynder
03. august 2003 - 20:05 #34
jeg kan også skrive name og password ind men den viser bare den notice ting, er det fordi jeg har kludret min db??
Avatar billede abpdk Nybegynder
03. august 2003 - 20:54 #35
Jeg ved ikke helt hvad jeg skal sige. Nu har jeg oprettet db-tabellen og testet det i praksis og den siger INTET!?
Avatar billede nicocarlos Nybegynder
03. august 2003 - 22:22 #36
Kan du sende filerne til mig?? Og vedlægge din create tabel ting sammen med, min email er nini14@ihnykf.dk?
Avatar billede abpdk Nybegynder
03. august 2003 - 22:59 #37
tabellen er:

create table auth(
  username varchar(32),
  password varchar(32),
  auth_level tinyint
);

og koden er PRÆCIST som det står ovenfor.
Avatar billede nicocarlos Nybegynder
15. september 2003 - 20:58 #38
skriv til mig hvis det er, jeg har selv fået det til at virke med en anden tabel, mange tak for hjlpen alle!
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
Computerworld tilbyder specialiserede kurser i database-management

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