如何通过PHP更新MySQL表上的数据
我似乎无法通过表单输入按钮单击触发如何通过PHP更新MySQL表上的数据,php,mysql,sql-update,Php,Mysql,Sql Update,我似乎无法通过表单输入按钮单击触发if(isset($\u POST['schedule'])条件。如何使用以下代码更新$schedule\u one变量 if(isset($_POST['login'])){ $password=$_POST['password']; $email=$_POST['email']; $ret= mysqli_query($con,"SELECT * FROM maid_marketplace_users WHERE e
if(isset($\u POST['schedule'])
条件。如何使用以下代码更新$schedule\u one
变量
if(isset($_POST['login'])){
$password=$_POST['password'];
$email=$_POST['email'];
$ret= mysqli_query($con,"SELECT * FROM maid_marketplace_users WHERE email='$email' and password='$password'");
$num=mysqli_fetch_array($ret);
$nomee = $num['full_name'];
$schedOne = $num['schedule_one'];
echo "<p align=center>You are entitled to <b>%10 off</b> for the next <b>12 months.</b></p> ";
?>
<div class="uk-child-width-expand@s uk-text-center" uk-grid>
<center> <div class="uk-card uk-card-default uk-card-body">Welcome <b>
<?php
echo "<br>";
if (is_null($schedule_one)){
echo "You don't have any maid services scheduled";
if(isset($_POST['schedule']))
{
$id = $_SESSION['id'];
$schedule_one = $_POST['schedule_one'];
$sql=mysqli_query($con,"UPDATE maid_marketplace_users Set schedule_one='$schedule_one' WHERE id='$id'");
echo "<script>alert('$id Succes! your next schedule is on $schedule_one');</script>";
}
}
else
{
$schedule_one = $_POST['schedule_one'];
echo "Your next schedule is at $schedule_one";
}
?>
<!--Click here to <a href="logout.php" tite="Logout">Logout. -->
<form name="schedule" action="" method="post">
<div class="uk-width-1-1@s">
<div class="uk-inline">
<input class="uk-input" name="schedule_one" type="datetime-local">
</div>
</div>
<div class="uk-width-1-1@s">
<input type="submit" name="schedule" value="Schedule" >
</div>
</form>
</div></center>
</div>
<?php
die();
}
if(isset($\u POST['login'])){
$password=$_POST['password'];
$email=$_POST['email'];
$ret=mysqli_query($con,“从maid_marketplace_用户中选择*,其中电子邮件=“$email”和密码=“$password”);
$num=mysqli\u fetch\u数组($ret);
$nomee=$num['full_name'];
$schedOne=$num['schedule_one'];
echo“您有权在未来12个月内享受10%的折扣。
”;
?>
欢迎
很好,您知道您正在创建安全漏洞
您需要做的一件事是不要使SQL更新在逻辑上不可访问
在这方面:
echo "You don't have any maid services scheduled";
die();
if(isset($_POST['schedule']))
{
$id = $_SESSION['id'];
$schedule_one = $_POST['schedule_one'];
$sql=mysqli_query($con,"UPDATE maid_marketplace_users Set schedule_one='$schedule_one' WHERE id='$id'");
echo "<script>alert('$id Succes! your next schedule is on $schedule_one');</script>";
}
echo“您没有安排任何女佣服务”;
模具();
如果(isset($_POST['schedule']))
{
$id=$\会话['id'];
$schedule\u one=$\u POST['schedule\u one'];
$sql=mysqli\u query($con,“更新maid\u marketplace\u用户设置时间表”\u one='$schedule\u one',其中id='$id');
echo“警报('$id成功!您的下一个日程安排在$schedule_one');”;
}
die()
总是会在您的代码到达SQL更新之前中断它。您不能将if(isset($\u POST['schedule'))
放在另一个if(isset($\u POST['login'])
条件语句中。您必须像这样将其移出第一个条件
if(isset($_POST['login']))
{
....
}
然后添加另一个条件if语句
if(isset($_POST['schedule']))
{
....
}
一个必须在开始另一个if语句之前完成。我认为您需要从表单
标记中删除名称,您还可以在提交按钮中使用该名称,您认为它可能不会触发,因为它位于if(isset($\u POST['login'])内方法?感谢您的帮助。我注意到,已将其删除,但仍不起作用。您认为它可能不会触发,因为它位于if(isset($\u POST['login'])中吗方法?可能。如果您没有通过POST
传递login
字段,所有这些都不会执行。我编辑了我的问题并添加了半完整版本,包括If(isset($\u POST['login'])和If(isset($\u POST['schedule'])nextI不能真正告诉你要做什么,因为你基本上需要的是调试代码的概念。这是一个通过使用代码本身或其他工具来测试你对所发生事情的假设的过程。我推荐一个介绍性的编码类。