Ik heb voor mijn nieuwe website een webtemplate gekocht. Op deze webtemplate is in html code een login scherm verwerkt. De code daarvan is:

<form>
<td width="404" height="142" background="images/form.gif" align="center">
<table cellpadding="0" cellspacing="0" border="0">
<tr><td class="cap" align="right">
<font face="Stencil Std" color="#000000">Your ID:</font></td><td style="padding-left:5px;"><input type="text"></td></tr>
<tr><td class="cap" align="right">
<font face="Stencil Std" color="#000000">Password:</font></td><td style="padding-left:5px;"><input type="password"></td></tr>
<tr><td colspan="2" align="center"><a href="" class="txt" style="color:#595959; text-decoration:none;">Forgot password?</a>&nbsp;&nbsp;<a href="" class="txt" style="text-decoration:none;">Sign in</a></td></tr>
<tr><td colspan="2" class="txt"><div style="padding-left:10px;"><input type="checkbox" name="name1" value="">Remember my ID on this computer</div></td></tr>
</table>
</td>
</form>


Hoe kan ik deze werkend krijgen met bijvoorbeeld PHP? De index is een html file. Ik heb een subdir genaamd "ART" welke via .htaccess is beveiligd. Het liefst zou ik ik dus mijn passwd file aanspreken, maar ik heb inmiddels begrepen dat dat niet werkt.

Iemand enig idee hoe ik de subdir ART beveiliigd krijg door middel van php?
Zoek hier links eens op "php inlog script" en je vind genoeg ideeen :)
Wat wil je precies? Dat iemand daar iets intikt, en als de gegevens goed zijn wordt de persoon doorgestuurd naar de map ART?
Yuck, ik zie allemaal lelijke tags....

<form>
<td width="404" height="142" background="images/form.gif" align="center">
<table cellpadding="0" cellspacing="0" border="0">
<tr><td class="cap" align="right">
<font face="Stencil Std" color="#000000">Your ID:</font></td><td style="padding-left:5px;"><input type="text"></td></tr>
<tr><td class="cap" align="right">
<font face="Stencil Std" color="#000000">Password:</font></td><td style="padding-left:5px;"><input type="password"></td></tr>
<tr><td colspan="2" align="center"><a href="" class="txt" style="color:#595959; text-decoration:none;">Forgot password?</a>&nbsp;&nbsp;<a href="" class="txt" style="text-decoration:none;">Sign in</a></td></tr>
<tr><td colspan="2" class="txt"><div style="padding-left:10px;"><input type="checkbox" name="name1" value="">Remember my ID on this computer</div></td></tr>
</table>
</td>
</form>


Hm, het is nooit de beste oplossing om een template te kopen. Je kunt er dan zelf vrij weinig aan veranderen, tenzij je de juiste kennis hebt en het juiste geduld.

Bovendien is deze template dus niet eens webprove. Laat ik het zo zeggen: <font> en een achtergrond - via HTML - aan een TD toekennen, is niet meer van deze tijd. Bovendien hoort style, waar je verder niets meer aan veranderd, in een stylesheet thuis en niet zo in een HTML tag onder style="".
Douwe M schreef op 18.08.2008 12:46
Wat wil je precies? Dat iemand daar iets intikt, en als de gegevens goed zijn wordt de persoon doorgestuurd naar de map ART?


Inderdaad, men vult daar hun gegevens in en bij goedkeuring komen ze dus terecht in de ART folder welke nu beveiligd is met htacces en passwd, maarja, dat kan ik eraf halen.

Btw, geweldige respons hier..bedankt vooralsnog.

En dat ik geen template had moeten kopen is een wijze les voor de volgende keer. Aangezien ik hier toch aardig wat dollars voor heb betaald, wil ik toch proberen de login op de index te gebruiken.
Uhm... Weet je iets van PHP? Zoja:
Stuur het form naar een pagina die een sessie zet, en kijk in de ART-map of die sessie bestaat.
Met 'hun gegevens' doel je vast en zeker op meerdere gebruikers? Heb je beschikking over een database? Als dat zo is, staan er hele rijen scripts voor je klaar in de scriptlib hier.

Als dat niet is, vallen er een boel af, maar blijf je nog altijd de txt-bestanden houden. Niet optimaal beveiligd, maar oké, het is een alternatief.
Ik heb toegang tot phpmyadmin en kan tig databases aanmaken, dus dat is het probleem niet. Enige wat ik van php afweet is de installatie van scripts. Ik heb zelf helaas nooit de tijd gehad om zelf php scripts te schrijven.

Het gaat hier inderdaad om meerdere gebruikers..tenminste, dat is de bedoeling :)

Ik heb gezocht op php login script, maar velen vereisen editing in SQL zelf. Het liefst doe ik dit via een .sql file die ik dan kan uploaden in myphpadmin.
Iemand enig idee nog verder?

Niet Bumpen:

Twee of meer keer achter elkaar in een topic posten heet bumpen. Bumpen is pas na 24 uur toegestaan en kan een reden zijn voor de admins en moderators om een topic te sluiten. Gebruik indien nodig de knop om je tekst aan te passen.

SanThe.
login.php:

<?php

session_start();

error_reporting(E_ALL ^ E_NOTICE);

include('dbc.php');

if(!isset($_POST['submit']))
{
       ?>
      <html>
      <form action="login.php?login=1" method="POST">
      <input type="text" name="username"></br>
      <input type="password" name="password"></br>
      <input type="submit" name="submit" value="Login!"></br>
      </form>
      <?php
}
else
{
     if(isset($_POST['username']) AND isset($_POST['password']))
     {
        $query = "
        SELECT 
        user_id, 
        username, 
        password 
        FROM users
        WHERE username = '".$_POST['username']."',
        password = '".md5($_POST['password'])."'
        ");

        $sql = mysql_query($query) or die(mysql_error());

        $rows = mysql_num_rows($sql);

        if($rows != 0)
        {
               while($res = mysql_fetch_assoc($sql))
               {
                       $_SESSION['ingelogd'] = 1;
                       $_SESSION['id'] = $res['user_id'];
                       header('Location: ART/index.html');
               }
        }
        else
        {
               echo 'Wachtwoord of username fout!';
        }
     }
     else
     {
     echo 'Niet alle velden ingevuld!';
     }
}
?>


dbc.php:

<?php

$host = "";
$user = "";
$pass = "";
$db = "";

if($dbc = @mysql_connect('$host','$user','$pass']'))
{
	if(!@mysql_select_db('$db'))
	{
		die(mysql_error());
	}
}
else
{
die(mysql_error());
}
?>


mysql.sql:

CREATE TABLE users (
user_id INT auto_increment,
primary key(user_id),
username VARCHAR(32),
password VARCHAR(32)
);


en bovenaan elk bestand dat je wil beveiligen:

<?php

session_start();

if(!isset($_SESSION['ingelogd']))
{
header('Location: index.php');
break;
}

?>


niet getest.
Even testen dan maar ;)

Reageren