2016-11-19 23 views
0

爲什麼它不起作用?

的index.php

<strong>Your name:</strong> 
<form action="name.php" method"post"> 
    <input type="text" name="username"/> 
    <input type="submit" name="Submit" value="Submit!" /> 
</form> 
<?php 
    session_start(); 
    $_SESSION['post-data'] = $_POST; 
?> 

name.php

<strong>Your name is:</strong> 
<strong> 
    <?php 
    session_start(); 
    echo $_SESSION['post-data']; 
    ?> 
</strong> 

name.php打印我:

你的名字是:數組

我該如何解決這個問題?

+1

嘗試使用的print_r理解或回聲$ _SESSION [ '後數據'] [ '用戶名']; –

+0

'session_start();'在HTML – Kitson88

+0

之前session永遠在數組中你不能'echo'會話變量使用'$ _SESSION ['post-data']' – Akshay

回答

1

首先,session_start();應該始終放在文檔的頂部,然後再加載任何HTML。

的index.php

//No need to start session here as no $_SESSION variables needed. 

<strong>Your name:</strong> 
<form action="name.php" method="post"> 
<input type="text" name="username"/> 
<input type="submit" name="Submit" value="Submit!" /> 
</form> 

其次,指定您$_POST數據,它已經發布到name.php後,然後將其分配給$_SESSION

name.php

<?php 
session_start(); 
$_SESSION['username'] = $_POST['username']; 
?> 

<strong>Your name is:</strong> 
<strong><?php echo $_SESSION['username'];?></strong> 

如果你想看看什麼爲了調試目的,你可以使用var_dump()

實施例的var_dump()

var_dump($_POST); 

var_dump($_SESSION);