ik heb dit script geschreven om users toe te voegen hoe het geschreven is zou het moeten werken maar om de een of andere reden doet dat het niet
wat denken jullie?

<?php
if(isset($_POST['submit'])){

include("database/connect.inc");
$user1 = $_POST['user'];
$pass1 = $_POST['pass'];
$pass1 = md5($pass1);
$email = $_POST['email'];
$birth = $_POST['birth'];
$city = $_POST['city'];
$brand = $_POST['brand'];
$type = $_POST['type'];
$gender = $_POST['gender'];
$result = mysql_query("INSERT INTO TNO (user,pass,email,birth,city,brand,type,gender) VALUES ('".$user1."','".$pass1.",'".$email."','".$birth."','".$city."','".$brand."','".$type."','".$gender."');");
if($result == 0){
echo 'The User Was Not Added,<br> Please Try Again!<br>';
}
else
{
echo 'You Where Succesfully Added To The Database!<br>';
}
}
else
{
echo '<div align="center">
<form action="" method="POST" enctype="text/plain" >
User Details<br><br>
User Account: <input type="text" size="10" name="user" />(15 characters max.)<br>
Password: <input type="password" size="10" name="pass" />(10 characters max.)<br>
Email: <input type="text" size="25" name="email" />(30 characters max.)<br><br>
City: <input type="text" size="10" name="city" />(25 characters max.)<br>
Date Of Birth: <input type="text" size="10" name="birth" />(**/**/**** in this format)<br>
Gender: <input type="text" size="10" name="gender" />(10 characters max.)<br><br>
Car Details<br><br>
Brand Of Car: <input type="text" size="20" name="brand" />(15 characters max.)<br>
Type Of Brand: <input type="text" size="25" name="type" />(25 characters max.)<br><br>
<input type="submit" value="Submit" name="submit" /><br>
</form>
</div>';
}
?>
Ik zie da je 2 maal de var pass1 declareert. Eens van een form en de andere een md5... Dit kan dus niet hé. Verander de tweede '$pass1' eens in '$pass2'.

[edit]
Typo
[/edit]
Ik denk: je hebt geen action ingesteld bij je formulier. Gebruik de pagina naam zelf als action of <?php echo $_SERVER['PHP_SELF']; ?>.

Plus ik denk: onveilig, want je include database connectie met .inc extensie, die ik kan opvragen op jouw server en waarschijnlijk als plain text kan uitlezen, plus ik denk dat md5 achterhaald is en je beter sha1 met een beetje salt kan gebruiken. Ik denk nog meer overigens, maar dat onthoud ik je maar even :P
Cedric schreef op 23.05.2007 18:36
Ik zie da je 2 maal da var pass1 declareert. Eens van een form en de andere een md5... Dit kan dus niet hé.
Kan wel, alleen is $pass1 = md5($_POST['pass']); sneller :P
haha dit is niet de hele code hoor, maar de belangrijkste delen,
de rest van de code weet ik alleen van dat het 100% werkt maar dit niet
ok ik denk dat het probleem in de if(isset($_POST['submit'])) zit want als ik daar bijv. 0==0 neerzet add hij de user wel :S
dus wat zou er dan kunnen zijn?
door if statements te gebruiken zoals het hoort:

if($_SERVER['REQUEST_METHOD'] === 'POST') {

en:

if($result === false){
De submit vervangen door request method?

<?php
if($_SERVER['request_method'] == "POST")
{


[edit]
Michel was ietsje sneller :P
[/edit]
@Michel: waarom === en niet ==?
@Kasper
op php.net:

Return Values

For SELECT, SHOW, DESCRIBE, EXPLAIN and other statements returning resultset, mysql_query() returns a resource on success, or FALSE on error.

For other type of SQL statements, UPDATE, DELETE, DROP, etc, mysql_query() returns TRUE on success or FALSE on error.


omdat je dus een FALSE (Boolean) krijgt bij een mislukte query en type checking het netste is... == zal dus ook werken, maar is minder strikt

0 === false (result false)
0 == false (result true)

Reageren