php - 关于 php post 操作未运行的建议

标签 php mysql

我有一个捐赠页面,当用户点击捐赠时,它会将数据发布到一个名为 test.php 的 php 文件中php 页面运行 MySQL 查询以更新数据库中的 total_Donation 行,这里首先是我的主 php 页面。

位于文件顶部的数据库代码

<?php
$con = mysql_connect("localhost","root","null");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}

mysql_select_db("snr", $con);

$names_sql = "SELECT first_Name, last_Name FROM donate WHERE user_ID > 0";
$names_query = mysql_query($names_sql)or die(mysql_error());
$rsNames= mysql_fetch_assoc($names_query);

if(isset($_POST['donation']) && $_POST['donation'] != '')
{
$donation = mysql_real_escape_string($_GET['donation']);
$fname = mysql_real_escape_string($_GET['first_Name']);
$lname = mysql_real_escape_string($_GET['last_Name']);
$donate_sql = "UPDATE `donate` SET donate_Total = donate_Total + '{$donation}' WHERE      first_Name = '{$fname}' AND last_Name = '{$lname}'";
}
mysql_close($con);
?>

这是我的html表单部分

 form method ="post" action="test.php">
<table>

    <tr><td><label>Runner:</label></td>
    <td>
    <select>
    <?php do{?>
    <option> <?php echo $rsNames['first_Name'];?> <?php echo $rsNames['last_Name'];?></option>
    <?php } while ( $rsNames= mysql_fetch_assoc($names_query))?>
    </select>
    </td>
    </tr>
    <tr><td><label>Donation £</label></td><td><input type="text" maxlength="9"    value="0.00" name="donation"/></td></tr>
    <tr><td><input id="submit" type="submit" value="DONATE"/></td></tr>

</table>
</form>

当用户点击捐赠时,该选项可以很好地获取所有名字和姓氏简单地回显 first_Name 这给出了同样的错误。

<?php

echo $_POST['first_Name'];

?>

谁能帮我解决这个问题,谢谢。

最佳答案

索引.php

<?php
$con = mysql_connect("localhost","root","null");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}

mysql_select_db("snr", $con);

$names_sql = "SELECT first_Name, last_Name FROM donate WHERE user_ID > 0";
$names_query = mysql_query($names_sql)or die(mysql_error());
?>
<form method ="post" action="test.php">
<table>

    <tr><td><label>Runner:</label></td>
    <td>
    <select name="name">
    <?php
    while($list = mysql_fetch_array($names_query))
    {
    ?>
    <option value="<?php echo $list['first_Name'] . ' ' . $list['last_Name']; ?>">
        <?php echo $list['first_Name'] . ' ' . $list['last_Name']; ?>
    </option>
    <?php
    }
    ?>
    </select>
    </td>
    </tr>
    <tr><td><label>Donation £</label></td><td><input type="text" maxlength="9" value="0.00" name="donation" /></td></tr>
    <tr><td><input id="submit" type="submit" name="send" value="DONATE"/></td></tr>

</table>
</form>

测试.php

<?php
$con = mysql_connect("localhost","root","null");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}

mysql_select_db("snr", $con);

if(isset($_POST['donation']) && $_POST['donation'] != '')
{
$names = explode(' ',$_POST['name']);
$first_name= $names[0];
$last_name= $names[1];
$donation = mysql_real_escape_string($_POST['donation']);
$fname = mysql_real_escape_string($first_name);
$lname = mysql_real_escape_string($last_name);

$donate_sql = "UPDATE `donate` SET donate_Total = donate_Total + '" .$donation. "' WHERE  first_Name = '" .$fname. "' AND last_Name = '" .$lname. "'";

echo 'DEBUG (remove after OK): <br>' .$donate_sql. '<br>';
$res = mysql_query($donate_sql);

echo 'Thanks ' .$first_name. ' ' .$last_name. '<br>';

}
mysql_close($con);
?>

就是这样!

关于php - 关于 php post 操作未运行的建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9778143/

相关文章:

php - 使用多个分隔符拆分字符串

javascript - 如何从数组中为 div 提供随机背景颜色

php - mysql查询多张表并统计行数

mysql - 在子域上创建 MySQL 服务器

php - 使用回调函数创建 HTML 列表 (li) 时出现问题

php - 如何在 Amazon s3 SDK for PHP 中使用 get_object_list 方法编写 PCRE 正则表达式模式

mysql - SQL 查询中的流程控制/条件 (CASE)

mysql - 使用 SQL 计算特定发生次数

php - Yii 框架 CDB 命令失败

php - 模拟 PDO 获取失败的情况