gpt4 book ai didi

Php mysql 查询在 chrome 中有效,但在 firefox/IE 中无效

转载 作者:行者123 更新时间:2023-11-30 00:17:46 25 4
gpt4 key购买 nike

我刚刚完成我的大学作业,它在 google chrome 中运行得很好,不幸的是,当我在 firefox 和 IE 中测试它时,有一些 mysql 查询不起作用。下面的例子是将一首歌曲添加到数据库中,它在 Chrome 中执行此操作,但是当尝试在 Firefox/IE 中执行相同操作时,页面只是刷新,没有任何反应。我在过去的一个小时里尝试过搜索,但未能找到解决方案。任何帮助将不胜感激。

表单和输入

if (!$edit) { 
?>

<form class="inline" method="post" action="dataGridAdmin.php">
<td><input type="text" name="song" size="20"></td>
<td><input type="text" name="artist" size="20"></td>
<td>

<?php
if (isset($_POST["sort"]) && $_POST["sort"]=="yes") {
echo "<input type=\"hidden\" name=\"sort\" value=\"yes\">".
"<input type=\"hidden\" name=\"sortField\" value=\"".$_POST["sortField"]."\">".
"<input type=\"hidden\" name=\"sortDirection\" value=\"".$_POST["sortDirection"]."\">";
}
?>

<input type="image" src="add.png" name="addTrack" value="yes"></td>
<td><input type="image" src="search.png" name="searchMusic" value="yes"></td>
</form>

<?php
}
?>

</table>

php 和 mysql

// do we want to add a new track?
if (isset($_POST["addTrack"]) && $_POST["addTrack"]=="yes") {
$dbQuery="insert into music values (NULL, '".$_POST["song"]."','".$_POST["artist"]."', 'Y')";
$dbResult=mysql_query($dbQuery);
}

完整文件:

<html>
<head>
<title>Music Database Editor</title>

<link rel="stylesheet" type="text/css" href="style.css" />

</head>

<body>


<?php

include "dbConnect.php";

session_start();
if (!(isset($_SESSION["currentUser"]))) header ("Location: adminLogin.php");
$currentUser=$_SESSION["currentUser"];
$currentUserID=$_SESSION["currentUserID"];

$dbQuery="select * from users where id='$currentUserID'";
$dbResult=mysql_query($dbQuery);
$dbRow=mysql_fetch_array($dbResult);
$adminPriv=$dbRow["admin"];
if ($adminPriv=='N') {
header ("Location: adminLogin.php");
}

// print_r($_POST); // this line can be removed after debugging

// set up page size and current page
$pageSize=10;
if (isset($_POST["thisPage"])) $thisPage=$_POST["thisPage"];
else if (isset($_GET["page"])) $thisPage=$_GET["page"];
else $thisPage=1;

// now check for database activity

// do we want to add a new track?
if (isset($_POST["addTrack"]) && $_POST["addTrack"]=="yes") {
$dbQuery="insert into music values (NULL, '".$_POST["song"]."','".$_POST["artist"]."', 'Y')";
$dbResult=mysql_query($dbQuery);
}

// do we want to modify an existing track?
if (isset($_POST["updateData"]) && $_POST["updateData"]=="yes") {
$dbQuery="update music set ".
"song='".$_POST["newSong"]."', ".
"artist='".$_POST["newArtist"]."' ".
"where id=".$_POST["id"];
$dbResult=mysql_query($dbQuery);
}

// do we want to delete a track?
if (isset($_POST["deleteTrack"]) && $_POST["deleteTrack"]=="yes") {
$dbQuery="delete from music where id=".$_POST["id"];
$dbResult=mysql_query($dbQuery);
}

// have we clicked on the edit icon?
if (isset($_POST["editTrack"]) && $_POST["editTrack"]=="yes") {
$edit=true;

$dbQuery="select * from music where id=".$_POST["id"];
$dbResult=mysql_query($dbQuery);
$dbRow=mysql_fetch_array($dbResult);

// set up the values that will appear in the edit form
$editId=$dbRow["id"];
$editSong=$dbRow["song"];
$editArtist=$dbRow["artist"];
}
else $edit=false;

// how many tracks are in the table?
if (isset($_POST["searchMusic"]) && $_POST["searchMusic"]=="yes")
$dbQuery="select count(id) from music where song like '%".$_POST["song"]."%' and got='Y'";
else
$dbQuery="select count(id) from music where got='Y'";

$dbResult=mysql_query($dbQuery);
$dbRow=mysql_fetch_array($dbResult);
$totalRows=$dbRow[0];
// adjust $thisPage if we have just deleted the only track on the previous page
if (($thisPage*$pageSize)-($pageSize-1)>$totalRows) $thisPage--;

// do we want to search for a track? track name
if (isset($_POST["searchMusic"]) && $_POST["searchMusic"]=="yes") {
if (isset($_POST["song"]) && $_POST["song"]!="")
$likeStr="where song like '%".$_POST["song"]."%'";
if (isset($_POST["artist"]) && $_POST["artist"]!="")
$likeStr="where artist like '%".$_POST["artist"]."%'";
if (isset($_POST["song"]) && $_POST["song"]!="" && isset($_POST["artist"]) && $_POST["artist"]!="")
$likeStr="where song like '%".$_POST["song"]."%' and artist like '%".$_POST["artist"]."%'";
} else $likeStr="";

if (isset($_POST["sort"]) && $_POST["sort"]=="yes") { // are the tracks sorted?
$dbQuery="select * from music $likeStr " .
" order by ".$_POST["sortField"]." ".$_POST["sortDirection"].
" limit $pageSize offset " . ($thisPage-1)*$pageSize;
} else $dbQuery="select * from music $likeStr where got='Y' limit $pageSize offset ".($thisPage-1)*$pageSize;

$dbResult=mysql_query($dbQuery);
$numResults=mysql_num_rows($dbResult);



// which tracks are we currently displaying?
if ($numResults==0) {
$first=0; $last=0;
} else {
$first=(($thisPage-1)*$pageSize)+1;
if ($thisPage<$totalRows/$pageSize) $last=$first+($pageSize-1); else $last=$totalRows;
}

$prevPage=$thisPage-1;
$nextPage=$thisPage+1;



echo "<hr width='1300'>";
echo "<br>";
echo "<h3>Music Database Editor</h3>";

// echo "<p>$dbQuery</p>";
// display button link to previous page
if ($thisPage>1) {
echo "<form class=\"inline\" method=\"post\" action=\"dataGridAdmin.php\">".
"<input type=\"hidden\" name=\"thisPage\" value=\"$prevPage\">";
if (isset($_POST["sort"]) && $_POST["sort"]=="yes") {
echo "<input type=\"hidden\" name=\"sort\" value=\"yes\">".
"<input type=\"hidden\" name=\"sortField\" value=\"".$_POST["sortField"]."\">".
"<input type=\"hidden\" name=\"sortDirection\" value=\"".$_POST["sortDirection"]."\">";
}
if (isset($_POST["searchMusic"]) && $_POST["searchMusic"]=="yes") {
echo "<input type=\"hidden\" name=\"searchMusic\" value=\"yes\">".
"<input type=\"hidden\" name=\"song\" value=\"".$_POST["song"]."\">";
}
echo "<input type=\"image\" src=\"previous.png\" alt=\"Previous page\">".
"</form> ";
} else echo "<img src=\"previous.png\"> ";

echo "Displaying tracks $first-$last of $totalRows ";
if (isset($_POST["searchMusic"]) && $_POST["searchMusic"]=="yes")
echo "containing '".$_POST["song"]."".$_POST["artist"]."' ";

// display button link to next page
if ($thisPage<$totalRows/$pageSize) {
echo "<form class=\"inline\" method=\"post\" action=\"dataGridAdmin.php\">".
"<input type=\"hidden\" name=\"thisPage\" value=\"$nextPage\">";
if (isset($_POST["sort"]) && $_POST["sort"]=="yes") {
echo "<input type=\"hidden\" name=\"sort\" value=\"yes\">".
"<input type=\"hidden\" name=\"sortField\" value=\"".$_POST["sortField"]."\">".
"<input type=\"hidden\" name=\"sortDirection\" value=\"".$_POST["sortDirection"]."\">";
}
if (isset($_POST["searchMusic"]) && $_POST["searchMusic"]=="yes") {
echo "<input type=\"hidden\" name=\"searchMusic\" value=\"yes\">".
"<input type=\"hidden\" name=\"song\" value=\"".$_POST["song"]."\">";
}
echo "<input type=\"image\" src=\"next.png\" alt=\"Next page\">".
"</form> ";
} else echo "<img src=\"next.png\"> ";

if (isset($_POST["searchMusic"]) && $_POST["searchMusic"]=="yes") {
echo "<form class=\"inline\" method=\"post\" action=\"dataGridAdmin.php\">";
if (isset($_POST["sort"]) && $_POST["sort"]=="yes") {
echo "<input type=\"hidden\" name=\"sort\" value=\"yes\">".
"<input type=\"hidden\" name=\"sortField\" value=\"".$_POST["sortField"]."\">".
"<input type=\"hidden\" name=\"sortDirection\" value=\"".$_POST["sortDirection"]."\">";
}
echo "<input type=\"image\" src=\"showAll.png\" alt=\"Show All\">".
"</form> ";
}
?>

<!-- now the current page of tracks -->
<table cellspacing="5">
<tr>

<!-- Sort song name -->
<th><form class="inline" method="post" action="dataGridAdmin.php">
<input type="hidden" name="sort" value="yes">
<input type="hidden" name="sortField" value="song">
<input type="hidden" name="sortDirection" value="asc">
<input type="hidden" name="thisPage" value="<?php echo $thisPage; ?>">
<?php
if (isset($_POST["searchMusic"]) && $_POST["searchMusic"]=="yes") {
echo "<input type=\"hidden\" name=\"searchMusic\" value=\"yes\">".
"<input type=\"hidden\" name=\"song\" value=\"".$_POST["song"]."\">";
}
?>
<input type="image" src="sort_ascend.png" alt="Sort A-Z">
</form>
Song
<form class="inline" method="post" action="dataGridAdmin.php">
<input type="hidden" name="sort" value="yes">
<input type="hidden" name="sortField" value="song">
<input type="hidden" name="sortDirection" value="desc">
<input type="hidden" name="thisPage" value="<?php echo $thisPage; ?>">
<?php
if (isset($_POST["searchMusic"]) && $_POST["searchMusic"]=="yes") {
echo "<input type=\"hidden\" name=\"searchMusic\" value=\"yes\">".
"<input type=\"hidden\" name=\"song\" value=\"".$_POST["song"]."\">";
}
?>
<input type="image" src="sort_descend.png" alt="Sort Z-A">
</form></th>

<!-- Sort artist name -->

<th><form class="inline" method="post" action="dataGridAdmin.php">
<input type="hidden" name="sort" value="yes">
<input type="hidden" name="sortField" value="artist">
<input type="hidden" name="sortDirection" value="asc">
<input type="hidden" name="thisPage" value="<?php echo $thisPage; ?>">
<?php
if (isset($_POST["searchMusic"]) && $_POST["searchMusic"]=="yes") {
echo "<input type=\"hidden\" name=\"searchMusic\" value=\"yes\">".
"<input type=\"hidden\" name=\"artist\" value=\"".$_POST["artist"]."\">";
}
?>
<input type="image" src="sort_ascend.png" alt="Sort A-Z">
</form>
Artist
<form class="inline" method="post" action="dataGridAdmin.php">
<input type="hidden" name="sort" value="yes">
<input type="hidden" name="sortField" value="artist">
<input type="hidden" name="sortDirection" value="desc">
<input type="hidden" name="thisPage" value="<?php echo $thisPage; ?>">
<?php
if (isset($_POST["searchMusic"]) && $_POST["searchMusic"]=="yes") {
echo "<input type=\"hidden\" name=\"searchMusic\" value=\"yes\">".
"<input type=\"hidden\" name=\"artist\" value=\"".$_POST["artist"]."\">";
}
?>
<input type="image" src="sort_descend.png" alt="Sort Z-A">
</form></th><th></th><th></th></tr>

<?php
while ($dbRow=mysql_fetch_array($dbResult)) {

$id=$dbRow["id"];
$song=$dbRow["song"];
$artist=$dbRow["artist"];

// are we editing a track? If so, display the form
if ($edit) {
if ($id==$_POST["id"]) {
echo "<tr><form class=\"inline\" method=\"post\" action=\"dataGridAdmin.php\">".
"<input type=\"hidden\" name=\"updateData\" value=\"yes\">".
"<input type=\"hidden\" name=\"id\" value=\"$editId\">".
"<td><input type=\"text\" name=\"newSong\" value=\"$editSong\"></td>".
"<td><input type=\"text\" name=\"newArtist\" value=\"$editArtist\"></td>".
" <input type=\"hidden\" name=\"thisPage\" value=\"$thisPage\">";
if (isset($_POST["sort"]) && $_POST["sort"]=="yes") {
echo "<input type=\"hidden\" name=\"sort\" value=\"yes\">".
"<input type=\"hidden\" name=\"sortField\" value=\"".$_POST["sortField"]."\">".
"<input type=\"hidden\" name=\"sortDirection\" value=\"".$_POST["sortDirection"]."\">";
}
if (isset($_POST["searchMusic"]) && $_POST["searchMusic"]=="yes") {
echo "<input type=\"hidden\" name=\"searchMusic\" value=\"yes\">".
"<input type=\"hidden\" name=\"song\" value=\"".$_POST["song"]."\">";
}
echo "<input type=\"image\" src=\"edit.png\"></td>".
"<td></td></form></tr>";
} else {
echo "<tr><td>$song</td><td>$artist</td><td></td><td></td>";
}
}
// not editing, so display the tracks as text
else {
echo "<tr><td width='300'>$song</td><td width='300'>$artist</td>";
echo "<td><form class=\"inline\" method=\"post\" action=\"dataGridAdmin.php\">".
" <input type=\"hidden\" name=\"editTrack\" value=\"yes\">".
" <input type=\"hidden\" name=\"id\" value=\"$id\">".
" <input type=\"hidden\" name=\"thisPage\" value=\"$thisPage\">";
if (isset($_POST["sort"]) && $_POST["sort"]=="yes") {
echo "<input type=\"hidden\" name=\"sort\" value=\"yes\">".
"<input type=\"hidden\" name=\"sortField\" value=\"".$_POST["sortField"]."\">".
"<input type=\"hidden\" name=\"sortDirection\" value=\"".$_POST["sortDirection"]."\">";
}
if (isset($_POST["searchMusic"]) && $_POST["searchMusic"]=="yes") {
echo "<input type=\"hidden\" name=\"searchMusic\" value=\"yes\">".
"<input type=\"hidden\" name=\"song\" value=\"".$_POST["song"]."\">";
}
echo " <input type=\"image\" src=\"edit.png\" alt=\"Edit track\">".
" </form></td>".
"<td><form class=\"inline\" method=\"post\" action=\"dataGridAdmin.php\">".
" <input type=\"hidden\" name=\"deleteTrack\" value=\"yes\">".
" <input type=\"hidden\" name=\"id\" value=\"$id\">".
" <input type=\"hidden\" name=\"thisPage\" value=\"$thisPage\">";
if (isset($_POST["sort"]) && $_POST["sort"]=="yes") {
echo "<input type=\"hidden\" name=\"sort\" value=\"yes\">".
"<input type=\"hidden\" name=\"sortField\" value=\"".$_POST["sortField"]."\">".
"<input type=\"hidden\" name=\"sortDirection\" value=\"".$_POST["sortDirection"]."\">";
}
if (isset($_POST["searchMusic"]) && $_POST["searchMusic"]=="yes") {
echo "<input type=\"hidden\" name=\"searchMusic\" value=\"yes\">".
"<input type=\"hidden\" name=\"song\" value=\"".$_POST["song"]."\">";
}
echo " <input type=\"image\" src=\"delete.png\" alt=\"Delete track\">".
" </form></td>".
"</tr>";
}
}

// only display the "add track" form if we are NOT currently editing
if (!$edit) {
?>

<tr>
<form class="inline" method="post" action="dataGridAdmin.php">
<td><input type="text" name="song" size="20"></td>
<td><input type="text" name="artist" size="20"></td>
<td>
<?php
if (isset($_POST["sort"]) && $_POST["sort"]=="yes") {
echo "<input type=\"hidden\" name=\"sort\" value=\"yes\">".
"<input type=\"hidden\" name=\"sortField\" value=\"".$_POST["sortField"]."\">".
"<input type=\"hidden\" name=\"sortDirection\" value=\"".$_POST["sortDirection"]."\">";
}
?>
<input type="image" src="add.png" name="addTrack" value="yes"></td>
<td><input type="image" src="search.png" name="searchMusic" value="yes"></td>
</form>
</tr>

<?php
}
?>

</table>

<p></br>&nbsp <a href="adminLogin.php">Logout</a>


</body>

</html>

如果有帮助的话,它看起来像这样: http://i57.tinypic.com/2hpmzbt.jpg

最佳答案

首先,您的插入绝对没有针对 SQL 注入(inject)的保护。感谢 XKCD,有一个关于 Bobby Tables 的笑话你可以看到这详细解释了整个问题。

其次,我无法判断问题出在哪里,因为您没有显示执行输出的代码,仅显示执行提交的代码。您的 PHP block 是在您提交的同一页面上还是在单独的页面上?您使用重定向吗?

关于Php mysql 查询在 chrome 中有效,但在 firefox/IE 中无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23518753/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com