Add User Script Werkt Niet

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jeroen

Jeroen

23/05/2007 18:31:00
Quote Anchor link
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?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<?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>'
;
            }

?>
Gewijzigd op 01/01/1970 01:00:00 door Jeroen
 
PHP hulp

PHP hulp

29/03/2024 11:16:36
 
Cedric

Cedric

23/05/2007 18:36:00
Quote Anchor link
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
Gewijzigd op 01/01/1970 01:00:00 door Cedric
 
Winston Smith

Winston Smith

23/05/2007 18:36:00
Quote Anchor link
Ik denk: je hebt geen action ingesteld bij je formulier. Gebruik de pagina naam zelf als action of
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?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
Gewijzigd op 01/01/1970 01:00:00 door Winston Smith
 
Winston Smith

Winston Smith

23/05/2007 18:38:00
Quote Anchor link
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
 
Jeroen

Jeroen

23/05/2007 18:39:00
Quote Anchor link
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?
 
M Ypma

M Ypma

23/05/2007 18:42:00
Quote Anchor link
door if statements te gebruiken zoals het hoort:

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

en:

if($result === false){
 
Cedric

Cedric

23/05/2007 18:42:00
Quote Anchor link
De submit vervangen door request method?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
if($_SERVER['request_method'] == "POST")
{
[
/code]

[
edit]
Michel was ietsje sneller :P
[/edit]
Gewijzigd op 01/01/1970 01:00:00 door Cedric
 
Winston Smith

Winston Smith

23/05/2007 18:45:00
Quote Anchor link
@Michel: waarom === en niet ==?
 
M Ypma

M Ypma

23/05/2007 18:48:00
Quote Anchor link
@Kasper
op php.net:
Quote:
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)
Gewijzigd op 01/01/1970 01:00:00 door M Ypma
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.