我正在尝试将page1.php中的表单(将数据添加到DB中的表单)中的值传递给page2.php(将IMG添加到DB的表单)。我阅读了大量关于如何做到这一点的网页,但仍无法弄清楚。
<form name="formBrokerTour" class="login-form-addproperty" method="post"
action="insertPropertyInfoWITHgeocode.php" onsubmit="return validateForm()">
然后我需要添加几个字段,地址,城市,邮政编码状态。这里有四分之一:
<td width="125" class="formLable">Address</td>
<td width="269" class="formSquare">
<input type="text" class="general_input"
name="address" id="nameText" width="269" >
</td>
page2.php(相关部分) - 如您所见,如果我写了一个地址,该地址会添加到数据库中,所以我们不必担心sql出错。如果我尝试通过会话将信息从第1页传递到第2页(因为我有用户名来在数据库中添加信息)或发布/获取,则不会添加地址。有趣的是,正在添加用户名。
$username = htmlentities($_SESSION['user']['username'], ENT_QUOTES, 'UTF-8');
$address = "123 abec st";
$query = "
INSERT INTO my_image
(name, size, type, file_path, username, address)
VALUES(?,?,?,?,?,?)";
$conn = $db->prepare($query);
if ($conn == TRUE) {
$conn->bind_param("sissss", $myfile, $fileSize, $fileType, $path, $username, $address);
if (!$conn->execute()) {
echo 'error insert';
} else {
echo 'Success!<br/>';
echo '<img src="' . DISPLAY_PATH . $myfile . '"/>';
}
}
我试图回应$_session
等,正如我们在其他问题中看到的那样,但这是一个新的计算机人的问题...我在哪里添加这些信息?我已经在session_start
顶部添加了它,就在SQL查询之前,它在查询中没有接受它。
page1.php有提交按钮,包含数据库和地理编码内容。它发送到page3.php,询问用户是否要添加图像。如果是,则为page2.php,如果不是索引。 我对传递信息感到困惑。
答案 0 :(得分:3)
表单中的所有字段都在$ _POST中。您可以使用
提取地址$address = $_POST['address'];
如果您使用GET表单操作或通过URL传递变量,则使用$ _GET。
我真的建议查看教程网站或PHP书籍,因为这是你要学习的基本知识之一。
答案 1 :(得分:1)
因为您在查询中使用?
而不是变量,所以bindParam的正确用法类似于$conn->bindParam(number_of_param, the_value);
,其中number_of_param是您要替换的?
的编号。
您还可以将一系列参数传递给$conn->execute()
来电,如下所示,一次性替换所有?
:
$conn = $db->prepare("INSERT INTO my_image(name, size, type, file_path, username, address) VALUES(?,?,?,?,?,?)");
if ($conn == TRUE) {
$result = $conn->execute(array($myfile, $fileSize, $fileType, $path, $username, $address));
if (!$result) {
echo 'error insert';
} else {
echo 'Success!<br/>';
echo '<img src="' . DISPLAY_PATH . $myfile . '"/>';
}
}
旁注:我建议使用PDO :: EXCEPTION样式的错误处理,并使用try {} catch
块来包围数据库代码,因为它可以帮助标准化错误处理,但这完全取决于您。
答案 2 :(得分:0)
使用
$_POST['form input name']
所以
VALUE ($_POST['myfile'], $_POST['fileSize'],ect.)
答案 3 :(得分:0)
对于那些在同一个问题上挣扎的人: 我在所有相关文件中添加了这个
<?php session_start();
$_SESSION['address']=$address;
$_SESSION['city']=$city;
$_SESSION['zip_code']=$zip_code;
?>
我在查询之前添加了这个:
$username = htmlentities($_SESSION['user']['username'], ENT_QUOTES, 'UTF-8');
$address= htmlentities($_SESSION['address']);
$city= htmlentities($_SESSION['city']);
$zip_code= htmlentities($_SESSION['zip_code']);
然后查询:
$query =
"INSERT INTO my_image(name, size, type, file_path, username, address, city, zip_code) VALUES(?,?,?,?,?,?,?,?)";
$conn = $db->prepare($query);
if ($conn == TRUE) {
$conn->bind_param("sissssss", $myfile, $fileSize, $fileType, $path, $username, $address, $city, $zip_code);
.......etc.
可能有一点魔力,我的意思是,可能不需要一些步骤。经过很长一段时间后,它正在工作。