Formulaire probleme de variable
- Accueil
- Forum
- Programmation
- PHP
- Formulaire probleme de variable
salutlacompagnie Le 25 juin 2016 à 17:30 (Édité le 25 janvier 2019 à 17:51)
<?php
session_start();
$bdd = new PDO('mysql:host=localhost;dbname=espace_membre', 'root', '');
if(isset($_SESSION['id'])) {
$requser = $bdd->prepare("SELECT * FROM membres WHERE id = ?");
$requser->execute(array($_SESSION['id']));
$user = $requser->fetch();
if(isset($_POST['formadresse'])) {
$adresse = htmlspecialchars($_POST['adresse']);
$complement = htmlspecialchars($_POST['complement']);
$ville = htmlspecialchars($_POST['ville']);
$code_postal = htmlspecialchars($_POST['code_postal']);
if(!empty($_POST['adresse']) AND !empty($_POST['complement']) AND !empty($_POST['ville']) AND !empty($_POST['code_postal'])) {
$adresselength = strlen($adresse);
if($adresse <= 255) {
$complementlength = strlen($complement);
if($complement <= 255) {
$villelength = strlen($ville);
if($ville <= 255) {
$code_postallength = strlen($code_postal);
if($code_postal <= 255) {
$req = $bdd->prepare("UPDATE membres SET adresse, complement, ville, code_postal = ? WHERE id = ?");
$req -> execute(array($adresse, $complement, $ville, $code_postal, $_SESSION['id']));
$erreur = "Votre adresse mail de contact à bien été enregistrer";
} else {
$erreur = "code!";
}
} else {
$erreur = "ville!";
}
} else {
$erreur = "complement!";
}
} else {
$erreur = "adresse!";
}
} else {
$erreur = "Touts les champs doivents être rempli !";
}
}
?>
<section>
<div class="" align="center">
<div class="contour_edition_profil" align="center">
<h1 class="h1_titre_creation_site">Mon adresse</h1>
</br>
<div class="block_deux">
<form method="POST" enctype="multipart/form-data">
<div id="option_check" class="contac_accept" >
<tr class="adresse_tr">
<td>
<input type="text" placeholder="Adresse" class="adresse" id="adresse" name="adresse" value="<?php if(isset($adresse)) { echo $adresse; } ?>" />
</td>
<td>
<input type="text" placeholder="Complément" class="complement" id="complement" name="complement" value="<?php if(isset($complement)) { echo $complement; } ?>" />
</td>
</tr>
</br>
<tr class="ville">
<td class="ville_td">
<input type="text" placeholder="Ville" class="ville" id="ville" name="ville" value="<?php if(isset($ville)) { echo $ville; } ?>" />
</td>
</tr>
<tr class="code_postal">
<td class="ville_td">
<input type="text" placeholder="Code postal" class="code_postal" id="code_postal" name="code_postal" value="<?php if(isset($code_postal)) { echo $code_postal; } ?>" />
</td>
</tr>
</br>
</div>
</br>
<input class="btn_crea" name="formadresse" type="submit" value="Je valide mon adresse adresse"/>
</form>
<?php
}
if(isset($erreur)) {
echo '<font color="red">'.$erreur."</font>";
}
?>
</br>
</div>
</div>
</div>
</section>
Bonjour ça fait 2 jours je cherche l'erreur mais sans résultat.. TheOldNoob Le 25 juin 2016 à 19:37 (Édité le 25 juin 2016 à 19:38)
Et tu n'a pas de balise <table> qui entour ton tableau.
salutlacompagnie Le 26 juin 2016 à 14:12 (Édité le 1 janvier 1970 à 01:00)
Warning: PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match
number of tokens in ..
C'est pour la variable $_SESSION['id'], pourtant elle me semble bonne
Balatharas Le 26 juin 2016 à 14:39 (Édité le 1 janvier 1970 à 01:00)
salutlacompagnie Le 26 juin 2016 à 15:45 (Édité le 1 janvier 1970 à 01:00)
Pourtant sur cette page la j'ai 4 formulaires et c'est le seul qui me pose problème :(
$req = $bdd->prepare("UPDATE membres SET adresse, complement, ville, code_postal = ? WHERE id = ?"); $req -> execute(array($adresse, $complement, $ville, $code_postal, $_SESSION['id'])); $erreur = "Votre adresse mail de contact à bien été enregistrer";
Balatharas Le 26 juin 2016 à 15:51 (Édité le 1 janvier 1970 à 01:00)
$req -> execute(array($adresse, $complement, $ville, $code_postal, $_SESSION['id']));
Au lieu de ça mettre ceci:
$req->execute(array($adresse, $complement, $ville, $code_postal, $_SESSION['id']));
salutlacompagnie Le 26 juin 2016 à 16:20 (Édité le 1 janvier 1970 à 01:00)