Heim  >  Fragen und Antworten  >  Hauptteil

So ändern Sie etwas dauerhaft mit $_POST

Ich versuche, Daten von einer Website auf eine andere zu übertragen: a.html:

<form action="b.php" method="post">
<textarea id="myProjects" name="mp"></textarea>
<input id="submit" type="submit" value="Submit" />
</form>

In b.php:

<?php $content=$_POST['mp'];
echo "you entered ".$content;
?>

Das funktioniert auf sehr seltsame Weise: Wenn ich auf die Schaltfläche „Senden“ klicke, werde ich zur b.php-Seite weitergeleitet und kann sehen, was ich eingegeben habe. Wenn ich diese Seite jedoch neu lade, anstatt sie zu aktualisieren, verschwindet mein Inhalt und wirft einen Fehler Warning: Undefined array key "mp" Es sieht so aus, als ob die von $_POST empfangenen Daten „vorübergehend“ gespeichert werden. Ich bin PHP-Neuling und weiß daher nicht, wie ich das herausfinden soll.

P粉459440991P粉459440991236 Tage vor414

Antworte allen(2)Ich werde antworten

  • P粉182218860

    P粉1822188602024-03-21 00:44:42

    一般来说,您想要做的是将 $_POST['mp'] 的值存储到 $_SESSION 变量中,以便它从一个页面请求持续到下一个页面请求。

    但是,直接操作这些变量通常是不好的做法。除非您清理用户输入,否则您将面临无数的脚本攻击。尽管涉及一些学习,但您最好使用已建立的 PHP 框架(例如 Laravel),该框架具有全套验证功能,并为您管理启动会话的过程。一个好的框架还会在许多其他方面为您提供帮助。

    Antwort
    0
  • P粉879517403

    P粉8795174032024-03-21 00:37:03

    您可以使用 PHP SESSION 功能来保持数据持久性:

    在b.php中:

    Antwort
    0
  • StornierenAntwort