我的PHP代码中有错误,未定义的变量错误,而之前已经定义过 这是第一个错误:
(!)注意:未定义的变量:第16行的C:\ wamp64 \ www \ myFiles \ PHP \ views \ edit.php中的utilisateurKore
这是第二个错误:
这个错误的代码是:
<?PHP
include "../entities/utilisateur.php";
include "../core/utilisateurCore.php";
if (isset($_GET['pseudo'])){
$utilisateurKore = new utilisateurCore();
$result=$utilisateurKore->recupererUser($_GET['pseudo']);
foreach($result as $row){
$pseudo=$row['pseudo'];
$mail=$row['mail'];
$motdepasse=$row['motdepasse'];
}
}
if (isset($_POST['modifier'])){
$utilisateur1=new utilisateur($_POST['pseudo'],$_POST['mail'],$_POST['motdepasse']);
$utilisateurKore->modifierUser($utilisateur1,$_POST['pseudo']);
}
?>
这是变量的类:
<?php
include "../config.php";
class utilisateurCore{
//edition de profil
function modifierUser($utilisateur,$pseudo){
$sql="UPDATE membres SET motdepasse=:motdepasse,mail=:mail WHERE pseudo=:pseudo";
$db = config::getConnexion();
//$db->setAttribute(PDO::ATTR_EMULATE_PREPARES,false);
try{
$req=$db->prepare($sql);
$motdepasse=$utilisateur->getMotdepasse();
$mail=$utilisateur->getEmail();
// $datas = array(':cinn'=>$cinn, ':cin'=>$cin, ':nom'=>$nom,':prenom'=>$prenom,':nbH'=>$nb,':tarifH'=>$tarif);
$req->bindValue(':mail',$mail);
$req->bindValue(':motdepasse',$motdepasse);
$s=$req->execute();
// header('Location: index.php');
}
catch (Exception $e){
echo " Erreur ! ".$e->getMessage();
}
}
function recupererUser($pseudo){
$sql="SELECT * from employe where pseudo=$pseudo";
$db = config::getConnexion();
try{
$liste=$db->query($sql);
return $liste;
}
catch (Exception $e){
die('Erreur: '.$e->getMessage());
}
}
?>
答案 0 :(得分:1)
$utilisateurKore
仅在第一个if条件匹配(isset($_GET['pseudo'])
)时定义。
如果第一个条件不匹配,但第二个条件不匹配,则会出现此错误。
您可以将第二个条件(isset($_POST['modifier'])
)移动到第一个条件的代码块中,或者先使用默认值设置/初始化$utilisateurKore
。