-1

这就是我想要做的,我在一页中有一个表格:

<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"); ?>

但是我对如何将变量传输到更新页面有点困惑,我想将更新页面用于我想要调整的所有列和页面。

4

2 回答 2

1

如果您想将变量从一个站点推送到另一个站点,您需要使用 @SomeKittens 所写的 $_SESSION 或使用隐藏的表单字段。$_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']}");
}
?>

这就是你所需要的。

于 2012-11-03T14:57:34.483 回答
0

如果你想将变量从一个页面“转移”到另一个页面,你应该使用$_SESSION超全局变量。

作为旁注,请不要mysql_*在新代码中使用函数。它们不再被维护,并且已经开始弃用过程。看到红框了吗?改为了解准备好的语句,并使用PDOMySQLi -本文将帮助您决定使用哪个。如果您选择 PDO,这里有一个很好的教程

于 2012-11-03T14:41:49.123 回答