met meerdere inloggen

Status
Niet open voor verdere reacties.

twinnie

Gebruiker
Lid geworden
15 jan 2001
Berichten
249
Hoi ik gebruik onderstaand script om in teloggen en berstanden te verwijderen, dit werkt perfect!
Maar nu wil ik dat er meerdere gebruiker in kunnen inloggen, ik heb al van alles geprobeerd maar ik kom er dan niet in.
Log ik ik zoals het script nu is dus met 1 user dan log ik wel in.

Wie weet wat ik moet veranderen?
Vast bedankt voor de hulp

PHP:
<?php
session_start();
$adm['user'] = "ikke";
$adm['pass'] = "989898";
$map = '../kantoor/'; // dan map waar de geuploaden dingen naar verdwijnen

$uri = $_SERVER['REQUEST_URI'];
?>

<?php

# als er de admin pagina gevraagt word...
if(ereg("admin", $uri)){

if($_SESSION['admin'] == "logi"){
?>

<br /><font face="Verdana" size="2">&nbsp;&nbsp;&nbsp; </font><a href="?logout" style="text-decoration: none"><font face="Verdana"  color="#F2EABB" size="2">Uitloggen</font></a><br /><br />
<table style="border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse; font-family: Verdana; font-size: 10 pt; color: #F2EABB" bordercolor="#F2EABB" width="500">

<?
if ($handle = opendir($map)) {

while (false!=($file=readdir($handle))) {
if($file != "." && $file != ".." && !ereg("php", $file)){
if(filesize($map . $file) > 1024){
$ext = ' Kb';
$size = round(filesize($map . $file) / 1024, 2 );
}else{
$ext = ' Byte';
$size = filesize($map . $file);
}
echo '<tr>';
echo '<td class="b r c" style="width:60px;font-family: Verdana; color: #F2EABB">';
echo '<a href="?del='. $file .'">[ X ]</a>';
echo '</td>';
echo '<td class="b r" style="width:300px;text-indent:10px;font-family: Verdana;color: #F2EABB">';
echo '<a target="_blank" href="'. $map . $file .'">'. $file .'</a>';
echo '</td>';
echo '<td class="b r c" style="width:100px;text-indent:10px;font-family: Verdana;color: #F2EABB">';
echo $size . $ext;
echo '</td>';
echo '</tr>';
}
}
closedir($handle);
}
   echo "<br><br><br><br><br>Klik op X om bestand te verijderen<br><br><br>";
?>

</table>

<?
}else{
if(isset($_POST['subm'])){
if($_POST['user'] == $adm['user'] && $_POST['pass'] == $adm['pass']){
$_SESSION['admin'] = "logi";
echo'<meta http-equiv="refresh" content="0; URL=?admin">';
}
}else{
?>

<form method="post">
Gebruikersnaam  : <input type="text" name="user" class="input" size="20" /><br />
Paswoord  :&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input type="password" name="pass" class="input" size="20"   /><br />
&nbsp;<input type="submit" name="subm" value="log in" /><br />
</form>
<br /><font face="Verdana" size="2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font><a href="../bestandsbeheer.htm" style="text-decoration: none"><font face="Verdana"  color="#F2EABB" size="2">Verlaat deze pagina</font></a><br /><br />

<? }
}
}elseif(ereg("logout", $uri)){
unset($_SESSION['admin']);
session_destroy();
echo'<meta http-equiv="refresh" content="0; URL=?admin">';

}elseif(ereg("del", $uri)){
if($_SESSION['admin'] == "logi"){
if(isset($_GET['del']) && !empty($_GET['del'])){
if(file_exists($map . $_GET['del'])){
if($_GET['del'] != "." && $_GET['del'] != ".." && !ereg("php", $_GET['del'])){
unlink($map . $_GET['del']);
echo'<meta http-equiv="refresh" content="0; URL=?admin">';
}
}
}
}
}
?>
 
Laatst bewerkt:
Je zult meerdere gebruikers aan moeten maken, bij voorkeur via een database.

Je hebt het nu single user, hardcoded gedaan.
Wat je dan doet is de gebruikersnaam en het wachtwoord in de database opslaan en daarna via een SELECT-query een controle op juistheid gaat uitvoeren. Vervolgens bij een goedkeuring zorg je dat ze een sessie krijgen toegewezen.
 
Het is maar voor 5 users ik heb al wat dingen geprobeerd want een database aanmaken heb ik nog nooit gedaan en om het script aan te passen is voor mij ook moeilijk, ben pas bezig met php.

PHP:
$adm['user'] = "ikke", "jij" ; 
$adm['pass'] = "989898", "000";

Dit werkt ook niet

De rest van het script moet ik gewoon behouden om bestanden te kunnen verwijderen
 
Laatst bewerkt:
Dan zou je het zo op kunnen lossen
PHP:
$users = array(
"User 1" => "WW_voor_User_1",
"User 2" => "WW_voor_User_2",
"User 3" => "WW_voor_User_3");

if($users[$_POST['username']] == $_POST['password']) {
  echo 'Wachtwoord klopt';
} else {
  echo 'Foutief wachtwoord';
}
 
Laatst bewerkt:
PHP:
$users = array( 
"User 1" => "WW_voor_User_1", 
"User 2" => "WW_voor_User_2", 
"User 3" => "WW_voor_User_3");
Dat plak ik ipv.

PHP:
[$adm['user'] = "twinnie";
$adm['pass'] = "131067";/PHP]

en dit 
[PHP]if($users[$_POST['username']] == $_POST['password']) { 
  echo 'Wachtwoord klopt'; 
} else { 
  echo 'Foutief wachtwoord''; 
}
ik in line 183
en dan krijg ik steeds een fout melding in line 203
met deze tekst:
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting ',' or ';' in /home/arriva/domains/arriva-noordoostbrabant.nl/public_html/site/upload/verwijder_kantoor1.php on line 203

Jammer ik dacht nu hebben we het, helaas.
 
PHP:
<?php
session_start();
$users = array(  
"User 1" => "WW_voor_User_1",  
"User 2" => "WW_voor_User_2",  
"User 3" => "WW_voor_User_3");  
$map = '../kantoor/'; // dan map waar de geuploaden dingen naar verdwijnen

$uri = $_SERVER['REQUEST_URI'];
?>

<?php

# als er de admin pagina gevraagt word...
if(ereg("admin", $uri)){

if($_SESSION['admin'] == "logi"){
?>

<br /><font face="Verdana" size="2">&nbsp;&nbsp;&nbsp; </font><a href="?logout" style="text-decoration: none"><font face="Verdana"  color="#F2EABB" size="2">Uitloggen</font></a><br /><br />
<table style="border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse; font-family: Verdana; font-size: 10 pt; color: #F2EABB" bordercolor="#F2EABB" width="500">

<?
if ($handle = opendir($map)) {

while (false!=($file=readdir($handle))) {
if($file != "." && $file != ".." && !ereg("php", $file)){
if(filesize($map . $file) > 1024){
$ext = ' Kb';
$size = round(filesize($map . $file) / 1024, 2 );
}else{
$ext = ' Byte';
$size = filesize($map . $file);
}
echo '<tr>';
echo '<td class="b r c" style="width:60px;font-family: Verdana; color: #F2EABB">';
echo '<a href="?del='. $file .'">[ X ]</a>';
echo '</td>';
echo '<td class="b r" style="width:300px;text-indent:10px;font-family: Verdana;color: #F2EABB">';
echo '<a target="_blank" href="'. $map . $file .'">'. $file .'</a>';
echo '</td>';
echo '<td class="b r c" style="width:100px;text-indent:10px;font-family: Verdana;color: #F2EABB">';
echo $size . $ext;
echo '</td>';
echo '</tr>';
}
}
closedir($handle);
}
   echo "<br><br><br><br><br>Klik op X om bestand te verijderen<br><br><br>";
?>

</table>

<?
}else{
if(isset($_POST['subm'])){
if($users[$_POST['username']] == $_POST['password']) {  
$_SESSION['admin'] = "logi";
echo'<meta http-equiv="refresh" content="0; URL=?admin">';
}
}else{
?>

<form method="post">
Gebruikersnaam  : <input type="text" name="user" class="input" size="20" /><br />
Paswoord  :&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input type="password" name="pass" class="input" size="20"   /><br />
&nbsp;<input type="submit" name="subm" value="log in" /><br />
</form>
<br /><font face="Verdana" size="2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font><a href="../bestandsbeheer.htm" style="text-decoration: none"><font face="Verdana"  color="#F2EABB" size="2">Verlaat deze pagina</font></a><br /><br />

<? }
}
}elseif(ereg("logout", $uri)){
unset($_SESSION['admin']);
session_destroy();
echo'<meta http-equiv="refresh" content="0; URL=?admin">';

}elseif(ereg("del", $uri)){
if($_SESSION['admin'] == "logi"){
if(isset($_GET['del']) && !empty($_GET['del'])){
if(file_exists($map . $_GET['del'])){
if($_GET['del'] != "." && $_GET['del'] != ".." && !ereg("php", $_GET['del'])){
unlink($map . $_GET['del']);
echo'<meta http-equiv="refresh" content="0; URL=?admin">';
}
}
}
}
}
?>
Volgens mij moet hij zo werken.

Zeker weten doe ik niet, zelf gebruik ik altijd een database.
 
Nee jammer
Nu krijg je geen foutmelding maar blijft heel het veld wit.
Geen inlog veldje te zien ook niet als je de pagina selecteerd.
 
Het is vreemd dat hij het niet doet.

Dit simpele voorbeeld doet het bij mij
PHP:
<?php
$users = array( 
"test" => "testww", 
"abc" => "abc", 
"User 3" => "WW_voor_User_3"); 

if(isset($_POST['submit'])) {
  if($users[$_POST['username']] == $_POST['password']) { 
    echo 'Wachtwoord klopt'; 
  } else { 
    echo 'Foutief wachtwoord'; 
  }  
}
?>
<form method="post">
<input type="text" name="username" />
<input type="text" name="password" />
<input type="submit" name="submit" />
</form>
 
Heb je de IF-statement ook aangepast naar de juiste namen?
Dus $_POST['username'] naar $_POST['user'] en hetzelfde voor het wachtwoord.
 
nee dat heb ik niet gedaan, ik ga het morgenvroeg meteen doen.
Ik laat het weten ofdat het gelukt is.

Bedankt vast voor de hulp:thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan