Encore un problème d'Update
Résolu
warbeast1000
Messages postés
56
Statut
Membre
-
warbeast1000 Messages postés 56 Statut Membre -
warbeast1000 Messages postés 56 Statut Membre -
Bonjour,
Je reviens (encore et toujours) vers vous pour un problème que j'avais récemment exposé et résolu, mais qui je n'ai pas réussi à adapter.
J'ai une requête d'Update de mes clients, qui ne marche PLUS alors qu'elle marchait parfaitement avant que mon employeur me demande de rajouter 3 champs dans le formulaire.
Rien ne change dans le formulaire, et aucun erreur ne s'affiche, je ne comprend pas.
Voila le code du clientpanel.php
et voila m'a requête UPDATE :
Voila j'espère que vous pourrez m'aider au plus vite, je dois rendre le site aujourd'hui, et sa m'embêterai d'être en retard..
Merci !
warbeast1000/Guillaume
echo est plus rapide que print.
Je reviens (encore et toujours) vers vous pour un problème que j'avais récemment exposé et résolu, mais qui je n'ai pas réussi à adapter.
J'ai une requête d'Update de mes clients, qui ne marche PLUS alors qu'elle marchait parfaitement avant que mon employeur me demande de rajouter 3 champs dans le formulaire.
Rien ne change dans le formulaire, et aucun erreur ne s'affiche, je ne comprend pas.
Voila le code du clientpanel.php
<?php
include('inc/cnx.inc.php');
try{
$reqs = "SELECT idC,loginC,nomC,prenomC,mailC,telC,adresseC,villeC,CPC FROM client WHERE loginC='".$_SESSION['loginC']."'";
$rereqs = $connexion->query($reqs);
$clie = $rereqs->fetch();
echo "<form id='clientpan' action='inc/connectedmodif.inc.php' method='POST'>";
echo "<input type='hidden' name='idC' value=".$clie["idC"]."/>";
echo "<fieldset><label>Pseudo : </label><input type='text' name='loginC' value=".$clie["loginC"]." required autofocus /><br /><br /></fieldset>";
echo "<fieldset><label>Nom : </label><input type='text' name='nomC' value=".$clie["nomC"]." required /><br /></fieldset>";
echo "<fieldset><label>Prénom : </label><input type='text' name='prenomC' value=".$clie["prenomC"]." required /><br /><br /></fieldset>";
echo "<fieldset><label>Adresse E-mail : </label><input type='email' name='mailC' value=".$clie["mailC"]." required /><br/><br /></fieldset>";
echo "<fieldset><label>Tel : </label><input type='tel' name='telC' value=".$clie["telC"]." /><br/><br /><br /></fieldset>";?>
<fieldset><label>Adresse : </label><input type='text' name='adresseC' value="<?php echo htmlspecialchars($clie["adresseC"],ENT_QUOTES, 'UTF-8');?>" required /><br/><br /><br /></fieldset>
<fieldset><label>Ville : </label><input type='text' name='villeC' value="<?php echo htmlspecialchars($clie["villeC"],ENT_QUOTES, 'UTF-8');?>" required /><br/><br /><br /></fieldset><?php
echo "<fieldset><label>Code Postal : </label><input type='text' name='CPC' value=".$clie["CPC"]." required /><br/><br /><br /></fieldset>";
echo "<button type='submit' id='clientpan' name='modifier' value='Modifier'>Valider Modifications</button><br /><br />";
echo "</form>";
}
catch (Exceptions $e){
die($dsn."erreur : ". $e->getMessage());
}
?>
et voila m'a requête UPDATE :
<?php
include('cnx.inc.php');
$connexion = new PDO($DSN,$USER,$PWD);
if(isset($_SESSION['loginC'])){
$requpd = 'UPDATE client SET loginC = "'.$_SESSION['loginC'].'",
nomC = "'.$_SESSION['nomC'].'",
prenomC = "'.$_SESSION['prenomC'].'",
mailC = "'.$_SESSION['mailC'].'",
telC = "'.$_SESSION['telC'].'",
adresseC = "'.$_SESSION['adresseC'].'",
villeC = "'.$_SESSION['villeC'].'",
CPC = "'.$_SESSION['CPC'].'"
WHERE idC = '.$_SESSION['idC'].'';
$req = $connexion->prepare($requpd);
$req->execute();
header('location:../clientpanel.php');
}
else{
header('location:../clientpanel.php');
}
?>
Voila j'espère que vous pourrez m'aider au plus vite, je dois rendre le site aujourd'hui, et sa m'embêterai d'être en retard..
Merci !
warbeast1000/Guillaume
echo est plus rapide que print.
A voir également:
- Encore un problème d'Update
- Windows update bloqué - Guide
- Winget update - Guide
- Asus live update - Télécharger - Utilitaires
- Nettoyage windows update - Guide
- Wsus offline update - Télécharger - Systèmes d'exploitation
2 réponses
Bonjour,
Commence par désactiver les Redirections dans ton code d'update...
puis ajoute un ECHO de ta variable $requpd pour voir si les variables sont bonnes...
Une fois le echo effectué... prend le resultat..puis testes le directement dans ta BDD ( directement dans phpmyadmin par exemple)
Si la requête fonctionne... c'est que ton souci vient d'ailleurs.... mais c'est déjà le minimum à vérifier !
Ensuite... vu que tu utilises la PDO ... enlèves toutes tes variables de ta requête.... et places les dans un ARRAY que tu passeras à ton execute !
Et enfin... changes les "include" de ton fichier de connexion ... par des REQUIRE_ONCE.
PS : Pourquoi fais tu un new pdo dans ton script d'update... alors que tu ne le fais pas dans ton code pour afficher ??
PS2 : Que contient ton fichier de connexion ?
Commence par désactiver les Redirections dans ton code d'update...
puis ajoute un ECHO de ta variable $requpd pour voir si les variables sont bonnes...
Une fois le echo effectué... prend le resultat..puis testes le directement dans ta BDD ( directement dans phpmyadmin par exemple)
Si la requête fonctionne... c'est que ton souci vient d'ailleurs.... mais c'est déjà le minimum à vérifier !
Ensuite... vu que tu utilises la PDO ... enlèves toutes tes variables de ta requête.... et places les dans un ARRAY que tu passeras à ton execute !
Et enfin... changes les "include" de ton fichier de connexion ... par des REQUIRE_ONCE.
PS : Pourquoi fais tu un new pdo dans ton script d'update... alors que tu ne le fais pas dans ton code pour afficher ??
PS2 : Que contient ton fichier de connexion ?
Testes ça :
<?php
// Reporte toutes les erreurs PHP
ini_set('display_errors', '1');
error_reporting(E_ALL);
//Démarrage des sessions si non démarrées
if(session_id() == '') {
session_start();
}
// connexion à la BDD
require_once('cnx.inc.php');
//------------------------------------------//
// Le temps des tests :
echo "<br> Variables de session : <br>";
print_r($_SESSION);
//------------------------------------------//
// récupération des variables
$loginC = isset($_SESSION['loginC'])?$_SESSION['loginC']:'';
$nomC = isset($_SESSION['nomC'])?$_SESSION['nomC']:'';
$prenomC = isset($_SESSION['prenomC'])?$_SESSION['prenomC']:'';
$mailC = isset($_SESSION['mailC'])?$_SESSION['mailC']:'';
$telC = isset($_SESSION['telC'])?$_SESSION['telC']:'';
$adresseC = isset($_SESSION['adresseC'])?$_SESSION['adresseC']:'';
$villeC = isset($_SESSION['villeC'])?$_SESSION['villeC']:'';
$CPC = isset($_SESSION['CPC'])?$_SESSION['CPC']:'';
$idC = isset($_SESSION['idC'])?$_SESSION['idC']:NULL;
if (isset($_SESSION['loginC'])){
$requpd = "UPDATE client
SET loginC = :loginC
,nomC = :nomC
,prenomC = :prenomC
,mailC = :mailC
,telC = :telC
,adresseC = adresseC
,villeC = :villeC
,CPC = :CPC
WHERE idC = :idC ";
$params = array( ":loginC"=>$loginC
,":nomC"=>$nomC
,":prenomC"=>$prenomC
,":mailC"=>$mailC
,":telC"=>$telC
,":adresseC"=>$adresseC
,":villeC"=>$villeC
,":CPC"=>$CPC
,":idC"=>$idC
);
try{
$req = $connexion->prepare($requpd);
$req->execute($params);
//header('Location:../modifprod.php');
} catch (PDOException $e){
// en cas de soucis dans la requete :
echo "<br>ERREUR ! ".$e->getMessage()."<br>";
echo "<br>params : <br>";
print_r($params);
}
}else{
echo "<br> Erreur : Aucune Session Active ! ";
}
?>
j'ai essayer d'adapter mon code selon vos recommandations :
<?php require_once('cnx.inc.php'); $loginC = isset($_SESSION['loginC'])?$_SESSION['loginC']:''; $nomC = isset($_SESSION['nomC'])?$_SESSION['nomC']:''; $prenomC = isset($_SESSION['prenomC'])?$_SESSION['prenomC']:''; $mailC = isset($_SESSION['mailC'])?$_SESSION['mailC']:''; $telC = isset($_SESSION['telC'])?$_SESSION['telC']:''; $adresseC = isset($_SESSION['adresseC'])?$_SESSION['adresseC']:''; $villeC = isset($_SESSION['villeC'])?$_SESSION['villeC']:''; $CPC = isset($_SESSION['CPC'])?$_SESSION['CPC']:''; $idC = isset($_SESSION['idC'])?$_SESSION['idC']:NULL; if (isset($_SESSION['loginC'])){ $requpd = "UPDATE client SET loginC = :loginC, nomC = :nomC, prenomC = :prenomC, mailC = :mailC, telC = :telC, adresseC = adresseC, villeC = :villeC, CPC = :CPC WHERE idC = :idC "; $params = array( ":loginC"=>$loginC ,":nomC"=>$nomC ,":prenomC"=>$prenomC ,":mailC"=>$mailC ,":telC"=>$telC ,":adresseC"=>$adresseC ,":villeC"=>$villeC ,":CPC"=>$CPC ); try{ $req = $connexion->prepare ($requpd); $req->execute($params); header('Location:../modifprod.php'); } catch (PDOException $e){ die("Source : ".$DSN." Erreur : ".$e->getMessage()); } } else{ echo "<br> Erreur : Aucune Session Active ! "; } ?>Mon fichier de connexion :
pour t'aider. .il faudrait qu'on sache quelle est l'erreur. ...
Et si je met le header rien ne change dans mon formulaire. L'UPDATE est comme ''mort''.