Hoi ik zoek een script waarbij je eerst moet inloggen om een foto te kunnen uploaden..
b.v.d
Zou je niet gewoon beter een login en een upload scripten

Voorbeeld:

//Upload.php

<?php
session_start();
if($_SESSION['login'] == 1){
//ingelogd
}else{
//niet ingelogd
}
?>
<html>

<head>

<title>upload jouw foto</title>
</head>



<?PHP

// In welke map komen de bestanden ? ( zorg dat deze de permissies 777 krijgt )
$map = "uploadbestanden/";

// Wat is de maximale groote van het bestand in bytes ( 1 kb = 1000 bytes )
$max = "100000";

// Welke extensies kunnen er worden geupload ( als alles mag dan niks invullen )
$ext = "jpg JPG gif GIF png PNG exe EXE php PHP zip ZIP htm HTM html HTML";

// Hieronder niks aanpassen

// Controleren

if ($_POST['Uploaden'])
{
if (!$_FILES['bestand'])
print ("Geef een bestand op!");
else
{
// Bestands naam opvragen
$bestand2 = explode("\\", $_FILES['bestand']['name']);
$laatste = count($bestand2) - 1;
$bestand2 = "$bestand2[$laatste]";

// Extensie van bestand opvragen
$bestand3 = explode(".", $bestand2);
$laatste = count($bestand3) - 1;
$bestand3 = "$bestand3[$laatste]";
$bestand3 = strtolower($bestand3);

// Toegestaande extensies opvragen

$ext = strtolower($ext);
$ext = explode(" ", $ext);
$aantal = count($ext);

for ($tel = 0;$tel < $aantal; $tel++)
{
if ($bestand3 == $ext[$tel])
{
$extfout = "nee";
}
}

if (!$extfout)
{
print ("Het bestand \"$bestand2\" kan niet worden geupload omdat de extensie niet is toegestaan!");
}
else
{
if ($_FILES['bestand']['size'] > $max)
print ("Het bestand \"$bestand2\" is groter dan $max bytes!");
else
{
// Opslaan van het bestand
move_uploaded_file($_FILES['bestand'], "$map$bestand2");
print ("Het bestand \"$bestand2\" is met succes geupload!");
}
}
}
}


// Upload formulier

print ("<form method=post action=" . $_SERVER['PHP_SELF'] . " enctype=multipart/form-data>
Bestand: <input type=\"file\" name=\"bestand\"><br><br>
<input type=\"submit\" name=\"Uploaden\" value=\"Uploaden\"></form>");

?>

//login.php
<?php
define('login','login/'); //defineer map waar alle user accounts zijn aangemaakt
session_start(); //normaal include ik login.php in index.php maar omdat het duidelijk / eenvoudig moet zijn doe ik het nu even niet. Oorspronkelijke systeem is tevinden in een CMS van me die later zal komen.
//login.php
if(!empty($_POST['user']) && !empty($_POST['password'])){
if(!file_exists(login.$_POST['user'].'.dat')){

$error = 1;
}else{
$pass = @file_get_contents(login.$_POST['user'].'.dat');
}
if($pass != $_POST['password']){
$error = 1;
}
if($error != 1){
$_SESSION['login'] = 1;
$text = 'U bent met succes ingelogd';
$text .= '<meta http-equiv="refresh" content="1;url=bestand.php" />';
}else{
$text = 'Foutje gebruikersnaam / wachtwoord is niet juist';
}
}else{
$text = '<form action="login.php" method="post"><p><label for="user">Username</label><input type="text" name="user" id="user"/><br />
<label for="password">Wachtwoord</label><input name="password" id="password" type="password" /><br />
<label for=""></label><input type="submit" value="Login"/></p>
</form>';
}
echo $text;
?>

// .htaccess
order allow,deny
allow from 127.0.0.1
deny from all

Hoemoet ik inlog gegevens maken dan?
En waar komen de geuploade foto's testaan??:$
ik snap dr ook nix van
Er zijn genoeg upload en login bestanden kies er dan zelf 1 uit he
@ Michiel:

<?php
// Toegestaande extensies opvragen

$ext = strtolower($ext);
$ext = explode(" ", $ext);
$aantal = count($ext);

for ($tel = 0;$tel < $aantal; $tel++)
{
if ($bestand3 == $ext[$tel])
{
$extfout = "nee";
}
}
?>

is nogal omslachtig. Je kunt beter een array met toegestane extensies maken en dan met in_array controleren of de extensie in de array voorkomt.

Reageren