Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1998 connectés 

  FORUM HardWare.fr
  Programmation

  [ PHP ] Des connaisseurs pour améliorer mon premier script ;-)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[ PHP ] Des connaisseurs pour améliorer mon premier script ;-)

n°106799
Proov
Art & Science
Posté le 01-03-2002 à 18:52:33  profilanswer
 

Salut a tous :)  
 
je suis un newbie en PHP mais j'ai quand meme terminé une "beta" de mon script de Gestion de downloads ;) ( c pas encore fini...je vous rassure :pt1cable: )
 
donc si y'a des gars sympas qui pourraient m'aider à améliorer mon chti script :D ca serait cool :)  
 


Donc voilà, g pleins d'ambitions pour ce script ;) j'avais pensé à créer des catégories ( ex: models, maps, divers...) puis fodrait rajouter un compteur de downloads :D  
 
si vous avez des idées, n'hésitez pas :)  
 
 :hello:
 
[EDIT DIMANCHE 3 MARS A 00:06 ]
 
je viens d'uploader la version presque finale du script mais ya un bug... :gun: allez voir
 
puis un pti [:tomilou] pour le topic ;)
 
 
[EDIT DIMANCHE 3 MARS A 21:12 ]
 
et voilà la version finale qui marche plutot bien !!! :)  :)  
allez voir !! :pt1cable:  :D

 

[jfdsdjhfuetppo]--Message édité par Negueu--[/jfdsdjhfuetppo]

mood
Publicité
Posté le 01-03-2002 à 18:52:33  profilanswer
 

n°106800
massanu
Posté le 01-03-2002 à 19:00:06  profilanswer
 

on peut pas éditer ni supprimer comment ca se fait ?
sinon ca fonctionne, c'est simple c'est cool
 
sinon pour la date, pkoi devoir la tapé ?  
fait un INSERT CURDATE() c mieux ca mettra la date du jour de l'insertion.
 
Sinon bah le compteur de telchargement ne marche pas c toujours affiché telechargé-fois
 
 
voila jpense qua ya dautre turc, mais ca c deja bien a mettre en place


---------------
Oui je sais, je suis une merde en orthographe et alors ? Altcoin list: https://docs.google.com/spreadsheet [...] =286417424
n°106801
Sh@rdar
Ex-PhPéteur
Posté le 01-03-2002 à 19:00:59  profilanswer
 

tu pourrais faire un calcul automatique de la taille et un gestionnaire d'upload


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
n°106808
Proov
Art & Science
Posté le 01-03-2002 à 19:11:29  profilanswer
 

merci pour vos idées :) je ne savais pas comment on faisais pour la date :D je vais tester le INSERT CURDATE() :)  
 
pi pour le compteur de download on fait comment ? :??:

n°106811
massanu
Posté le 01-03-2002 à 19:25:11  profilanswer
 

pour le compteur de d/l jai une idée mais jsais pas si c bon
ta surement une table dans laquelle tu stock les infos de chaques element a telecharger avec chacun un id different
 
bah tu ajoute un tuple que tapelle compteur
et tu inclut dans la partie de code ou sa lance le telechargement, un UPDATE ou un SET je sais plus ou tu augmente la valeur de compte de 1.
 
jsais pas si c ca mais bon rectifier moi si c pas ca


---------------
Oui je sais, je suis une merde en orthographe et alors ? Altcoin list: https://docs.google.com/spreadsheet [...] =286417424
n°106814
Boris l'in​vincible
Life is random
Posté le 01-03-2002 à 19:30:28  profilanswer
 

pkoi chaque fois une table en plus la tu as un table avec toutes tes entrer de dl dans cette table tu ajoute un champs id en auto increment (pas sur de l'hortographe) si c pas deja fait + un champs nb_dl
 
pour l'url de dl tu fais un nouveau fichier et donc dans la page ou tu liste tes fichier tu mets comme url fichier.php?id=iddufichier puis dans fichier.php tu fais un select par l'id du fichier pour recup le nom du fichier  
puis une requete update tatable set nb_dl=nb_dl+1;
puis un redirect html vers ton fichier

n°106831
Proov
Art & Science
Posté le 01-03-2002 à 20:05:59  profilanswer
 

ok merci je vais voir ca :)  
 
en tout cas g modifié le truc de la date :D j'uploaderai les modifs + tard :)  
 
 :hello:

n°106847
Proov
Art & Science
Posté le 01-03-2002 à 21:10:26  profilanswer
 

Boris l'invincible a écrit a écrit :

pkoi chaque fois une table en plus la tu as un table avec toutes tes entrer de dl dans cette table tu ajoute un champs id en auto increment (pas sur de l'hortographe) si c pas deja fait + un champs nb_dl
 
pour l'url de dl tu fais un nouveau fichier et donc dans la page ou tu liste tes fichier tu mets comme url fichier.php?id=iddufichier puis dans fichier.php tu fais un select par l'id du fichier pour recup le nom du fichier  
puis une requete update tatable set nb_dl=nb_dl+1;
puis un redirect html vers ton fichier  




 
je capte pas grand choses :( tu voudrai pas détailler un peu stp ? ;)
Enfin, je comprends théoriquement mais en pratique je sais pas trop quoi faire quand je me retrouve dans dreamweaver :D

 

[jfdsdjhfuetppo]--Message édité par Negueu--[/jfdsdjhfuetppo]

n°106853
Boris l'in​vincible
Life is random
Posté le 01-03-2002 à 21:26:13  profilanswer
 

kes tu comprends pas explique

n°106868
Proov
Art & Science
Posté le 01-03-2002 à 22:02:16  profilanswer
 

tout ce que tu m'as dis, tu voudrai pas le détailler un peu stp ? ;)  
 
a partir de "fichier.php?id=iddufichier" je pige le fonctionnement mais je sais aps comment faire concretement :(

mood
Publicité
Posté le 01-03-2002 à 22:02:16  profilanswer
 

n°106871
massanu
Posté le 01-03-2002 à 22:13:29  profilanswer
 

Moi jai compris ca
 
Ta ta page avec tes different telechargement.
Tu met chaque fichier a telecharger qui link vers cette page
fichier.php?id=id_du_fichier
 
ensuite
sur la page fichier.php tu met une requete qui incremente de 1 la nombre de d/l de ton fichier. en recuperant la variable $id passé en parametre
 
puis apres ca tu lance le telechargement


---------------
Oui je sais, je suis une merde en orthographe et alors ? Altcoin list: https://docs.google.com/spreadsheet [...] =286417424
n°106872
Proov
Art & Science
Posté le 01-03-2002 à 22:19:37  profilanswer
 

massanu a écrit a écrit :

Moi jai compris ca
 
Ta ta page avec tes different telechargement.
Tu met chaque fichier a telecharger qui link vers cette page
fichier.php?id=id_du_fichier
 
ca g pigé
 
ensuite
sur la page fichier.php tu met une requete qui incremente de 1 la nombre de d/l de ton fichier. en recuperant la variable $id passé en parametre
 
là rien du tout :D  
 
puis apres ca tu lance le telechargement  



n°106876
massanu
Posté le 01-03-2002 à 22:31:59  profilanswer
 

donc en gros tu sais pas qu'onpeut recuperer des variables par adresse
c quand meme un des point super important du php, la preuve meme moi je le sais
 
donc voila explication
 
quand ta un lien ici :fichier.php?id=1 par exemple
 
dans la page fichier.php si tu fait  :
<?
echo $id;
?>  
il ecrira 1
 
en gros, tu peut utiliser dans la page de destination, ici fichier.php, la valeur de la variable passé en parametre
 
ta compris la ?
bien si ta compris, maintenant c tout con
tu as dans ta table, un categorie nb_dl pour chaque fihier, c a dire chaque ligne de ta table.
Alors ta plus qua ecrire une requete a base de UPDATE dans laquelle tu incrementera ce nb_dl de 1. voila !


---------------
Oui je sais, je suis une merde en orthographe et alors ? Altcoin list: https://docs.google.com/spreadsheet [...] =286417424
n°106884
Proov
Art & Science
Posté le 01-03-2002 à 22:47:04  profilanswer
 

je savais meme pas le truc des variables par adresse :D bon je vais bosser un peu pour voir si j'arrive  a faire qqchose
 
merci :)  
 
 :hello:

n°107003
Je@nb
Kindly give dime
Posté le 02-03-2002 à 14:27:04  profilanswer
 

Voici mon script pour le comptage : tu clique sur le fichier et l'url est dl.php?id=1 pour par exemple le fichier 1, puis
la page dl :
<?
include('config.inc.php';); include('fonctions.php';);
if (connect($serveur,$user,$pass,$db))
{
 $sqlup = "UPDATE fichiers SET nbfoisdl=nbfoisdl+1 WHERE id='".$HTTP_GET_VARS['id']."'";
 $requpdate = mysql_query($sqlup)or die('Erreur Mysql :<br>'.$sql.'<br>'.mysql_error());
 $sqlurl = "SELECT url FROM fichiers WHERE id='".$HTTP_GET_VARS['id']."'";
 $urlfichier = mysql_query($sqlurl)or die('Erreur Mysql :<br>'.$sql.'<br>'.mysql_error());
 $urlfichier = mysql_fetch_array($urlfichier);
 mysql_close();  
 header("Location: ".$urlfichier['url']);
}
?>
 
voila.
Bon le fichier config.inc.php contient le host, le user, le pass, la bd et le fichier fonctions.php contient la fn connect que voici :
 
function connect($host,$user,$pass,$db)  
{  
if(@mysql_connect($host,$user,$pass))  
{  
 if(@mysql_select_db($db))
 {
return true;  
}
else
echo"<p align=\"center\"><span class=\"error\">Connection à la base de donnée impossible !!<p></span>";
return false;
}  
else  
{  
echo "<p align=\"center\"><span class=\"error\">Connection au site impossible<p></span>";  
return false;
}  
}
 
Sinon tu peux faire aussi dans la partie admin si les fichiers sont hébergé localement et non ché un autre endroit par exemple joystick pour les jeux ....
tu peux calculer la taille du fichier en octet et la stocker dans la bdd avec les fn file_exists et filesize puis avec une fonction tu la transforme en ko ou en mo et en octet si c petit selon la taille du fichier.
Sinon pour éviter dans le compteur que la personne clique 1000 fois sur le fichier ou si il utilise un système Flashget ou getright je pense aussi, tu peux faire 2 champs ip1 et ip2 où tu stockes les ip dans des varchar(15) et incrémente le compteur uniquement si l'ip du visiteur ne fais pas partie de la base.
Sinon j'aime bien ton design ça fait classe.

n°107007
Proov
Art & Science
Posté le 02-03-2002 à 14:31:06  profilanswer
 

Je@nb a écrit a écrit :

Voici mon script pour le comptage : tu clique sur le fichier et l'url est dl.php?id=1 pour par exemple le fichier 1, puis
la page dl :
<?
include('config.inc.php';); include('fonctions.php';);
if (connect($serveur,$user,$pass,$db))
{
 $sqlup = "UPDATE fichiers SET nbfoisdl=nbfoisdl+1 WHERE id='".$HTTP_GET_VARS['id']."'";
 $requpdate = mysql_query($sqlup)or die('Erreur Mysql :<br>'.$sql.'<br>'.mysql_error());
 $sqlurl = "SELECT url FROM fichiers WHERE id='".$HTTP_GET_VARS['id']."'";
 $urlfichier = mysql_query($sqlurl)or die('Erreur Mysql :<br>'.$sql.'<br>'.mysql_error());
 $urlfichier = mysql_fetch_array($urlfichier);
 mysql_close();  
 header("Location: ".$urlfichier['url']);
}
?>
 
voila.
Bon le fichier config.inc.php contient le host, le user, le pass, la bd et le fichier fonctions.php contient la fn connect que voici :
 
function connect($host,$user,$pass,$db)  
{  
if(@mysql_connect($host,$user,$pass))  
{  
 if(@mysql_select_db($db))
 {
return true;  
}
else
echo"<p align=\"center\"><span class=\"error\">Connection à la base de donnée impossible !!<p></span>";
return false;
}  
else  
{  
echo "<p align=\"center\"><span class=\"error\">Connection au site impossible<p></span>";  
return false;
}  
}
 
Sinon tu peux faire aussi dans la partie admin si les fichiers sont hébergé localement et non ché un autre endroit par exemple joystick pour les jeux ....
tu peux calculer la taille du fichier en octet et la stocker dans la bdd avec les fn file_exists et filesize puis avec une fonction tu la transforme en ko ou en mo et en octet si c petit selon la taille du fichier.
Sinon pour éviter dans le compteur que la personne clique 1000 fois sur le fichier ou si il utilise un système Flashget ou getright je pense aussi, tu peux faire 2 champs ip1 et ip2 où tu stockes les ip dans des varchar(15) et incrémente le compteur uniquement si l'ip du visiteur ne fais pas partie de la base.
Sinon j'aime bien ton design ça fait classe.  




 
merci ton post est vraiment sympa...j'allai justement poster que je pigeais rien au compteur de clic mais la maintenant :D je crois que c bon :lol:  
 
bon je vais continuer :)  
 
@++
 :hello:

n°107015
Je@nb
Kindly give dime
Posté le 02-03-2002 à 14:39:43  profilanswer
 

de rien  :hello:  :hello:  :hello:

n°107025
Proov
Art & Science
Posté le 02-03-2002 à 15:14:46  profilanswer
 

ton truc marche bien :) ( enfin presque :D )
 
ca me compte bien les clic mais on dirait que la redirection ne marche pas :??: il me sort ca:
 
Warning: Supplied argument is not a valid MySQL result resource in c:\program files\easyphp\www\download\count_dl.php on line 9
 
Warning: Cannot add header information - headers already sent by (output started at c:\program files\easyphp\www\download\count_dl.php:9) in c:\program files\easyphp\www\download\count_dl.php on line 11

 
dans count_dl.php a la ligne 9 ya ca:
$urlfichier = mysql_fetch_array($url_prog);
 
puis a la ligne 11 ya ca:
header("Location: ".$urlfichier['url']);
 
 
 
PS: le code de count_dl.php:
<?
require('config.inc.php';); require('fonctions.php';);
if (connect($db_host,$db_name,$db_login,$db_passwd))
{
$sqlup = "UPDATE gestion_dl SET nb_dl=nb_dl+1 WHERE id='".$HTTP_GET_VARS['id']."'";
$requpdate = mysql_query($sqlup)or die('Erreur Mysql :<br>'.$sql.'<br>'.mysql_error());
$sqlurl = "SELECT url_prog FROM gestion_dl WHERE id='".$HTTP_GET_VARS['id']."'";
$urlfichier = mysql_query($sqlurl)or die('Erreur Mysql :<br>'.$sql.'<br>'.mysql_error());
$urlfichier = mysql_fetch_array($url_prog);
mysql_close();  
header("Location: ".$urlfichier['url']);
}
?>

 
 
alors tu vois un peu ? :??:

n°107031
Je@nb
Kindly give dime
Posté le 02-03-2002 à 15:27:27  profilanswer
 

normal kil te mette ça. Tu appelle une variable ki existe pas.
remplace par ça : $urlfichier = mysql_fetch_array($urlfichier);

n°107033
Proov
Art & Science
Posté le 02-03-2002 à 15:52:48  profilanswer
 

ok
 
puis encore un autre truc :D ( désolé ;) )
 
 
mon formulaire ne marche plus :( il me met "téléchargement ajouté avec succès" mais y'a rien dans la base :??:  
 
ta pas une idée d'ou ca pourrai venir ? :??:

n°107067
Je@nb
Kindly give dime
Posté le 02-03-2002 à 18:08:55  profilanswer
 

Ben je ne connais pas ton script mais c peutetre dans la requète MySQL

n°107077
Proov
Art & Science
Posté le 02-03-2002 à 18:45:12  profilanswer
 

Ca y'est g uploadé une nouvelle version mais il reste pleins de bug  :( pff la j'en ai ras le bol :D

n°107102
Boris l'in​vincible
Life is random
Posté le 02-03-2002 à 20:53:27  profilanswer
 

a mon avis il rajoute pas car tu as rajouter un champs a la table et que ton insert into dans le fichier ajout est mal fait

n°107123
Proov
Art & Science
Posté le 02-03-2002 à 21:57:31  profilanswer
 

juste une chose: comment on fait pour qu'un champs dans la base SQL soit a zéro par défaut ?? g essayé nb_dl VARCHAR (6) DEFAULT '0' not null mais ca marche pas :(
nb_dl est tjs vide :gun: j'aimerais bien que quand on crée une nouvelle entrée alors nb_dl soit a zéro
 
j'espère que vous avez pigé :D

n°107154
Proov
Art & Science
Posté le 03-03-2002 à 00:42:07  profilanswer
 

Negueu a écrit a écrit :

juste une chose: comment on fait pour qu'un champs dans la base SQL soit a zéro par défaut ?? g essayé nb_dl VARCHAR (6) DEFAULT '0' not null mais ca marche pas :(
nb_dl est tjs vide :gun: j'aimerais bien que quand on crée une nouvelle entrée alors nb_dl soit a zéro
 
j'espère que vous avez pigé :D  




 
 [:tomilou]  
 :hello:

n°107169
Proov
Art & Science
Posté le 03-03-2002 à 10:25:05  profilanswer
 

ca y'est tout marche sauf le lien sur le fichier :D  
 
fait chier ce truc :gun:  
 
 :hello:

n°107173
Je@nb
Kindly give dime
Posté le 03-03-2002 à 11:35:23  profilanswer
 

T'inquiète ça va marcher
http://jeanb.d2g.com/smiley.png

 

[jfdsdjhfuetppo]--Message édité par Je@nb--[/jfdsdjhfuetppo]

n°107176
Boris l'in​vincible
Life is random
Posté le 03-03-2002 à 12:14:01  profilanswer
 

si tu le mettais en tinyint ca serait mieux ou mediumint si tu envisage beaucoup de dl le champs varchar c plus pour du texte

n°107204
Proov
Art & Science
Posté le 03-03-2002 à 15:04:38  profilanswer
 

Je@nb a écrit a écrit :

T'inquiète ça va marcher
http://jeanb.d2g.com/smiley.png  
 
 




 
au fait, j'suis allé sur ton site :D j'ai galéré 2 minutes pour en sortir :lol:

n°107234
Je@nb
Kindly give dime
Posté le 03-03-2002 à 16:23:24  profilanswer
 

:lol:  :lol:  :lol:  :lol:  :lol: T trop curieux mon petit

n°107333
Proov
Art & Science
Posté le 03-03-2002 à 21:14:45  profilanswer
 

Ca y'est la version 1.0 de mon super script ( pas mal pour un débutant :D )
 
allez voir ;)  
 
 :hello:  
 
je vous remercie tous pour votre aide :)
 
 
PS: Il me faudrait un nom mieux pour mon script, vous avez pas une idée ? paske "Gestion Downloads v1.0" ca craint [:thieuma]

 

[jfdsdjhfuetppo]--Message édité par Negueu--[/jfdsdjhfuetppo]

n°108577
Proov
Art & Science
Posté le 06-03-2002 à 21:39:31  profilanswer
 

Negueu a écrit a écrit :

Ca y'est la version 1.0 de mon super script ( pas mal pour un débutant :D )
 
allez voir ;)  
 
 :hello:  
 
je vous remercie tous pour votre aide :)
 
 
PS: Il me faudrait un nom mieux pour mon script, vous avez pas une idée ? paske "Gestion Downloads v1.0" ca craint [:thieuma]  
 
 




 
 [:tomilou] un nom please :D

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [ PHP ] Des connaisseurs pour améliorer mon premier script ;-)

 

Sujets relatifs
[PHP] fread sur un fichier distant dont je connais pas la taille[PHP] : Comment réinstaller les rpm de PHP sous Linux ?
[PHP] nom de variable énuméré....[newbie is back] Probleme de PHP avec Free (Unable to connect to mySql
[Apache / PHP].htaccess detourné par un include ???[PHP]Pseudo frame+classe+session...marche po chez free :((
[PHP] ca se complique...[ PHP ] Liste selective + Mise a jour Variable
[PHP/SQL] Mise en place d'Archive. Prob con avec script 
Plus de sujets relatifs à : [ PHP ] Des connaisseurs pour améliorer mon premier script ;-)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR