-1
<?php 
if ($_SERVER['REQUEST_METHOD'] == 'POST') { 

$name = $_REQUEST['teamname']; 
$email = $_REQUEST['email']; 
$password = (md5($_REQUEST['password'])); 

$query = "UPDATE users SET email = ?,password = ? WHERE name = ?"; 
$statemnt = $conn->prepare($query); 
$statemnt->bind_param('sss',$email,$password,$name); 
$statemnt->execute(); echo $name,$email,$password; var_dump(); 
$statemnt->close(); $conn->close(); } ?>

设法在此之前弄清楚了 SELECT 语句,但 UPDATE 仍然存在问题 - 此 php 片段上方的表单,假设填写 $email $password 和 $name

<form method="post" action="">Team Name:<br>
<input type="text" name="teamname" value="<?php echo $name;?>">
<br>Email:<br><input type="text" name="email" value="<?php echo $email;?>"> 
<br>Password:<br><input type="text" name="password" value="">
<br><br><input type="Submit" value="Update the Record" name="Submit">
</form>

编辑如下(这部分上面有代码,下面有代码不要指望你想看到我的 html 代码的其余部分 - 底部是我遇到的问题):SELECT STATEMENT 和 var_dump 正在工作,但是当我输入密码时它不会触发提交并最终触发 UPDATE 语句的表单-我今天再次对其进行了处理,但无济于事。如果不确定我做错了什么,请提供任何帮助 - 底部的 var_dump 现在正在输出所有值

<?php
if (isset($_POST['submit'])) {      
    $sql = $conn->prepare("UPDATE users SET email=? , password=? WHERE team=?");
    $postedemail=$_POST['teamemail'];
    $postedpassword= $_POST['teampassword'];
    $sql->bind_param("ssi",$postedemail,$postedpassword,$_POST["mySelect"]);    
    if($sql->execute()) {
        $success_message = "Edited Successfully";
    } else {
        $error_message = "Problem in Editing Record";
    }
    var_dump($postedpassword);
    var_dump($postedemail);

}

$stmt = $conn->prepare("SELECT team, name, email, password FROM users WHERE team = ?");
$stmt->bind_param("i", $_POST["mySelect"]);
$stmt->execute();
$result = $stmt->get_result();
if($result->num_rows === 0) exit('No rows');
while($rows = $result->fetch_assoc()) {
$name = $rows['name'];
$email = $rows['email'];
$password = $rows['password'];
}

var_dump($password);
var_dump($name);
var_dump($email);
var_dump($_POST['mySelect']);
$stmt->close();
?>
<?php if(!empty($success_message)) { ?>
<div class="success message"><?php echo $success_message; ?></div>
<?php } if(!empty($error_message)) { ?>
<div class="error message"><?php echo $error_message; ?></div>
<?php } ?>
<form name="frmUser" method="post" action="">
<label>NAME:</label>
<input type="text" name="teamname" class="txtField" value="<?php echo $name?>">
<label>EMAIL:</label>
<input type="text" name="teamemail" class="txtField" value="<?php echo $email?>">
<label>PASSWORD</label>
<input type="text" name="teampassword" class="txtField" value="">
<input type="submit" name="submit" value="Submit" class="demo-form-submit">
</form>

谢谢

4

1 回答 1

0

您在脚本的开头有这个:$selectedOption = $_POST["mySelect"];

在您的代码中没有任何地方(尤其是在您的<form></form>)中,我看到任何名为"mySelect"

在您的表单中添加此字段,问题应该得到解决。

var_dump();对调试有很大帮助。

于 2018-12-18T11:17:16.637 回答