我正在尝试从文本框中获取登录用户的输入以插入其行中的列。现在我可以将数据插入到我的数据库中,但它会作为新记录出现。我很难找到一种方法将其指向特定的登录用户,因此它会添加到该行而不是创建新记录。
payment.php
中的表单代码:
<form class="test" action="payment.php" method="post" autocomplete="off">
<input type="text" required class="text" name='bitaddress' placeholder="Public Key...">
<input class="wow shake" data-wow-delay="0.3s" type="submit" value="Accept" name="accept" />
</form>
payment.php
中的PHP代码:
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
if (isset($_POST['accept'])) {
require 'paymentProccess.php';
}
}
?>
最后我的代码paymentProccess.php
:
<?php
require 'db.php';
$bitaddress = $mysqli->escape_string($_POST['bitaddress']);
$user_name = $_SESSION['user_name'];
$email = $_SESSION['email'];
$active = $_SESSION['active'];
$paid = $_SESSION['paid'];
$sql = "INSERT INTO users (bitaddress) " . "VALUES ('$bitaddress')";
if ( $mysqli->query($sql) ){
}
?>
答案 0 :(得分:2)
感谢您的帮助。 3-4个小时后,如果其他人有这个问题,我最终会解决这个问题。
首先我得到了用户的“id”,这是我的主键。
$id = $_SESSION['id'];
然后在我的paymentProccess.php
页面上我使用了这个:
<?php
require 'db.php';
$bitaddress = $mysqli->escape_string($_POST['bitaddress']);
$user_name = $_SESSION['user_name'];
$email = $_SESSION['email'];
$active = $_SESSION['active'];
$paid = $_SESSION['paid'];
$id = $_SESSION['id'];
$sql = "UPDATE users SET bitaddress = '$bitaddress' WHERE id = '$id'";
if ( $mysqli->query($sql) ){
}
?>
注意:我不确定这是否是最有效的方式。它可能有安全漏洞等。但是当我刷新phpMyAdmin时,我已经释放了大量的压力。