Member 13783315 Ответов: 1

Хотите создать кнопку утверждено если статус утвержден то появится кнопка ожидание


У меня есть две таблицы add_batch и assign_student

С помощью цикла while вывести на экран все предмет на стол add_batch со статическим кнопку ниже всем предметам.

Теперь я хочу создать кнопку таким образом, чтобы из таблицы assign_student, если студент с уважением статус курса одобрен, то появится кнопка одобрено, а если Статус находится в ожидании, то появится кнопка ожидание.



Пожалуйста, программисты ответьте как можно скорее. Помогите мне пожалуйста

Что я уже пробовал:

<?php
include 'connect.php';
session_start();
$id=$_SESSION['id']; 

?>

<!DOCTYPE html>
<html lang="en">
<!-- BEGIN HEAD -->
<head>
<?php include 'head.php';?>
<head/>
 <!-- END HEAD -->
<body class="page-header-fixed sidemenu-closed-hidelogo page-content-white page-md header-white white-sidebar-color logo-indigo">
    <div class="page-wrapper">
        <!-- start header -->
        <div class="page-header navbar navbar-fixed-top">
           <?php include 'header.php';?>

        </div>
        <!-- end header --> 
        <!-- start page container -->
        <div class="page-container">
            <!-- start sidebar menu -->
            <?php include 'menu.php';?>
            <!-- end sidebar menu --> 
            <!-- start page content -->
            <div class="page-content-wrapper">
                <div class="page-content-wrapper">
                <div class="page-content">
                    <div class="page-bar">
                         <?php include './breadcrumb.php';?>
                    </div>
                     
		            <div class="row clearfix">

                    <?php

                    if(isset($_POST['submit']))
					{


						$branch_id = mysqli_real_escape_string($conn, $_POST['branch_id']);
						$institute_id = mysqli_real_escape_string($conn, $_POST['institute_id']);
						

						$res=mysqli_query($conn, "SELECT * FROM add_batch WHERE branch_id='$branch_id' && institute_id='$institute_id'");

						$product_count = mysqli_num_rows ($res);

						$course_id = $row['course_id'];
						if ($product_count > 0) {
                      
                      		
								
									while ($row=mysqli_fetch_array($res)) {


						
										?>

									<div class="col-md-6 col-sm-6">
	                        	<form method="POST" action="student.php?page=subscribecourse">
				                        <div class="card">
				                            <div class="panel-body">
				                            	
				                                <h3><?php echo $row['course_name']; ?></h3>

				                                <input type="hidden" name="student_name" value="<?php echo $s_name; ?>">
				                               <input type="hidden" name="institute_id" value="<?php echo $row['institute_id']; ?>">
				                               
				                               <input type="hidden" name="branch_id" value="<?php echo $row['branch_id']; ?>">
				                               
				                               <input type="hidden" name="batch_id" value="<?php echo $batch_id; ?>">
				                               
				                               <input type="hidden" name="course_id" value="<?php echo $course_id; ?>">
				                                 <input type="hidden" name="course_name" value="<?php echo $row['course_name']; ?>">

				                               <input type="hidden" name="student_id" value="<?php echo $s_id; ?>">
				                                <?php

				                                $res1=mysqli_query($conn, "SELECT * FROM assign_student WHERE branch_id='".$branch_id."'");
				                              #$row1=mysqli_fetch_array($res1);
				                               
				                                while ($row1=mysqli_fetch_array($res1)) {

				                               
				                                	if (($course_id == $row1['course_id']) && ($row1['status'] == 'Approved')) {
				                                		# code...
				                                		echo "<button class='btn-button default' type='submit' name='submit'>Taken</button>";
				                                	}
				                                	else
				                                	{
				                                		echo "<button class='btn-button default' type='submit' name='subscribe'>Not Taken</button>";
				                                	}
				                                	
				                               }

				                                ?>
				                              
				                                
				                                
				                           </div>
				                        </div>
				                         </form>
				                    </div>

									<?php

									}
									
								



                      }
                       else
                      {
                      	?>
                      		<div class="col-md-12 col-sm-12">
	                        	
		                        <div class="card">
		                            <div class="panel-body">
		                            	<h3>Sorry! No course found in this branch</h3>
		                            </div>
		                        </div>
		                    </div>
                      	<?php
                      }

					}
			                   
                    
                ?>
                </div>
                </div>
            
                <!-- end page content -->
                 
            </div>
            </div>
            <!-- end page content -->
          
        </div>
        <!-- end page container -->
        <!-- start footer -->  
        <?php include './footer.php';?>

Member 13812021

Когда они выбирают грубое, что происходит? Есть ли таблица с курсами, которые находятся у связанного пользователя? Имеется ли в виду таблица курсов, таблица пользователей, а затем таблица UserCourses? Или есть таблица пользователей, грубая таблица, таблица UserToCourse?

Member 13783315

таблица курсов, таблица пользователей и таблица UserCourse

1 Ответов

Рейтинг:
2

Patrice T

Экранирование пользовательского ввода не препятствует внедрению SQL-кода:

$branch_id = mysqli_real_escape_string($conn, $_POST['branch_id']);
$institute_id = mysqli_real_escape_string($conn, $_POST['institute_id']);
$res=mysqli_query($conn, "SELECT * FROM add_batch WHERE branch_id='$branch_id' && institute_id='$institute_id'");

Не решение вашего вопроса, а еще одна проблема, которая у вас есть.
Никогда не создавайте SQL-запрос путем объединения строк. Рано или поздно вы сделаете это с помощью пользовательских вводов, и это откроет дверь к уязвимости под названием "SQL-инъекция", она опасна для вашей базы данных и подвержена ошибкам.
Одна кавычка в имени - и ваша программа выйдет из строя. Если пользователь вводит имя, например "Брайан О'Коннер", может привести к сбою вашего приложения, это уязвимость SQL-инъекции, и сбой-это наименьшая из проблем, вредоносный пользовательский ввод, и он продвигается к командам SQL со всеми учетными данными.
SQL-инъекция - Википедия[^]
SQL-инъекция[^]
Атаки SQL-инъекций на примере[^]
PHP: SQL-инъекция - руководство пользователя[^]
Шпаргалка по предотвращению инъекций SQL - OWASP[^]