Ik ben niet heel erg bekend met PHP, maar ik probeer een website te maken waar bij het inloggen een gegeven onthouden moet worden die op de volgende pagina gebruikt moet worden om te zoeken in een database.
Op het moment is dit mijn login pagina (login.php):
<?php
session_start();
if(isset($_GET["log_out"])){
unset($_SESSION["logged_in"]);
echo "U bent uitgelogd en wordt over 3 seconde doorgestuurd.";
header('refresh: 3; url=login.php');
exit;
}
$login = true;
require "protect.php";
$logins[0]["user"] = "a1";
$logins[0]["pass"] = "wachtwoord";
$logins[0]["klantnr"] = "12345";
$logins[0]["redirect"] = "stock.php";
$logins[1]["user"] = "a2";
$logins[1]["pass"] = "wachtwoord";
$logins[1]["klantnr"] = "23456";
$logins[1]["redirect"] = "stock.php";
if(isset($_POST['submit'])){ //is the form submitted?
if(empty($_POST['user']) || empty($_POST['pass'])){
echo "U moet beide velden invullen.";
exit;
} //check for empty user name or password
$is_logged = false; //this is part of the process to see if they have a correct password or not, set to false right here to say no right pass... (will change later)
foreach($logins as $login){
$user = $_POST;
if(($user["user"] == $login["user"]) && ($user["pass"] == $login["pass"])) {
$is_logged = true;
$_SESSION["logged_in"] = array($login["redirect"], true); //now, if they do have a correct password, set the session to true, and the variable.
header("Location: ".$login["redirect"]);
}
}
if(!$is_logged){ echo "Gebruikersnaam/wachtwoord is niet correct. Probeer het opnieuw."; } //if none of the $logins arrays matched the input, give an error
}
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
Gebruikersnaam:<br />
<input type="text" name="user" /><br />
Wachtwoord:<br />
<input type="password" name="pass" /><br />
<input type="submit" name="submit" value="Log in" />
</form>
En de protect.php
<?php
session_start();
if((!isset($_SESSION["logged_in"])) || !$_SESSION["logged_in"][1]){
if(!isset($login)){
header("Location: login.php"); //check to see if logged in, otherwise go to the login
}
} else if (isset($login) || isset($index)){
echo "U bent al ingelogd! <a href='login.php?log_out'>Klik hier</a> om uit te loggen. Of om terug te gaan naar uw pagina, klik <a href='{$_SESSION['logged_in'][0]}'>hier</a>.";
exit;
}
?>
Index.php
<?php
session_start();
if((!isset($_SESSION["logged_in"])) || !$_SESSION["logged_in"][1]){
if(!isset($login)){
header("Location: login.php"); //check to see if logged in, otherwise go to the login
}
} else if (isset($login) || isset($index)){
echo "U bent al ingelogd! <a href='login.php?log_out'>Klik hier</a> om uit te loggen. Of om terug te gaan naar uw pagina, klik <a href='{$_SESSION['logged_in'][0]}'>hier</a>.";
exit;
}
?>
En de stock.php, waar de gegevens van 'klantnr' gebruikt moeten worden
<html>
<head>
<title>Stock</title>
<style>
body {
padding-top: 40px;
padding-bottom: 40px;
padding-left: 150px;
background-color: #ADABAB;
padding: 10px;
text-align: center;
margin: 0px auto;
}
table.center {
margin-left:auto;
margin-right:auto;
}
h2 {
text-align: center;
color: #017572;
}
</style>
</body>
</head>
<?php
require "protect.php";
session_start();
echo $_SESSION["logged_in"];
$host = '8.8.8.8:3306';
$database = 'database';
$table = 'tabel';
$table2 = 'tabel2';
$username = 'naam';
$password = 'wachtwoord';
$nummer22 = '22';
$klantnummer = [b]hier moet dat klantnummer komen[/b];
$html = '<form method="post">';
$html .= 'Artikel: (Incremental)<br />';
$html .= '<input type="text" value="' . @$_POST['nummer'] . '" name="nummer" /><br />';
$html .= '<input type="submit" value="Opvragen" />';
$html .= '</form>';
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$html .= '<table border=2 class="center">';
$html .= "<tr><th>Artikel</th><th> Datum Inslag </th><th> #Opslageenh </th><th> #Verpakeenh </th><th> #Verkoopeenh </th><th> #Stuks </th></tr>";
$mysql = mysql_connect($host, $username, $password);
if (!$mysql) {
die('Kon geen verbinding tot stand brengen: ' . mysql_error());
}
echo '<h2>Welkom</h2>';
$nummer = mysql_real_escape_string($_POST['nummer'], $mysql);
$nummer3 = $nummer.'%';
$sql = "SELECT voorraad_artikelartikelID,voorraad_artikelmutatiedatum, voorraad_artikelaantops, voorraad_artikelaantverp, voorraad_artikelaantverk, voorraad_artikelaantkrimp ".
" FROM {$database}.{$table} ".
"WHERE ({$table}.voorraad_artikelartikelID LIKE '{$nummer3}') AND ({$table}.voorraad_artikelopslh = '{$klantnummer}') AND ({$table}.voorraad_artikelaantops > '0' )";
$result = mysql_query($sql);
if (!$result) {
$message = ' Fout in query! ' . "\n";
//$message .= 'Query: ' . $query;
die($message);
}
while ($data = mysql_fetch_assoc($result)) {
$html.="<tr><td>{$data['voorraad_artikelartikelID']}</td><td>{$data['voorraad_artikelmutatiedatum']}</td><td>{$data['voorraad_artikelaantops']}</td><td>{$data['voorraad_artikelaantverp']}</td><td>{$data['voorraad_artikelaantverk']}</td><td>{$data['voorraad_artikelaantkrimp']}</td></tr>";
// $html .= print_r($data, true);
}
$html .= '</table>';
}
echo $html;
?>Hoe zorg ik er dus voor dat het 'klantnr' van het desbetreffende inlogaccount wordt gebruikt in de stock.php?
Bij voorbaat dank.