Veilig ?
Het werkt zo
een link linkt naar download.php?id=
en de id is dan de download id
de bron code van die pagina is dan -->
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?php
$host = ""; //host, meestal localhost
$user = ""; //gebruikersnaam
$pass = ""; //database wachtwoord
$db = ""; //database naam
mysql_connect($host,$user,$pass) or die(mysql_error());
mysql_select_db($db);
if($table==""){
$table="downloads";
}
if($_GET[id]!=""){
$sql="SELECT * FROM `$table` where id='$_GET[id]'";
$res=mysql_query($sql);
$count=mysql_num_rows($res);
}
if($count==1){
$sql="SELECT * FROM `$table` where id='$_GET[id]'";
$res=mysql_query($sql);
$row=mysql_fetch_array($res);
$row[downloads]++;
$sql="Update `$table` set downloads='$row[downloads]' where id='$_GET[id]'";
$res=mysql_query($sql);
if($res){
echo "<iframe name=\"frame\"></iframe>";
echo "<script>window.open('$row[download_url]','frame');setTimeout('window.close()','500');</script>";
}
else{
$headers = "Content-type: text/html; charset=\"iso-8859-1\"\r\nfrom: [email protected]";
$to="[email protected]";
$subject="Error $_SERVER[REQUEST_URI]";
$message="There was a error downloading the file with id : $_SERVER[REQUEST_URI]";
mail($to, $subject, $message, $headers);
echo "Error: There was a error downloading the file a email was sended to the webmaster with the error information";
}}
?>
$host = ""; //host, meestal localhost
$user = ""; //gebruikersnaam
$pass = ""; //database wachtwoord
$db = ""; //database naam
mysql_connect($host,$user,$pass) or die(mysql_error());
mysql_select_db($db);
if($table==""){
$table="downloads";
}
if($_GET[id]!=""){
$sql="SELECT * FROM `$table` where id='$_GET[id]'";
$res=mysql_query($sql);
$count=mysql_num_rows($res);
}
if($count==1){
$sql="SELECT * FROM `$table` where id='$_GET[id]'";
$res=mysql_query($sql);
$row=mysql_fetch_array($res);
$row[downloads]++;
$sql="Update `$table` set downloads='$row[downloads]' where id='$_GET[id]'";
$res=mysql_query($sql);
if($res){
echo "<iframe name=\"frame\"></iframe>";
echo "<script>window.open('$row[download_url]','frame');setTimeout('window.close()','500');</script>";
}
else{
$headers = "Content-type: text/html; charset=\"iso-8859-1\"\r\nfrom: [email protected]";
$to="[email protected]";
$subject="Error $_SERVER[REQUEST_URI]";
$message="There was a error downloading the file with id : $_SERVER[REQUEST_URI]";
mail($to, $subject, $message, $headers);
echo "Error: There was a error downloading the file a email was sended to the webmaster with the error information";
}}
?>
Dus hij opent pagina doet aantal downlaods plus 1
en laadt de download in een iframe en sluit het venster.
Bij mij werkt het goed, maar zal het goed werken als de server verbinding trager is en het venster te vroeg dicht gedaan word ???
Ik had het zelf zo nooit gedaan. het zal alleen maar onhodiger worden. Inprinciepe kan je gewoon een in de zelfde pagina het zelfde doen. Frames zoveeel mogelijk niet gebruiken. Maar ik denk dat het weinig uitmaakt.
Is er een beter manier ? met de funtie header of zo ??
Hmmz ... denk eens diep na :)
Ga ik direct proberen
http://www.phphulp.nl/php/scripts/2/148
--> werkt niet hij opent gewoon niet
als ik voorbeeld download_0.exe moet downloaden
download hij download maar met de broncode van download_0.exe
:S
--> werkt niet hij opent gewoon niet
als ik voorbeeld download_0.exe moet downloaden
download hij download maar met de broncode van download_0.exe
:S
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?
if ($_GET['id'] && is_numeric($_GET['id']))
{
$sql = "UPDATE downloads SET downloaded = downloaded + 1";
$res = mysql_query($sql);
$sql = "SELECT download_file FROM downloads WHERE id = " . $_GET['id'];
$res = mysql_query($sql);
$download_file = mysql_result($res, 0);
header("download headers");
}
?>
if ($_GET['id'] && is_numeric($_GET['id']))
{
$sql = "UPDATE downloads SET downloaded = downloaded + 1";
$res = mysql_query($sql);
$sql = "SELECT download_file FROM downloads WHERE id = " . $_GET['id'];
$res = mysql_query($sql);
$download_file = mysql_result($res, 0);
header("download headers");
}
?>
Zoiets bedoel je toch? Bestand downloaden dmv een id nummer en tellen hoevaak de download is gedownload ;) Checks of er een result is etc. moet je zelf ff doen.. maar ik had het zo gedaan als ik iets moet doen zoals ik denk dat jij iets wilt doen.. :? snap je nog?! :D
--> gewoon die pagina laden in en iframe(onzichtbare) vanonder en dan als script
document.location=\"$row[downlaod_url]\"