Не могу найти href в форме после нажатия кнопки - PullRequest
0 голосов
/ 17 февраля 2019

Когда я нажимаю кнопку заимствования, он должен выполнить мой loaning.php, но он просто возвращается к самому себе.Это не выполнение действия.Есть ли какой-нибудь способ, которым я могу решить это?

<form id = "myform" action="includes/borrowing.php" method = "POST" enctype ="multipart/form-data">
                        <div class = "form-group pull-left">    
                            <label>Student Name:</label>
                            <br />
                            <select name = "fIDNumber" id = "student">
                                <option value = "" selected = "selected" disabled = "disabled">Select an option</option>
                                <?php
                                    $qborrow = $con->query("SELECT * FROM `tblstudents` ORDER BY `fLastName`") or die(mysqli_error());
                                    while($fborrow = $qborrow->fetch_array()){
                                ?>
                                    <option value = "<?php echo $fborrow['fIDNumber']?>"><?php echo $fborrow['fFirstName']." ".$fborrow['fMiddleName']." ".$fborrow['fLastName']?></option>
                                <?php
                                    }
                                ?>
                            </select>
                        </div>
                        <div class = "form-group pull-right">   
                            <button name = "save_borrow" class = "btn btn-primary"><span class = "glyphicon glyphicon-thumbs-up"></span> Borrow</button>
                        </div>
                        <table id = "table" class = "table table-bordered">
                <thead>
                    <th>Select</th>
                    <th> Code </th>
                    <th> Title </th>
                    <th> Author </th>
                    <th> Category </th>
                    <th> Shelf Location </th>
                    <th> Edition </th>
                </thead>
                <tbody>
                    <?php
                                    $sql = $con->query("SELECT * FROM `tblbooks`") or die(mysqli_error());
                                    while($row = $sql->fetch_array()){
                                    $q_borrow = $con->query("SELECT * FROM `tblbooks` WHERE `fBookCode` = '$row[fBookCode]' and `fStatus` = '$row[fStatus]'") or die(mysqli_error());
                                    $status = $q_borrow->fetch_array();

                    ?>
                    <tr>

                        <td>
                        <?php
                        if($status == 'Borrowed'){
                        echo "<center><label class = 'text-danger'>Not Available</label></center>";
                        }else{
                        echo '<input type = "hidden" name = "fBookCode[]" value = "'.$row['fBookCode'].'"><center><input type = "checkbox" name = "selector[]" value = "1"></center>';
                        }
                        ?>
                        </td>
                        <td><center> <?php echo $row['fBookCode']; ?> &emsp;</center></td>
                        <td> <?php echo $row['fTitle']; ?>&emsp;</td>
                        <td> <?php echo $row['fAuthor']; ?> &emsp;</td>
                        <td> <?php echo $row['fCategory']; ?> &emsp;</td>
                        <td> <?php echo $row['fShelfLocation']; ?> &emsp;&emsp;</td>
                        <td> <?php echo $row['fEdition']; ?> &emsp;</td>

                    </tr>
                    <?php
                        }   
                    ?>
                </tbody>

            </table>
                    </form>

Вот мой заем.php Это еще не полностью закончено, но по крайней мере это должно быть в состоянии прочитать это.Я попытался использовать ссылку, но она больше не читает мои поля.Я хочу использовать метод формы, но он действительно этого не видит.

<?php
    require_once 'connection_db.php';
    if(!ISSET($_POST['fIDNumber'])){    
        echo '
            <script type = "text/javascript">
                alert("Select student name first");
                window.location = "../borrow.php";
            </script>
        ';
    }else{
        if(!ISSET($_POST['selector'])){
            echo '
                <script type = "text/javascript">
                    alert("Selet a book first!");
                    window.location = "../borrow.php";
                </script>
            ';
        }else{
            foreach($_POST['selector'] as $key=>$value){
                $fIDNumber = $_POST['fIDNumber'];
                $fBookCode = $_POST['fBookCode'][$key];
                $date = date("Y-m-d", strtotime("+8 HOURS"));
                $conn->query("INSERT INTO `tbltransactions` VALUES('', '$fBookCode', '$fIDNumber', '$book_qty', '$date', 'Borrowed')") or die(mysqli_error());
                echo '
                    <script type = "text/javascript">
                        alert("Successfully Borrowed");
                        window.location = "../borrow.php";
                    </script>
                ';
            }
        }   
    }   

1 Ответ

0 голосов
/ 17 февраля 2019

Похоже, вы пытались получить доступ к строке $ неправильным способом.Попробуйте это:

$fBookCodeVal = $row['fBookCode'];
$fStatus = $row['fStatus'];
$q_borrow = $con->query("SELECT * FROM `tblbooks` WHERE `fBookCode` = '$fBookCodeVal' and `fStatus` = '$fStatus'") or die(mysqli_error());

Также я заметил, что вы не используете подготовленные операторы (с привязанными параметрами).Похоже, что $ row заполняется с помощью запроса, который, конечно, если значение fBookCode строки содержит вредоносный код, тогда можно выполнить SQL-инъекцию.

Также измените:

$status = $q_borrow->fetch_array();

на

$status = $q_borrow->mysqli_fetch_assoc();    

, а затем обновить:

if($status['status'] == 'Borrowed')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...