Hej jeg har læst artiklerne om php og mysql fra www.webcafe.dk
og syntes nu jeg ville til at prøve at se hvad jeg kunne så jeg bestemte mig for at lave mit eget login med html, css og php og jeg lavede det og det virkede men da jeg så ville til at lave sådan man kunne oprette bruge så gik det galt! Hver gang jeg logger ind både med forkert og med rigtigt brugernavn så får jeg den besked at brugernavn/password er forkert! Selvom at denne besked kun skulle komme når jeg logger ind med forkerte oplysninger! Er der nogle der kan hjælpe i kunne jo kigge lidt på koden:
index.htm
<html>
<head>
<title>Webzite login</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<div id="login" align="center">
<p><u><b>Login</b></u></p>
<form action="login.php" method="post">
<p>Brugernavn: </p><input type="text" name="bruger">
<p>Password: </p><input type="password" name="passwd">
<input type="submit" value="Login">
<a href="opret.htm">Opret ny bruger</a>
</form>
</div>
</body>
</html>
opret.htm
<html>
<head>
<title>Webzite login</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<div id="opret">
<form action="opret.php" method="post">
<p><font size="2">Skriv det brugernavn du vil have:</font></p><input type="text" name="opretbruger">
<p><font size="2">Skriv det password du vil have:</font></p><input type="password" name="opretpasswd">
<input type="submit" value="Opret">
</form>
</div>
</body>
</html>
connect.php
<?php
function connectdata() {
$server = "localhost";
$bruger = "root";
$kode = "";
$database = "login";
if (!mysql_connect("$server","$bruger","$kode")) {
echo "Kunne ikke oprette en forbindelse til MySQL.";
}
if(!mysql_select_db("$database")) {
echo "Kunne ikke vælge databasen: $database";
}
}
?>
login.php
<?php
include("connect.php");
connectdata();
$bruger = $_REQUEST["bruger"];
$passwd = $_REQUEST["passwd"];
$passwd_data;
$bruger_data;
tjek(); // Kald funktionen tjek
function opret() {
// Opret en funktion hvor den tjekker brugernavn og password
$hent = mysql_query("select * from $bruger");
while ($data = mysql_fetch_array($hent)) {
$bruger_data = $data['bruger'];
$passwd_data = $data[passwd];
if($bruger == $bruger_data AND $passwd == $passwd_data)
{
echo "Du er nu logget ind!";
}
else
{
echo "Forkert password/brugernavn prøv igen!";
mysql_close();
}
}
// Afslut funktionen
}
function tjek() {
// Opret en funktion hvor den tjekker om tabellen ikke findes
if(!mysql_query("select * from $bruger")) {
echo "Forkert password/brugernavn prøv igen!";
mysql_close();
}
else
{
opret();
}
// Hvis tabellen findes så kald funktionen opret
}
?>
opret.php
<?php
include("connect.php");
connectdata();
$brugeropret = $_REQUEST["opretbruger"];
$passwdopret = $_REQUEST["opretpasswd"];
$oprettabel = "create table $brugeropret
(
bruger varchar(50),
passwd int(10)
)";
mysql_query($oprettabel);
$indsaetdata = "insert into $brugeropret set
bruger='$brugeropret', passwd=$passwdopret";
mysql_query($indsaetdata);
echo "Bruger: ". $brugeropret ." er blevet oprettet!";
?>
Ps. Lige sådan i ikke sidder og kigger alt koden igennem forgæves så tror jeg kun fejlen ligger i login.php fordi det virkede fint før jeg lavde ændringerne i den!
Hilsen Johan :-)
[Redigeret d. 02/02-05 17:31:01 af Johan]