2016-11-19 1 views
1

Ich mag einen Code schreiben, die Namen von Benutzer und beim nächsten Besuch gegeben erinnern würde ihn mit diesem gegebenen Namen begrüßen. Ich verstehe Cookies und Sitzungen noch nicht wirklich, also wäre ich dankbar für jede Hilfe. Ich schrieb etwas wie folgt aus:Wie kann ich Daten durch den Benutzer gegeben erinnern

Datei: 1.php

<?php 
    session_start(); 
?> 
<html> 
<form action="2.php" method="post"> 
    Name:<input type="text" name="name"/></br> 
    <input type="submit" value="send"/> 
</form> 
</html> 
<?php 
    $name=$_POST['name']; 
    setcookie('name',$name,time()+3600*24); 
    $_SESSION['name']=$name; 
?> 

Datei: 2.php

//2.php 
<?php 
    session_start(); 
    if(isset($_COOKIE['name'])) 
    echo "Hello".$_SESSION['name']; 
    else 
    echo "Cookie doesnt exist"; 
?> 
+1

Eine Sitzung wird erlöschen, wenn der Browser geschlossen wird und Cookie wird am Leben bleiben, bis sie es Verfallsdatum entspricht (oder Sie können es auslaufen zwingen). – Kitson88

+0

@ Kitson88 ist es richtig? ein bisschen klarer. Ein Cookie ist ein bisschen Daten, die vom Browser gespeichert werden. Eine Sitzung ist eine Sammlung von Daten, die auf dem Server gespeichert sind. – Karthi

Antwort

0

Im Beispiel unten, 1.php nur für die Einreichung verwendet wird, so 2.php Kein PHP-Code wird verwendet.

1.php

<html> 
<form action="2.php" method="post"> 
Name:<input type="text" name="name"/><br> 
<input type="submit" name="submit" value="send"/> 
</form> 
</html> 

Ich habe beide Instanzen dies unten gezeigt, wie ein Cookie und Session einzustellen. Sie können aktualisieren nur 2.php und der Cookie Ausgang noch den Wert von $_COOKIE['name'] zeigen soll.

2.php

<?php 

session_start(); 


if (isset($_POST['name'])) { 

    $_SESSION['username'] = $_POST['name']; 

    setcookie('name',$_SESSION['username'],time()+3600*24); 

} 


//Session Value will show in first instance 
echo "Session Name: " . $_SESSION['username'] . "<br>"; 


//Cookie Value will not how until you refresh page 
echo "Cookie Name: " . $_COOKIE['name'] . "<br>"; 


?> 

Edit: Variablen werden nicht überschrieben werden, wenn die Seite aktualisiert wird.

+0

Beim ersten Besuch wird nur der Name der Sitzung angezeigt, im zweiten nur der Name des Cookies und im dritten nichts. Ich möchte nur – bluzazkapturem

+0

'2.php' verwendet $ name nach jeder Aktualisierung der Website finden Sie in der Session und/oder den Cookie zu setzen. Das ist meine Schuld, weil ich nicht vollständig erklärt habe, aber wenn Sie '2.php' weiter auffrischen, werden Sie Ihre Session- und Cookie-Variablen immer wieder auf Null setzen. Ich werde meinen Code aktualisieren jetzt dies zu vermeiden, so dass es nur die Session oder Cookie wird aktualisiert, wenn der '$ _POST [name]' – Kitson88

+0

gesetzt @bluzazkapturem Update zu sehen. – Kitson88

Verwandte Themen