Rumah > Artikel > pangkalan data > Mengapakah `if(isset($_POST['submit']))` saya Tidak Menyembunyikan Gema dan Jadual pada Muatan Halaman?
Pernyataan if(isset($_POST['submit'])) bertujuan untuk menyembunyikan gema dan jadual tertentu apabila skrip dibuka pada mulanya. Walau bagaimanapun, selepas melaksanakan kod ini, pengguna melaporkan bahawa gema dan jadual masih kelihatan walaupun selepas butang serah diklik.
Isu timbul kerana butang serah tidak ditetapkan sebagai unik nama dalam kod yang disediakan. Untuk membetulkannya, butang itu hendaklah diberi nama, seperti yang dilihat dalam kod yang diperbetulkan di bawah:
<p><input type="submit" value="Submit" name="submit" /></p>
Dengan pengubahsuaian ini, pernyataan if(isset($_POST['submit'])) akan betul mengesan apabila butang hantar telah diklik dan lakukan tindakan yang dimaksudkan untuk menyembunyikan elemen yang dikehendaki.
Selain itu, kod asal terlepas kod sambungan pangkalan data yang bersambung ke pangkalan data. Untuk pemahaman yang lebih baik, kod yang diperbetulkan dan lengkap adalah seperti berikut:
<?php $username = "xxx"; $password = "xxx"; $database = "mobile_app"; mysql_connect('localhost', $username, $password); @mysql_select_db($database) or die("Unable to select database"); $sessionid = isset($_POST['sessionid']) ? $_POST['sessionid'] : ""; $moduleid = isset($_POST['moduleid']) ? $_POST['moduleid'] : ""; $teacherid = isset($_POST['teacherid']) ? $_POST['teacherid'] : ""; $studentid = isset($_POST['studentid']) ? $_POST['studentid'] : ""; $grade = isset($_POST['grade']) ? $_POST['grade'] : ""; $orderfield = isset($_POST['order']) ? $_POST['order'] : ""; $sessionid = mysql_real_escape_string($sessionid); $moduleid = mysql_real_escape_string($moduleid); $teacherid = mysql_real_escape_string($teacherid); $studentid = mysql_real_escape_string($studentid); $grade = mysql_real_escape_string($grade); switch ($orderfield) { case 'ordersessionid': $orderfield = 'gr.SessionId'; break; case 'ordermoduleid': $orderfield = 'm.ModuleId'; break; case 'orderteacherid': $orderfield = 's.TeacherId'; break; case 'orderstudentid': $orderfield = 'gr.StudentId'; break; case 'ordergrade': $orderfield = 'gr.Grade'; break; } $ordertable = $orderfield; $result = mysql_query("SELECT * FROM Module m INNER JOIN Session s ON m.ModuleId = s.ModuleId JOIN Grade_Report gr ON s.SessionId = gr.SessionId JOIN Student st ON gr.StudentId = st.StudentId WHERE ('$sessionid' = '' OR gr.SessionId = '$sessionid') AND ('$moduleid' = '' OR m.ModuleId = '$moduleid') AND ('$teacherid' = '' OR s.TeacherId = '$teacherid') AND ('$studentid' = '' OR gr.StudentId = '$studentid') AND ('$grade' = '' OR gr.Grade = '$grade') ORDER BY $ordertable ASC"); $num = mysql_numrows($result); if (isset($_POST['submit'])) { echo "<p>Your Search: <strong>Session ID:</strong> "; if (empty($sessionid)) echo "'All Sessions'"; else echo "'$sessionid'"; echo ", <strong>Module ID:</strong> "; if (empty($moduleid)) echo "'All Modules'"; else echo "'$moduleid'"; echo ", <strong>Teacher Username:</strong> "; if (empty($teacherid)) echo "'All Teachers'"; else echo "'$teacherid'"; echo ", <strong>Student Username:</strong> "; if (empty($studentid)) echo "'All Students'"; else echo "'$studentid'"; echo ", <strong>Grade:</strong> "; if (empty($grade)) echo "'All Grades'"; else echo "'$grade'"; "</p>"; echo "<p>Number of Records Shown in Result of the Search: <strong>$num</strong></p>"; echo "<table border='1'>"; echo "<tr>"; echo "<th>Student Id</th>"; echo "<th>Forename</th>"; echo "<th>Session Id</th>"; echo "<th>Grade</th>"; echo "<th>Mark</th>"; echo "<th>Module</th>"; echo "<th>Teacher</th>"; echo "</tr>"; while ($row = mysql_fetch_array($result)) { echo "<tr>"; echo "<td>" . $row['StudentId'] . "</td>"; echo "<td>" . $row['Forename'] . "</td>"; echo "<td>" . $row['SessionId'] . "</td>"; echo "<td>" . $row['Grade'] . "</td>"; echo "<td>" . $row['Mark'] . "</td>"; echo "<td>" . $row['ModuleName'] . "</td>"; echo "<td>" . $row['TeacherId'] . "</td>"; echo "</tr>"; } echo "</table>"; } mysql_close(); ?>
Atas ialah kandungan terperinci Mengapakah `if(isset($_POST['submit']))` saya Tidak Menyembunyikan Gema dan Jadual pada Muatan Halaman?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!