2016-11-19 3 views
0

Warum funktioniert es nicht?

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 drucken mich:

Ihr Name ist: Array

Wie kann ich das beheben?

+1

Try print_r zu verwenden, um zu verstehen oder echo $ _SESSION [ 'post-Daten'] [ 'username']; –

+0

'Session_Start();' vor HTML – Kitson88

+0

Sitzung ist immer in Array können Sie nicht 'echo' Sitzungsvariable mit' $ _SESSION ['Post-Daten'] ' – Akshay

Antwort

1

Zunächst sollte session_start(); immer an den Anfang des Dokuments platziert werden, bevor HTML geladen wurde.

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> 

Zweitens Ihre $_POST Daten zuweisen, nachdem es auf name.php geschrieben worden ist, und weisen Sie dann zu einem $_SESSION

name.php

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

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

Wenn Sie sehen wollen, was ins ist ide ein Array für Debug-Zwecke dann können Sie var_dump() verwenden.

Beispiel var_dump()

var_dump($_POST); 

oder

var_dump($_SESSION);