02. juni 2004 - 13:12
Der er
2 kommentarer og
1 løsning
Opret system
Hvordan laver man en opret.php som opretter en bruger + kodeord i mysql databasen.
Tabel navn: brugerlogin
Felt navn: brugernavn
og kodeord felt navn: password
Her kan i se min tabel
CREATE TABLE `brugerlogin` (
`brugernavn` varchar(16) NOT NULL default '',
`password` varchar(32) NOT NULL default '',
`email` varchar(255) NOT NULL default '',
`status` tinyint(1) default NULL,
`temp` varchar(32) NOT NULL default '',
UNIQUE KEY `brugernavn` (`brugernavn`)
) TYPE=MyISAM;
Denne her burde virke:
--------- opret_bruger.html ---------------------
<html>
<head>
<title>Untitled</title>
</head>
<body>
<h2>Opret bruger</h2><hr>
<table>
<form action="opretter.php" method="POST">
<tr>
<td>Brugernavn:</td><td><input type="text" name="brugernavn" id="txtfelt"></td>
</tr>
<tr>
<td>Password:</td><td><input type="password" name="password" id="txtfelt"></td>
</tr>
<tr>
<td>e-mail:</td><td><input type="text" name="email" id="txtfelt"></td>
</tr>
<tr>
<td><input type="submit" value="confirm"></td>
</tr>
</form>
</table>
</body>
</html>
------------------------------------------------------
Den ovenstående sender info til denne som så smider infoen i databasen:
------------------ opretter.php ---------------------
<?
function error($msg) {
echo "<HTML><BODY><H2>Error: $msg</H2></BODY></HTML>";
exit;
}
//HUSK AT ÆNDRE TIL DINE EGNE OPLYSNINGER
function mindb_connect() {
$db = mysql_connect("din_host", "brugernavn", "password") or die("Kan ikke oprette forbindelse til databasen - prøv igen senere");
mysql_select_db("dit databasenavn", $db) or die(mysql_error());
}
$brugernavn = $_POST["brugernavn"];
$email = $_POST["email"];
$password = $_POST["password"];
// valider brugernavn
if (empty($brugernavn)){
$error ("<li>Du har ikke valgt et brugernavn</li>");
}
elseif (empty($password)) {
$error ("<li>Password mangler</li>");
}
// valider email
elseif (ereg('^[a-zA-Z][a-zA-Z.0-9-]*@[a-zA-Z.0-9-]+$', $email) == 0) {
error ("du har skrevet din email forkert eller du har ikke skrevet en mail adresse");
}
// connect to db
mydb_connect();
// insert stuff
mysql_query ("INSERT INTO brugerlogin ( brugernavn, password, email, temp ) VALUES ('$brugernavn', '$password', '$email', 'test') ");
//HUSK AT ÆNDRE
header("location:den_side_du_vil_til_efter_oprettelsen");
?>
Jeg ved ikke hvad din "temp" er i databasen - har indsat test som er hardcoded ind i "INSERT" query'en
Håber det kan bruges :)
/msc_cph