我花了一周的时间来讨论这个问题。我想用PHP保存数据库MySQL中的输入数据。我猜这真的很容易。我已经在2 - 3年前创建了它,但现在PHP版本存在问题。在我的研究中,我发现很多人有同样的问题,但没有解决方案。 一开始我在PHP 5.6上工作,我遇到了HTTP_RAW_DATA_POST错误。我决定将我的所有项目都放在PHP 7.0.10上。它看起来像那样:
我的表格
echo "<form action='php/messageManagement.php' method='post'>";
echo "Titre : <input type='text' style='font-size: small;' name='titre'/><br>";
echo "Contenu : <input type='text' style='font-size: small;' name='contenu'/><br>";
echo "Auteur : <input type='text' style='font-size: small;' name='auteur'/><br>";
echo "<input type='submit'/>";
echo "</form>";
我的PHP
<?php
try {
$bdd = new PDO('mysql:host=localhost;dbname=mojuwebsite;charset=utf8', 'root', '');
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
$titre = $_POST['titre'];
$contenu = $_POST['contenu'];
$auteur = $_POST['auteur'];
$parution = date("Y-m-d");
var_dump($titre);
$req = $bdd->prepare('INSERT INTO messages(titre, contenu, parution, auteur) VALUES (:titre, :contenu, :parution, :auteur');
$req->execute(array(
'titre' => $titre,
'contenu' => $contenu,
'parution' => $parution,
'auteur' => $auteur
));
$req->closecursor();
?>
没有什么比这复杂但我的$ _POST []总是空的。在我检查问题的另一个论坛中,没有人提出解决此问题的方法。
我不是专业的PHP开发人员。相信我,我花时间做研究,我真的被阻止了。如果你有一个可能可以帮助我的链接。不要犹豫。谢谢你的帮助。
ps:我已删除了Isset,但它没有改变任何内容。我想我真的不需要它。
答案 0 :(得分:0)
首先,通常没有理由将POST变量$ _POST [&#39; titre&#39;]写入$ titre。只是很高兴直接使用post变量(如果验证输入,甚至更新它)
目前我认为它是webserver配置的问题而不是php本身 - 因为我在本地服务器模式下使用php 7.0.10测试:
C:\Programme\php7.10\php.exe -c "C:\Program Files\php7.10\php.ini-production" -S 127.0.0.1:80 -t D:\WWWROOT\tests
当我输入&#34; abc&#34;时,我得到打印结果string(3) "abc"
进入Titre