这就是我想要做的,我在一个页面中有一个表单:
<form action="update.php" method="post" value="">
<textarea name="update">
<?php $page_name = "home"; $tablename = "pages"; $columnname = "content"; $redirect="formulier_home.php"; ?>
<?php $result = mysql_query("SELECT $columnname FROM $tablename WHERE page_name = '$page_name'"); ?>
<?php include("../includes/content_in_textarea.php"); ?>
</textarea>
<input type="submit" value="Publiceer" >
</form>
我在另一页更新:
<?php require_once("../includes/connection.php"); ?>
<?php $opvangen = $_POST['update'];?>
<?php $content = nl2br($opvangen); ?>
<?php mysql_query("UPDATE $tablename SET $columnname='$content' WHERE page_name='$page_name'") or die (mysql_error());
header("Location:$redirect"); ?>
如果我不在查询中使用变量,它可以正常工作:
<?php mysql_query("UPDATE $tablename SET $columnname='$content' WHERE page_name='$page_name'")or die (mysql_error());
header("Location:$redirect"); ?>
但我对如何将变量传输到更新页面感到有些困惑,我想 使用我想要调整的所有列和页面的更新页面。
答案 0 :(得分:1)
如果您希望将变量从一个站点推送到另一个站点,则需要使用$ _SESSION作为@SomeKittens编写或使用隐藏的表单字段。 $ _SESSION更好,因为用户无法覆盖它。
将它放在表单容器文件的第一行:
<?php session_start(); ?>
表格:
<form action="update.php" method="post">
<textarea name="update">
<?php
$_SESSION['page_name'] = "home";
$_SESSION['tablename'] = "pages";
$_SESSION['columnname'] = "content";
$_SESSION['redirect'] ="formulier_home.php";
$result = mysql_query("SELECT {$_SESSION['columnname']} FROM {$_SESSION['tablename']} WHERE page_name = '{$_SESSION['$page_name']}'");
include("../includes/content_in_textarea.php");
?>
</textarea>
<input type="submit" value="Publiceer" >
</form>
您的upload.php:
<?php
session_start(); // You need to put this in first line all the time when you use the $_SESSION global variable!
require_once("../includes/connection.php");
if (isset($_POST['update'])) {
$opvangen = mysql_real_escape_string($_POST['update']);
$content = nl2br($opvangen);
$result = mysql_query("UPDATE {$_SESSION['tablename']} SET {$_SESSION['columnname']}='$content' WHERE page_name='{$_SESSION['page_name']}'") or die (mysql_error());
header("Location:{$_SESSION['redirect']}");
}
?>
这就是你所需要的一切。
答案 1 :(得分:0)
如果您想将变量从一个页面“转移”到另一个页面,则应使用$_SESSION
超全局变量。
作为旁注,please, don't use mysql_*
functions in new code。它们不再被维护,deprecation process已经开始了。请参阅red box?转而了解prepared statements,并使用PDO或MySQLi - this article将帮助您确定哪个。如果您选择PDO here is a good tutorial。