Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/253.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用PHP会话显示状态消息_Php_Html_Session - Fatal编程技术网

使用PHP会话显示状态消息

使用PHP会话显示状态消息,php,html,session,Php,Html,Session,我试图在我的联系人表单上方显示提交状态,所以我的计划是使用会话,但它无法正常工作。表单成功提交,页面成功重定向回demo.htm页面(在重定向到index2.php之后),但从未显示任何状态消息 我还打算使用该会话在空白字段上显示必填标记,因为iOS不支持“required”输入标记(html表单的巨大注释块将替换当前表单字段以处理iOS上的必填字段) 更新:echo有点奇怪。。。。它可能与php.ini文件有关(如果是,是什么?) 输入#1: 输入#2: PHP: HTML: *东西*

我试图在我的联系人表单上方显示提交状态,所以我的计划是使用会话,但它无法正常工作。表单成功提交,页面成功重定向回demo.htm页面(在重定向到index2.php之后),但从未显示任何状态消息

我还打算使用该会话在空白字段上显示必填标记,因为iOS不支持“required”输入标记(html表单的巨大注释块将替换当前表单字段以处理iOS上的必填字段)

更新:echo有点奇怪。。。。它可能与php.ini文件有关(如果是,是什么?)

输入#1:

输入#2:

PHP:


HTML:


*东西*


HTML页面不会解析PHP数据/语法,除非通过
.htaccess
httpd.conf
或一些类似的服务器级关联方法明确告知

您正试图在HTML页面中显示PHP
会话
数据,除非您告诉HTML页面解释PHP代码,否则这是不会发生的

如果您的
demo.htm
只是一个无法处理PHP的HTML页面,那么您将看到输出(包括所有PHP代码),就好像它只是HTML一样

例如:

demo.html(来自您的问题):


*东西*


另外,您在哪里设置
$\u会话['status']
?“它工作不正常”?问题是什么?当我粘贴代码时,格式被弄乱了,session_start在两者中都有,并且我在if/else中的php代码末尾设置了“status”。当我提交表单(已成功提交)时,没有显示任何内容。您能否编辑您的问题,为我们提供关于哪些页面是
.php
页面以及哪些页面是
.htm
页面的指南?我不太清楚您的意思。我将页面标记为PHP/HTML。将其改为.PHP文件会有任何问题吗?如果它不会破坏其他任何东西的功能,我觉得这很好。(当它是.php时,它确实可以很好地工作,谢谢)。只要站点其他部分上的锚定链接具有正确的锚定链接目标名称(
file.php
,而不是
file.htm
),那么就不会产生任何问题@DJD97好的,很好。谢谢哦,我注意到了一件事。php文件将无法加载,如果页面上任何地方有任何打字错误,因为它不再是html。有没有什么办法可以防止这种情况发生——也就是说,有没有办法让拼写错误所在的元素看起来被破坏,而不是阻止整个页面呈现?另外,我还有一个相关的问题。如果输入不正确,如何防止它清除输入字段?我现在设置的方式是,如果任何字段不正确,index.php文件末尾的else将执行,然后demo.php文件将清空所有字段(以及需要更正的任何字段旁边的通知)@Martin1)请继续阅读。整个页面无法加载,因为PHP发现了致命错误,导致脚本停止运行(或者可能是您的数据处理逻辑有缺陷)。
 <p>Text Here</p>
<p><?php echo($_SESSION['status']); ?></p>
<p>Temp</p>
<p id="status">
<?php 
    if(isset($_SESSION['status'])){
        echo("<br/>"$_SESSION['status']."<br/>");
        unset($_SESSION['status']);
    }
?>
</p>
<p>More text here</p>
Text Here

Temp

"$_SESSION['status']."
"); unset($_SESSION['status']); } ?>

More text here
<?php echo strcmp("Hello world!","Hello world!")."<br/>"; ?>
"; ?>
 <?php
 session_start();

 $firstName = $lastName = $email = $companyName = $jobTitle = $phoneNumber = $comments = "";
 $noErrors = true;

 if($_POST['submit']) {
    if(empty($_POST["firstname"])) {    $_SESSION["nameErr"] = "First name is required"; $noErrors=false;} 
    else {                      $firstName = $_POST['firstname']; }
    if(empty($_POST["lastname"])) {     $_SESSION["lastErr"] = "Last name is required"; $noErrors=false;}
    else {                      $lastName = $_POST['lastname']; }
    if(empty($_POST["email"])) {        $_SESSION["emailErr"] = "Email is required"; $noErrors=false;}
    else {                      $email = $_POST['email']; }
    if(empty($_POST["companyname"])) {  $_SESSION["companyErr"] = "Company name is required"; $noErrors=false;}
    else {                      $companyName= $_POST['companyname']; }
    if(empty($_POST["position"])) {     $_SESSION["jobErr"] = "Job title is required"; $noErrors=false;}
    else {                      $jobTitle = $_POST['position']; }
    if(empty($_POST["number"])) {       $_SESSION["phoneErr"] = "Phone number is required"; $noErrors=false;}
    else {                      $phoneNumber = $_POST['number']; }

    $comments = $_POST['comments'];

    $header = "From: xxxxx.com";
    $to = 'xxxxx.com';
    $subject = 'Demo request';

    $message = "From: \r\n 
        Name: $firstName $lastName\r\n 
        E-mail: $email\r\n 
        Company Name: $companyName\r\n 
        Job Title: $jobTitle\r\n
        Phone Number: $phoneNumber\r\n
        Comments: $comments";

    if(($noErrors == true) && mail ($to, $subject, $message, $header)) {
        $_SESSION['status'] = "Your message has been sent!";
        header('Location: demo.htm');
    } else {
        $_SESSION['status'] = "Something went wrong, please try again";
        header('Location: demo.htm');
    }
    exit();
}
?>
<?php
session_start();
?>
<!DOCTYPE html><html>
<head>*stuff*</head><body>
<p id="status">
<?php 
    if(isset($_SESSION['status'])){
        $echo $_SESSION['status'];
        unset($_SESSION['status'];
    }
?>
</p>

<div id="requestADemo">
    <p style="line-height: 2%; font-size: 24px; font-weight: 200;">Request A Demo</p>
    <p style="line-height: 2%; font-style:italic; font-size: 13px;">*indicates required field</p>

    <form method="post" action="index2.php">
        <!--p class="demo" style="margin:0;">First Name:*</p>
            <input type ="name" name="firstname" required>
            <span><?php
                if(isset($_SESSION['nameErr'])){
                    $echo $_SESSION['nameErr'];
                    unset($_SESSION['nameErr'];
                }
            ?></span>
        <p class="demo">Last Name:*</p>
            <input type ="name" name="lastname" required>
            <span><?php
                if(isset($_SESSION['lastErr'])){
                    $echo $_SESSION['lastErr'];
                    unset($_SESSION['lastErr'];
                }
            ?></span>
        <p class="demo">Email:*</p>
            <input type ="email" name="email" required>
            <span><?php
                if(isset($_SESSION['emailErr'])){
                    $echo $_SESSION['emailErr'];
                    unset($_SESSION['emailErr'];
                }
            ?></span>
        <p class="demo">Company Name:*</p>
            <input type ="name" name="companyname" required>
            <span><?php
                if(isset($_SESSION['companyErr'])){
                    $echo $_SESSION['companyErr'];
                    unset($_SESSION['companyErr'];
                }
            ?></span>
        <p class="demo">Job Title:*</p>
            <input type ="name" name="position" required>
            <span><?php
                if(isset($_SESSION['jobErr'])){
                    $echo $_SESSION['jobErr'];
                    unset($_SESSION['jobErr'];
                }
            ?></span>
        <p class="demo">Phone Number:*</p>
            <input type ="number" name="number" required>
            <span><?php
                if(isset($_SESSION['phoneErr'])){
                    $echo $_SESSION['phoneErr'];
                    unset($_SESSION['phoneErr'];
                }
            ?></span>
        <p class="demo">Comments:</p>
            <textarea name="comments" placeholder="Type Here" rows ="10" columns="50"></textarea>
        <p class="demo"><input type="submit" value="Submit" name="submit"></p-->



        <p class="demo">First Name:*<br/><input type ="name" name="firstname" required></p>
        <p class="demo">Last Name:*<br/><input type ="name" name="lastname" required></p>
        <p class="demo">Email:*<br/><input type ="email" name="email" required></p>
        <p class="demo">Company Name:*<br/><input type ="name" name="companyname" required></p>
        <p class="demo">Job Title:*<br/><input type ="name" name="position" required></p>
        <p class="demo">Phone Number:*<br/><input type ="number" name="number" required></p>
        <p class="demo">Comments:<br/><textarea name="comments" placeholder="Type Here" rows ="10" columns="50"></textarea></p>
        <p class="demo"><input type="submit" value="Submit" name="submit"></p>
    </form> 
 </body> 
 </html>
<?php
 session_start();
 ?>
<!DOCTYPE html><html>
 <head>*stuff*</head><body>
<p id="status">
 <?php 
 if(isset($_SESSION['status'])){
       echo $_SESSION['status'];
  unset($_SESSION['status'];
  }
 ?>
 </p>