它在我的php中显示一个未定义的索引
我正在使用您提到的if$\u请求语句,但我要做的是,如果满足if语句,则显示$echo,否则显示以下内容(会话下拉菜单和表单) 但问题是,即使它显示回显,它也会在第179行显示一个未定义的通知,说明sessionnum未定义 我的问题是,对于else语句,我想在下面的代码中把结束括号放在哪里:它在我的php中显示一个未定义的索引,php,mysqli,Php,Mysqli,我正在使用您提到的if$\u请求语句,但我要做的是,如果满足if语句,则显示$echo,否则显示以下内容(会话下拉菜单和表单) 但问题是,即使它显示回显,它也会在第179行显示一个未定义的通知,说明sessionnum未定义 我的问题是,对于else语句,我想在下面的代码中把结束括号放在哪里: if (isset($_POST['modulesubmit'])) { if($_REQUEST['modulesDrop']==''){ echo "Please Se
if (isset($_POST['modulesubmit'])) {
if($_REQUEST['modulesDrop']==''){
echo "Please Select a Module from the Drop Down Menu Above";
}
else{
var_dump($_POST['modulesDrop']);
$sessionquery = "
SELECT SessionId, SessionDate, SessionTime, ModuleId
FROM Session
WHERE
(ModuleId = ?)
ORDER BY SessionDate, SessionTime
";
$sessionqrystmt=$mysqli->prepare($sessionquery);
// You only need to call bind_param once
$sessionqrystmt->bind_param("s",$_POST['modulesDrop']);
// get result and assign variables (prefix with db)
$sessionqrystmt->execute();
$sessionqrystmt->bind_result($dbSessionId,$dbSessionDate,$dbSessionTime, $dbModuleId);
$sessionqrystmt->store_result();
$sessionnum = $sessionqrystmt->num_rows();
$dataArraySession = array();
while ( $sessionqrystmt->fetch() ) {
$dataArraySession[$dbSessionId]['SessionDate'] = $dbSessionDate;
$dataArraySession[$dbSessionId]['SessionTime'] = $dbSessionTime;
}
foreach ($dataArraySession as $sessionId => $sessionData) {
$sessionHTML = "";
$sessionHTML .= '<select name="session" id="sessionsDrop">'.PHP_EOL;
$sessionHTML .= '<option value="">Please Select</option>'.PHP_EOL;
$sessionHTML .= "<option value='$sessionId'>" . $sessionId . " - " . $sessionData['SessionDate']. " - " . $sessionData['SessionTime'] ."</option>".PHP_EOL;
$sessionHTML .= '</select>';
}
} //closing bracket for else statment
if ($sessionnum > 0) { //error line is here
?>
<form action="<?php echo htmlentities($_SERVER['PHP_SELF']); ?>" method="post">
<p>Sessions: <?php echo $sessionHTML; ?><input id="sessionSubmit" type="submit" value="Submit" name="sesionsubmit" /></p>
</form>
<?php
}
else {
echo "<p>Sorry, You have No Sessions under this Module</p>";
}
?>
if(isset($\u POST['modulesubmit'])){
如果($_请求['modulesDrop']=''){
echo“请从上面的下拉菜单中选择一个模块”;
}
否则{
var_dump($_POST['modulesDrop']);
$sessionquery=”
选择SessionId、SessionDate、SessionTime、ModuleId
会议结束后
哪里
(ModuleId=?)
按SessionDate、SessionTime排序
";
$sessionqrystmt=$mysqli->prepare($sessionquery);
//您只需要调用bind_param一次
$sessionqrystmt->bind_参数($s),$_POST['modulesDrop']);
//获取结果并分配变量(前缀为db)
$sessionqrystmt->execute();
$sessionqrystmt->bind_result($dbSessionId,$dbSessionDate,$dbSessionTime,$dbModuleId);
$sessionqrystmt->store_result();
$sessionnum=$sessionqrystmt->num_rows();
$dataArraySession=array();
而($sessionqrystmt->fetch()){
$dataArraySession[$dbSessionId]['SessionDate']=$dbSessionDate;
$dataArraySession[$dbSessionId]['SessionTime']=$dbSessionTime;
}
foreach($dataArraySession作为$sessionId=>$sessionData){
$sessionHTML=“”;
$sessionHTML.=''.PHP\u EOL;
$sessionHTML.='请选择'.PHP\u EOL;
$sessionHTML.=''.$sessionId.-“$sessionData['SessionDate'.]”-“$sessionData['SessionTime'.]”.PHP_EOL;
$sessionHTML.='';
}
}//else状态的闭合括号
如果($sessionnum>0){//错误行在这里
?>
您需要声明您计划在IF条件中使用的任何变量,这些变量将在页面顶部更改/重置其值
否则您将收到未定义的索引警告。您可以尝试执行@以使警告静音
$sessionnum = 0;
if (isset($_POST['modulesubmit'])) {
if($_REQUEST['modulesDrop']==''){
echo "Please Select a Module from the Drop Down Menu Above";
}
else{
var_dump($_POST['modulesDrop']);
$sessionquery = "
SELECT SessionId, SessionDate, SessionTime, ModuleId
FROM Session
WHERE
(ModuleId = ?)
ORDER BY SessionDate, SessionTime
";
$sessionqrystmt=$mysqli->prepare($sessionquery);
// You only need to call bind_param once
$sessionqrystmt->bind_param("s",$_POST['modulesDrop']);
// get result and assign variables (prefix with db)
$sessionqrystmt->execute();
$sessionqrystmt->bind_result($dbSessionId,$dbSessionDate,$dbSessionTime, $dbModuleId);
$sessionqrystmt->store_result();
$sessionnum = $sessionqrystmt->num_rows();
$dataArraySession = array();
while ( $sessionqrystmt->fetch() ) {
$dataArraySession[$dbSessionId]['SessionDate'] = $dbSessionDate;
$dataArraySession[$dbSessionId]['SessionTime'] = $dbSessionTime;
}
foreach ($dataArraySession as $sessionId => $sessionData) {
$sessionHTML = "";
$sessionHTML .= '<select name="session" id="sessionsDrop">'.PHP_EOL;
$sessionHTML .= '<option value="">Please Select</option>'.PHP_EOL;
$sessionHTML .= "<option value='$sessionId'>" . $sessionId . " - " . $sessionData['SessionDate']. " - " . $sessionData['SessionTime'] ."</option>".PHP_EOL;
$sessionHTML .= '</select>';
}
} //closing bracket for else statment
if ($sessionnum > 0) { //error line is here
?>
<form action="<?php echo htmlentities($_SERVER['PHP_SELF']); ?>" method="post">
<p>Sessions: <?php echo $sessionHTML; ?><input id="sessionSubmit" type="submit" value="Submit" name="sesionsubmit" /></p>
</form>
<?php
}
else {
echo "<p>Sorry, You have No Sessions under this Module</p>";
}
?>
$sessionnum=0;
如果(isset($_POST['modulesubmit'])){
如果($_请求['modulesDrop']=''){
echo“请从上面的下拉菜单中选择一个模块”;
}
否则{
var_dump($_POST['modulesDrop']);
$sessionquery=”
选择SessionId、SessionDate、SessionTime、ModuleId
会议结束后
哪里
(ModuleId=?)
按SessionDate、SessionTime排序
";
$sessionqrystmt=$mysqli->prepare($sessionquery);
//您只需要调用bind_param一次
$sessionqrystmt->bind_参数($s),$_POST['modulesDrop']);
//获取结果并分配变量(前缀为db)
$sessionqrystmt->execute();
$sessionqrystmt->bind_result($dbSessionId,$dbSessionDate,$dbSessionTime,$dbModuleId);
$sessionqrystmt->store_result();
$sessionnum=$sessionqrystmt->num_rows();
$dataArraySession=array();
而($sessionqrystmt->fetch()){
$dataArraySession[$dbSessionId]['SessionDate']=$dbSessionDate;
$dataArraySession[$dbSessionId]['SessionTime']=$dbSessionTime;
}
foreach($dataArraySession作为$sessionId=>$sessionData){
$sessionHTML=“”;
$sessionHTML.=''.PHP\u EOL;
$sessionHTML.='请选择'.PHP\u EOL;
$sessionHTML.=''.$sessionId.-“$sessionData['SessionDate'.]”-“$sessionData['SessionTime'.]”.PHP_EOL;
$sessionHTML.='';
}
}//else状态的闭合括号
如果($sessionnum>0){//错误行在这里
?>