2017-05-12 2 views
0

Ich bin auf Mitglied bearbeitet Seite arbeiten, so dass für jeden HTML-Eingang I Sitzungen verwenden, um echo Werte wie:Verwendung foreach mehr Session-Attribut

value="<?php echo htmlspecialchars($_SESSION['username']));?> 
value="<?php echo htmlspecialchars($_SESSION['email']));?> 

etc ... einmal Mitgliederprofil Bearbeitungen, i Verwenden Sie die Abfrage erneut, um neue aktualisierte $ Ergebnisse zu erhalten.

Dies ist die alte Art und Weise ist i tat ungesetzt/set neue Sitzungen:

unset($_SESSION['user']); 
unset($_SESSION['email']); 
unset($_SESSION['first_name']); 
unset($_SESSION['last_name']); 
unset($_SESSION['birth_date']); 
unset($_SESSION['about_me']); 
unset($_SESSION['gender']); 
unset($_SESSION['last_activity']); 
unset($_SESSION['image_avatar']); 


$_SESSION['user'] = $result['user']; 
$_SESSION['email'] = $result['email']; 
$_SESSION['first_name'] = $result['first_name']; 
$_SESSION['last_name'] = $result['last_name']; 
$_SESSION['birth_date'] = $result['birth_date']; 
$_SESSION['about_me'] = $result['about_me']; 
$_SESSION['gender'] = $result['gender']; 
$_SESSION['last_activity'] = $result['last_activity']; 
$_SESSION['image_avatar'] = $result['image_avatar']; 

aber ich wollte weniger Codezeilen und versucht zu machen foreach wie folgt aus:

foreach($result as $key => $value) { 
     unset($_SESSION[$key]); 
    } 

    foreach($result as $key => $value) { 
     $_SESSION[$key] = $value; 
    } 

mit foreach funktioniert gut, aber meine einzige Frage ist, ob dieser richtige Weg es macht?

+1

Diejenigen genannt werden _SESSION attributes_ nicht Sitzungen gehen zu ersetzen. Diese Attribute werden in derselben Sitzung festgelegt. – developerwjk

+0

danke @developerwjk kranke Titel bearbeiten, um andere nicht zu verwirren – skunkhaze

Antwort

1

Die einzige Verbesserung, die ich denken kann, ist alles in einer foreach zu tun, und es gibt keine Notwendigkeit, einen Wert unscharf zu schalten Sie sowieso

foreach($result as $key => $value) { 
    // not necessary if you are going to replace the value anyway 
    //unset($_SESSION[$key]); 
    $_SESSION[$key] = $value; 
} 
+0

Sie sind völlig richtig, ich weiß nicht, was ich dachte. Danke – skunkhaze

Verwandte Themen