Bonjour a tous,
J'au une base de donnees d'utilisateurs avec les champs:
user_id
first_name
last_name
pass
registration_date
Alors, j'ecris ce code PHP de connexion a ma base:
Ensuite, j'ecris un formulaire d'enregistrements de nouveaux users:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <?php define ('DB_USER','root'); define ('DB_PASSWORD',''); define ('DB_HOST','localhost'); define ('DB_NAME','sitename'); $dbc = @mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME) OR die ('Could not connect to MySQL: ' . mysqli_connect_error()); ?>
Le tout est que, quand un nouvel utilisateur s'enregistre, j'obtiens:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85 <?php $page_title = 'Register'; include ('includes/header.html'); if (isset ($_POST['submitted'])){ $errors=array(); if (empty ($_POST['first_name'])){ $errors[]= 'Your forgot to enter your first name.'; } else { $fn=trim ($_POST['first_name']); } if (empty ($_POST['last_name'])){ $errors[]= 'Your forgot to enter your last name.'; } else { $ln=trim ($_POST['last_name']); } if (empty ($_POST['email'])){ $errors[]= 'Your forgot to enter your email address.'; } else { $e =trim ($_POST['email']); } if ($_POST['pass1']){ if (($_POST['pass1']) != ($_POST['pass2'])) { $errors[]= 'Your password did not match the confirmed password.'; } else { $p=$_POST['pass1']; } } else { $errors[]= 'Your forgot to enter your password.'; } if (empty ($errors)){ require_once ('../PHP-TESTS/mysqli_connect.php'); $q= "INSERT INTO users (first_name, last_name, email, pass, registration_date) VALUES ('$fn', '$ln', '$e', SHA1('$p'), NOW())"; $r=@mysqli_query($dbc, $q); if ($r){ echo '<h1> Thank you !</h1> <p> you are now registered. In Chapter 11 you will actually be able to log in ! </p><p><br/></p>'; } else { echo '<h1> System Error </h1> <p class="error"> You could not registered due to a system error. We apologize for any inconvenience. </p>'; echo '<p> ' . mysqli_error($dbc) . '<br/> <br /> Query : ' . $q . ' </p>'; } mysqli_close(); include ('includes/footer.html'); exit; } else { echo '<h1> Error !</h1> <p class = "error"> The following >> error (s) occured : <br />'; foreach ($errors as $msg) { echo " - $msg <br /> \n"; } echo '</p><p> Please try again. </p><p><br /></p>'; } } ?> <h1>Register</h1> <form action="register.php" method="post"> <p>First Name: <input type="text" name="first_name" size="15" maxlength="20" value="<?php if (isset($_POST['first_name'])) echo $_POST['first_name']; ?>" /></p> <p>Last Name: <input type="text" name="last_name" size="15" maxlength="40" value="<?php if (isset($_POST['last_name'])) echo $_POST['last_name']; ?>" /></p> <p>Email Address: <input type="text" name="email" size="20" maxlength="80" value="<?php if (isset($_POST['email'])) echo $_POST['email']; ?>" /> </p> <p>Password: <input type="password" name="pass1" size="10" maxlength="20" /></p> <p>Confirm Password: <input type="password" name="pass2" size="10" maxlength="20" /></p> <p><input type="submit" name="submit" value="Register" /></p> <input type="hidden" name="submitted" value="1" /> </form> <?php include ('includes/footer.html'); ?>
you are now registered. In Chapter 11 you will actually be able to log in !
Mais j'ai un warning que je ne comprends pas.
Qu'est ce qui se passe? mysqli_close() prends des paramatres?
Warning: mysqli_close() expects exactly 1 parameter, 0 given in D:\wamp\www\PHP-TESTS\register.php on line 56
Merci
Billyrose
Partager