用于保存数据的函数在php中不起作用
我试图在两个文件中分离php代码和html代码 因此,我正在执行许多函数,这些函数将在页面的不同部分执行 目前,我正在尝试创建一个保存小表单数据的函数 因此,我编写了以下代码:用于保存数据的函数在php中不起作用,php,function,save,Php,Function,Save,我试图在两个文件中分离php代码和html代码 因此,我正在执行许多函数,这些函数将在页面的不同部分执行 目前,我正在尝试创建一个保存小表单数据的函数 因此,我编写了以下代码: function addAnnonce($session) { $sql = "SELECT `nom`,`prenom`,`type` FROM `gestionnaire` WHERE `id`={$session}"; $result = mysql_query($sql); $donnee
function addAnnonce($session) {
$sql = "SELECT `nom`,`prenom`,`type` FROM `gestionnaire` WHERE `id`={$session}";
$result = mysql_query($sql);
$donnees = mysql_fetch_assoc($result);
}
function saveAnnonce($form, $annonce, $to) {
if (isset($form)) {
addAnonce($_SESSION['login']);
$by = $donnees['nom'] . ' ' . $donnees['prenom'];
$sql = "INSERT INTO `cometchat_announcements` SET
`announcement` ='" . mysql_real_escape_string($annonce) . "',
`by` ='" . mysql_real_escape_string($by) . "',
`time` ='" . mysql_real_escape_string(time()) . "',
`to` ='" . mysql_real_escape_string($to) . "'";
mysql_query($sql);
echo "<div class=\"success\">L'annoncea bien été ajoutée , vous pouvez continuer vos actions<br>La mise à jour interviendra après actualisation</div>";
echo "<SCRIPT type=\"text/javascript\">
<!--
alert(\"Ajout d\'une nouvelle annonce : Ok !\");
// -->
</SCRIPT> ";
}
}
isset($_POST['enreg']) ? saveAnnonce($_POST['enreg'], $_POST['annonce'],$_POST['to']) :'' ;
函数addAnnonce($session){
$sql=“从`gestionnaire`中选择`nom`、`prenom`、`type`,其中`id`={$session}”;
$result=mysql\u查询($sql);
$donnees=mysql\u fetch\u assoc($result);
}
函数saveAnnonce($form,$annonce,$to){
if(isset(表格)){
添加($_会话['login']);
$by=$donnees['nom'.'。$donnees['prenom'];
$sql=“插入“cometchat\u公告”集合
`公告“=”.mysql\u real\u escape\u string($annonce)。“,
`通过“=”.mysql\u real\u escape\u字符串($by)。“,
`时间“=”.mysql\u real\u escape\u字符串(time())。“,
`到“=”.mysql\u real\u escape\u字符串($to)。“;
mysql_查询($sql);
回应“我们将继续采取行动,以实现我们的目标”;
回声“
";
}
}
isset($_POST['enreg'])?saveAnnonce($_POST['enreg'],$_POST['annonce'],$_POST['to']):'';
问题是它给我显示了一个空白页
我真的不明白为什么
它应该显示的形式,但我认为是错误的,但我看不到什么
我已经用xdebug试过了,但它没有给我任何提示
任何类型的帮助都将不胜感激。您没有将
$donnees
返回工作流,因此saveAnnonce()中的$donnees
未定义。您没有将$donnees
返回工作流,因此saveAnnonce()中的$donnees
)
未定义。调用它(addAnonce
)时,您还拼错了addAnonce
)
请注意,您不需要if(isset($form))
,它将始终被设置,因为它是函数的必需参数。调用它(addAnonce
)时,您也拼写错误
请注意,您不需要if(isset($form))
,它将始终被设置,因为它是函数的必需参数。offtopic:使用and。为什么在最后一行使用?:
运算符而不是正确的if
?offtopic:使用and。为什么在最后一行使用?:
运算符而不是正确的if
运算符?感谢您的快速回复。我在第一个函数中添加了return$donnees,但是我仍然有同样的问题您的代码应该像function addAnnonce($session){$sql=“SELECT nom,prenom,type FROM gestionnaire WHERE id={$session}”;$result=mysql\u query($sql);return mysql\u fetch\u assoc($result);}函数saveAnnonce($form,$annonce,$to){if(isset($form)){$donnees=addAnonce($_SESSION['login']);$by=$donnees['nom']...$donnees['prenom'];
感谢您的快速回复。我在第一个函数中添加了return$donnees,但我仍然有同样的问题您的代码应该看起来像函数addAnnonce($SESSION){$sql=“选择nom,prenom,从gestionnaire输入,其中id={$session}”;$result=mysql\u query($sql);返回mysql\u fetch\u assoc($result);}函数saveAnnonce($form,$annonce,$to){if(isset($form)){$donnees=addAnonce($$session['login']);$by=$donnees['nom'.'.$donnees['prenom']
谢谢你的回复,我已经纠正了这个错误,但仍然有@banzsh提到的同样的问题,你还需要实际保存addAnnonce的返回值。$donnees=addAnnonce($_SESSION['login']);感谢您的回复,我已经更正了错误,但仍然有@banzsh提到的相同问题,您还需要实际保存addAnnonce的返回。$donnees=addAnnonce($_SESSION['login');