Bonsoir à tous,

Actuellement je me forme au langage php, étant un grand bidouilleur je m'y met plus sérieusement et en profondeur. Actuellement entrain d'essayer de convertir une page d'inscription utilisant mysql_connect vers pdo. Je rencontre quelques embûches.



Pour être plus précis j'ai un dossier info avec un fichier config.php qui contient :

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
<?php
	  $db_host = 'localhost';
	  $db_name = 'site'; //nom base de donnée principale (car j'en ai trois en tout)
	  $db_user = 'user'; //nom utilisateur
	  $db_pass = 'mdp'; //mot de passe
 
	// Connexion à la base
	try {
		$strConnection = 'mysql:host='.$db_host.';dbname='.$db_name; //Ligne 1
		$arrExtraParam= array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"); //Ligne 2
		$gobdd = new PDO($strConnection, $db_user, $db_pass, $arrExtraParam); //Ligne 3; Instancie la connexion
		$gobdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);//Ligne 4
		$pdo_options[PDO::ATTR_EMULATE_PREPARES] = false;
	}
	catch(PDOException $e) {
		$msg = 'ERREUR PDO dans ' . $e->getFile() . ' L.' . $e->getLine() . ' : ' . $e->getMessage();
		die($msg);
	}
?>
Donc voici mon script :
Information : il s'affiche correctement sans erreur, sauf qu'une fois soumis via le bouton d'envoi, je me retrouve sur mon index.php et aucune donnée n'est inscrite dans ma bdd rm_auth.
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
 
 <?php
	session_start();
	require_once ('info/config.php');
?>
 
<?php
			if(isset($_POST['valide']))
			{
				$ndc = ($_POST['pseudo']);
				$mdp = ($_POST['mdp']);
				$mdp2 = ($_POST['mdp2']);
				$mail = ($_POST['email']);
				if($ndc  != NULL) 
				{ 
					if($mdp != NULL)
					{
						if($mdp2 != NULL)
						{
							if($mdp == $mdp2)
							{
								if($mail != NULL)
								{
									$gobdd->exec('USE rm_auth');
                                    $reponse = $gobdd->prepare("INSERT INTO account (username, sha_pass_hash,  email, expansion, last_ip) VALUES (':$ndc',:SHA1(CONCAT(UPPER('$ndc'),':',:UPPER('$mdp'))),':$mail', ':$expension', ':$ip')");
									$reponse->execute(array(
  									'pseudo' => $ndc,
      								'mdp' => $mdp,
									'mdp2' => $mdp2,
      								'email' => $mail));
									echo '
										<div class="cadre_inscription">
											<center>
												Vous pouvez vous connecter.
											</center>
										</div>
									';
 
								}
								else { echo '<div class="cadre_inscription"><center>Il faut indiquer votre E-Mail !<br /><br /><a href="index.php"><button type="submit2" class="submit">Retour</button></a></center></div>'; }
							}
							else { echo '<div class="cadre_inscription"><center>Les mots de passe ne sont pas identiques !<br /><br /><a href="index.php"><button type="submit2" class="submit">Retour</button></a></center></div>'; }
						}
						else { echo '<div class="cadre_inscription"><center>Il faut retaper votre mot de passe !<br /><br /><a href="index.php"><button type="submit2" class="submit">Retour</button></a></center></div>'; }
					}
					else { echo '<div class="cadre_inscription"><center>Il faut indiquer un mot de passe !<br /><a href="index.php"><button type="submit" class="submit2">Retour</button></a></center></div>'; }
				}
				else { echo '<div class="cadre_inscription"><center>Il faut indiquer un nom de compte !<br /><br /><a href="index.php"><button type="submit" class="submit2">Retour</button></a></center></div>'; }
			}
			else
			{
		?>
 
		<div class="cadre_inscription">
			<form action="index.php" method="post">
				<center>
					<input type="text" class="input_text" name="pseudo" placeholder="Votre nom de compte" /><br />
					<input type="password" class="input_text" name="mdp" placeholder="Votre mot de passe" /><br />
					<input type="password" class="input_text" name="mdp2" placeholder="Répétez le mot de passe" /><br />
					<input type="text" class="input_text" name="email" placeholder="exemple@boitemail.com" /><br />
					<br />
					<input type="hidden" name="valide" value="1" />
					<button type="submit" class="button-small" />Inscription !</button>
				</center>
			</form>
		</div>
 
<?php
}
?>
Voilou en vous remerciant par avance : o