我有以下PHP代码:
<?php
//Connection to PDO Database
?>
<form method="post" action="">
<p>Busisness telephone 1</p><input id="business_telephone_01" name="business_telephone_01" tabindex="auto" value="<?php echo $result['business_telephone_01']; ?>" type="text" />
<input name="submit" type="submit" value="Save Changes"></form>
<?php
//Get from Form
if((empty($_POST['submit']) === false)){
$business_telephone_01 = $_POST['business_telephone_01'];
//Formating of telephone numbers
$message = 'This message I want to display';
echo 'This is another message';
}
echo $message;
//Code to update table through PDO
?>
无论我在哪里做回声是否是 echo'这是条件括号内的另一个消息'; 或_ echo $ message; _括号外没有任何回显且没有错误是正在展示。
html表单和PDO正在正常运行并且正在更新但没有任何回应。错误日志中没有显示错误。
更新
if((empty($_POST['submit']) === false)){
,我会获得PHP
注意:未定义的变量:hello if (isset($_POST['submit'])) {
,我会收到PHP通知:
未定义的变量:hello if (!isset($_POST['submit']))
{
,它会给我一个我使用的未定义变量的列表,例如从
我的代码在business_telephone_01 我的完整代码
if((empty($_POST['submit']) === false)){
//Get from Form
$address_building_name = $_POST['address_building_name'];
$address_building_number = $_POST['address_building_number'];
$address_street = $_POST['address_street'];
$address_locality = $_POST['address_locality'];
$address_postcode = $_POST['address_postcode'];
$address_country = $_POST['address_country'];
//Formating of address
$address_building_number = strtoupper($address_building_number);
$address_building_number = str_replace(' ','',$address_building_number);
$address_building_name = ucwords($address_building_name);
$address_street = ucwords($address_street);
$address_locality = ucwords($address_locality);
$address_postcode = strtoupper($address_postcode);
$address_country = ucwords($address_country);
echo 'Hello';
$good = 'Good bye';
}
echo $good;
答案 0 :(得分:2)
我愿意打赌$message
没有被回应,因为它从未被初始化。 (应该初始化的if
块未被执行,因为条件失败。)
首先,您应该使用isset
来确定是否已提交POST变量:
if (isset($_POST['submit'])) {
或者,看看它是否 已提交:
if (!isset($_POST['submit'])) {
其次,您应该对您的程序启用错误报告,并告诉我们您获得的错误(如果有):
error_reporting(E_ALL);
ini_set("display_errors", 1);
您可以在开始<?php
行之后将这两行添加到脚本的最顶部,这有助于了解情况。
答案 1 :(得分:0)
问题可能是$ message变量永远不会在if语句中设置。 如果“if”条件不匹配,则永远不会设置$ message,并且您将无法回显该值。
要进行测试,可以在启动if语句之前将$ message变量设置为某个值。
$message = 'condition failed';
if(isset($_POST['submit'])){
....
$message = 'This message I want to display';
}
echo $message;
如果满足条件,则会回显“此消息我要显示”。 如果条件失败,它将回显“条件失败”;
快速脏测试,但会告诉你$ message变量是否会在'if'语句中初始化。