Iemand met basis php verstand? Functies

Status
Niet open voor verdere reacties.

h49913

Gebruiker
Lid geworden
23 apr 2009
Berichten
7
Hallo ik ben bezig met een website te maken met php.
Ik kan wel de teksten vinden en grotendeels aanpassen maar.
Ik heb een inlogfunctie werkend gekregen maar ik begrijp eigenlijk niet
wat de functies inhouden en uitvoeren.
Of iemand dus de functies van dit stukje (Php gedeelte) zou willen uitleggen?
Wat doet uitvoer querys sessions post functies.
Je zou me erg veel helpen.
Bij voorbaat dank!:d
HTML:
<html>
<head>
<title>login</title>
</head>
<body>
<table width="100%" height="100" border="0" background="file:///C|/xampp/htdocs/fotoalbum project/header onder.jpg" align="center">
  <tr>
  <td>
  <img src="file:///C|/xampp/htdocs/fotoalbum project/header top.png" width="100%" height="100"align="left" >
  </td>
    <td>
   <img src="file:///C|/xampp/htdocs/fotoalbum project/logo.png" width="100%" height="100"align="center">
   	</td>
  </tr>
</table>
<?php

session_start();
$_SESSION['user']=$user;
$_SESSION['password']=$password;
echo("U bent ingelogd.Klik<ahref='admin_index.php'>hier</a>om door te gaan naar de beheerderspagina.");
}
if(!empty($_POST['user'])&&!empty($_POST['password']))
{
	$user=$_POST['user'];
	$password=sha1(md5($_POST['password']))
	
	include("file:///C|/xampp/htdocs/fotoalbum project/connect.inc.php");
	$user=mysql_real_escape_string($user);
	$password=mysql_real_escape_string($password);
	
	$query_check_login="SELECT user,password FROM gebruikers WHERE user='$user' AND
	password='$password'";
	
	$uitvoer_query_check_login=mysql_query($query_check_login);
	if(mysql_num_rows($uitvoer_query_check_login)=1)
	{
	
	
?>

<form action='file:///C|/xampp/htdocs/fotoalbum project/login.php'method='post'>
<font face="Rockwell">Gebruikersnaam:</font><input type=text name="user">
<font face="Rockwell">Wachtwoord</font><input type=text name="password">
<input type=submit value="Inloggen">
</form>




</body>
</html>
 
Laatst bewerkt door een moderator:
Een query voer je uit om iets in een database te doen, bijvoorbeeld om te kijken of de gebruiker bestaat en of het wachtwoord ook klopt.

Een session kun je variabelen in kwijt die alleen voor een sessie (x minuten, kweet niet hoeveel) blijft bestaan zolang de gebruiker inactief wordt, dus als de sessie 5 min opgeslagen blijft en ik bezoek jouw website en login, dan kan ik dus alles bekijken maar als ik weg ga van de pc, en dan kom ik na 5 min terug, dan moet ik weer opnieuw inloggen. Ook als ik de webbrowser sluit moet ik weer opnieuw inloggen.
 
Ik heb ook is naar je script gekeken; en dit is (naar mijn mening) een verbeterde versie:
PHP:
<?php
session_start();
include("file:///C|/xampp/htdocs/fotoalbum project/connect.inc.php");
?>
<html>
<head>
<title>login</title>
</head>
<body>
<table width="100%" height="100" border="0" background="file:///C|/xampp/htdocs/fotoalbum project/header onder.jpg" align="center">
  <tr>
  <td>
  <img src="file:///C|/xampp/htdocs/fotoalbum project/header top.png" width="100%" height="100"align="left" >
  </td>
    <td>
   <img src="file:///C|/xampp/htdocs/fotoalbum project/logo.png" width="100%" height="100"align="center">
    </td>
  </tr>
</table>
<?php
 
if(!empty($_POST['user'])&&!empty($_POST['password'])){

	$q = mysql_query("SELECT user,password FROM gebruikers WHERE user='".addslashes($_POST['user'])."' AND password='".sha1(md5($_POST['password']))."'") or die(mysql_error());
    if(mysql_num_rows($q)){
		$_SESSION['user']=$_POST['user'];
	}   
}else{
	echo "Geen gebruikersnaam of wachtwoord ingevuld!";
}
?>
 
<form action='file:///C|/xampp/htdocs/fotoalbum project/login.php' method='post'>
<font face="Rockwell">Gebruikersnaam:</font><input type=text name="user">
<font face="Rockwell">Wachtwoord</font><input type=text name="password">
<input type="submit" value="Inloggen">
</form>
 
 
 
 
</body>
</html>

Je kunt de font-types etc het besten instellen met CSS.
Als je met PHP mysql_num_rows doet dan hoe je niet==1 te doen want if(mysql_num_rows($q)) is al goed, 1 is true en 0 is false.
 
@imacbest, leer mensen alstjeblieft niet aan om addslashes te gebruiken om data in te vullen in een database query.

Beste is om van de mysql_* functies af te blijven.
Leer het gelijk goed door mysqli of het lieftst PDO te gebruiken.
 
Ik heb ook is naar je script gekeken; en dit is (naar mijn mening) een verbeterde versie:
PHP:
<?php
session_start();
include("file:///C|/xampp/htdocs/fotoalbum project/connect.inc.php");
?>
<html>
<head>
<title>login</title>
</head>
<body>
<table width="100%" height="100" border="0" background="file:///C|/xampp/htdocs/fotoalbum project/header onder.jpg" align="center">
  <tr>
  <td>
  <img src="file:///C|/xampp/htdocs/fotoalbum project/header top.png" width="100%" height="100"align="left" >
  </td>
    <td>
   <img src="file:///C|/xampp/htdocs/fotoalbum project/logo.png" width="100%" height="100"align="center">
    </td>
  </tr>
</table>
<?php
 
if(!empty($_POST['user'])&&!empty($_POST['password'])){

	$q = mysql_query("SELECT user,password FROM gebruikers WHERE user='".addslashes($_POST['user'])."' AND password='".sha1(md5($_POST['password']))."'") or die(mysql_error());
    if(mysql_num_rows($q)){
		$_SESSION['user']=$_POST['user'];
	}   
}else{
	echo "Geen gebruikersnaam of wachtwoord ingevuld!";
}
?>
 
<form action='file:///C|/xampp/htdocs/fotoalbum project/login.php' method='post'>
<font face="Rockwell">Gebruikersnaam:</font><input type=text name="user">
<font face="Rockwell">Wachtwoord</font><input type=text name="password">
<input type="submit" value="Inloggen">
</form>
 
 
 
 
</body>
</html>

Je kunt de font-types etc het besten instellen met CSS.
Als je met PHP mysql_num_rows doet dan hoe je niet==1 te doen want if(mysql_num_rows($q)) is al goed, 1 is true en 0 is false.

dit meen je niet.(verbeterde versie)


PHP:
<?php
session_start();
include("/fotoalbum project/connect.inc.php");
?>
<html>
<head><title>login</title></head>
<body>
<table width="100%" height="100" border="0" background="/fotoalbum project/header onder.jpg" align="center">
  <tr>
  <td>
  <img src="/fotoalbum project/header top.png" width="100%" height="100"align="left" >
  </td>
    <td>
   <img src="/fotoalbum project/logo.png" width="100%" height="100"align="center">
    </td>
  </tr>
</table>
<?php
 
if(!empty($_POST['user'])&&!empty($_POST['password'])){

	$q = mysql_query("SELECT user,password FROM gebruikers WHERE user='".addslashes($_POST['user'])."' AND password='".sha1(md5($_POST['password']))."'") or die(mysql_error());
    if(mysql_num_rows($q)){
		$_SESSION['user']=$_POST['user'];
	}   
}else{
	echo "Geen gebruikersnaam of wachtwoord ingevuld!";
}
?>
<form action='/fotoalbum project/login.php' method='post'>
<font face="Rockwell">Gebruikersnaam:</font><input type=text name="user">
<font face="Rockwell">Wachtwoord</font><input type=text name="password">
<input type="submit" value="Inloggen">
</form>
</body>
</html>
en wat zou dit doen $_SERVER['PHP_SELF'] toch eens uitzoeken zou ik zeggen.
wat je ook eens moet zoeken is sql injection je script zeer kwetsbaar voor malafide mensen
 
Snel gekeken, niet alles verbeterd, en is nogaltijd beter dan dat wat het orgineel is...
 
ok maar het zou niet meer werken online en das zeker niet de bedoeling zie path naam ik hoop niet dat het uit een cursus kwam
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan