PHP ver gevorderde |
|
Een voorbeeldje met het ondhouden van sessions, het gaat
om de $_SESSION['bericht'] die moet worden onthouden..
Meteen een voorbeeldje gescript hij gebruikt kan worden..
Ik hoop dat het een dieuwtje in de goede richting geeft
<?PHP
error_reporting (E_ALL);
session_start ();
ob_start ();
// Zorgen dat er een lege sessie is om foutmeldingen te voorkomen!
if (!isset ($_SESSION['bericht'])){ $_SESSION['bericht'] = ""; }
if (!isset ($_SESSION['username'])) { $_SESSION['username'] = ""; }
if (!isset ($_SESSION['error'])){ $_SESSION['error'] = ""; }
// Als er een fout is opgetreden, de foutmelding weergeven
if (!empty ($_SESSION['error']))
{
# De foutmelding bovenaan de pagina weergeven
echo $_SESSION['error'];
}
// Controleren of er op submit is gedrukt
if (isset ($_POST['submit']))
{
# Bericht en username in een sessie zetten
$_SESSION['bericht'] = $_POST['bericht'];
$_SESSION['username'] = $_POST['username'];
#bError aanmaken met FALSE omdat er nog geen fouten zijn
$bError = FALSE;
// Als er geen bericht is ingevoerd, een foutmelding geven
if (empty ($_POST['username']))
{
# TRUE, want er is een fout opgetreden
$bError = TRUE;
$sError = "Geen username ingevoerd";
}
// Als er een fout is, hetvolgende uitvoeren
if ($bError)
{
# Hier krijgt de error-sessie een waarde die bovenaan de pagina
# wordt weergegeven. De header ("Location: #.php") zorgt ervoor
# dat je pagina opnieuw wordt geladen. De eerder vastgezette bericht
# bericht sessie kan nu worden herbruikt in je textarea.
$_SESSION['error'] = $sError;
header ("Location: bericht.php");
}
else
{
// Query uitvoeren
# Session legen, want bericht is succesvol geplaatst
$_SESSION['bericht'] = "";
$_SESSION['username'] = "";
}
}
?>
<form action="" method="post">
<input name="username" type="text" value="<?=$_SESSION['username'];?>" />
<textarea><?=$_SESSION['bericht'];?></textarea>
<input name="submit" type="submit" value="plaatsen!" />
</form>
<?PHP // Zorgen dat er een lege sessie is om foutmeldingen te voorkomen! if (!isset ($_SESSION['bericht'])){ $_SESSION['bericht'] = ""; } if (!isset ($_SESSION['username'])) { $_SESSION['username'] = ""; } if (!isset ($_SESSION['error'])){ $_SESSION['error'] = ""; } // Als er een fout is opgetreden, de foutmelding weergeven if (!empty ($_SESSION['error'])) { # De foutmelding bovenaan de pagina weergeven } // Controleren of er op submit is gedrukt if (isset ($_POST['submit'])) { # Bericht en username in een sessie zetten $_SESSION['bericht'] = $_POST['bericht']; $_SESSION['username'] = $_POST['username']; #bError aanmaken met FALSE omdat er nog geen fouten zijn $bError = FALSE; // Als er geen bericht is ingevoerd, een foutmelding geven if (empty ($_POST['username'])) { # TRUE, want er is een fout opgetreden $bError = TRUE; $sError = "Geen username ingevoerd"; } // Als er een fout is, hetvolgende uitvoeren if ($bError) { # Hier krijgt de error-sessie een waarde die bovenaan de pagina # wordt weergegeven. De header ("Location: #.php") zorgt ervoor # dat je pagina opnieuw wordt geladen. De eerder vastgezette bericht # bericht sessie kan nu worden herbruikt in je textarea. $_SESSION['error'] = $sError; header ("Location: bericht.php"); } else { // Query uitvoeren # Session legen, want bericht is succesvol geplaatst $_SESSION['bericht'] = ""; $_SESSION['username'] = ""; } } ?> <form action="" method="post"> <input name="username" type="text" value="<?=$_SESSION['username'];?>" /> <textarea><?=$_SESSION['bericht'];?></textarea> <input name="submit" type="submit" value="plaatsen!" /> </form>
|