Dies ist ein funktionierendes Beispiel für Code, der nur beim ersten Mal eingereicht wird.
Da nur PHP/MySQLi
markiert sind, werden wir mit einem Beispiel gehen, wo der Benutzer eine Taste drücken muss, wenn er die Dateneingabe beendet hat.
<?php
// session_start() has to be the first line of code
session_start();
$con = new mysqli($servername, $username, $password, $dbname);
// if there is NOT a valid POST request (means it is like a first visit)
if (!$_POST)
{
// if the session variable is set unset it
if(isset($_SESSION['beenHere'])) unset($_SESSION['beenHere']);
echo 'Status: This is a fresh start.<br/>';
}
else if(isset($_POST['from']) && isset($_POST['to']) &&
!empty($_POST['from']) && !empty($_POST['to']) &&
!isset($_SESSION['beenHere']))
{
// set the session variable to an arbitrary value, it's important it is set
$_SESSION['beenHere'] = 'This is the first submit';
// prepare the statement
$stmt = $con->prepare("SELECT * FROM Users WHERE age > ? AND age < ?");
// turn the input variables into proper date format and bind the to the ?
// dates are considered strings in prepared statements
$stmt->bind_param("ss", date('Y-m-d',strtotime($_POST['from'])), date('Y-m-d',strtotime($_POST['to'])));
$stmt->execute();
// Here you list all the output columns that you have. I only listed two example columns.
$stmt->bind_result($name, $age);
// loop for each returned row
while ($stmt->fetch())
{
// print the results
printf ("%s %s\n", $name, $age);
}
}
?>
<!-- Leave the action empty to POST to self -->
<form action="" method="POST">
<div>
<label>From</label><input type="date" name="from" value="" />
<label>To</label><input type="date" name="to" value="" />
</div>
<input type="submit" value="clickToEnter" />
</form>
HINWEIS: Für fortgeschrittenere Beispiele Sie javascript/jQuery
in der Lage sein greifen konnte die Session-Variable Client-Seite zu setzen. Dann müssten Sie nicht POST
, weil Sie wertvolle Informationen in der $_SESSION
speichern und beim Laden der Seite überprüfen können.
Daten nicht als Varchar speichern –