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

 


Dernière réponse
Sujet : [ PHP ] Des connaisseurs pour améliorer mon premier script ;-)
Proov

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


Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
Proov

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

Proov 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]

Je@nb :lol:  :lol:  :lol:  :lol:  :lol: T trop curieux mon petit
Proov

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:

Boris l'invincible 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
Je@nb T'inquiète ça va marcher
http://jeanb.d2g.com/smiley.png  

 

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

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

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:

Proov 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
Boris l'invincible 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
Proov Ca y'est g uploadé une nouvelle version mais il reste pleins de bug  :( pff la j'en ai ras le bol :D
Je@nb Ben je ne connais pas ton script mais c peutetre dans la requète MySQL
Proov 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 ? :??:
Je@nb normal kil te mette ça. Tu appelle une variable ki existe pas.
remplace par ça : $urlfichier = mysql_fetch_array($urlfichier);
Proov 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 ? :??:
Je@nb de rien  :hello:  :hello:  :hello:
Proov

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:

Je@nb 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.
Proov 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:
massanu 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 !
Proov

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  



massanu 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
Proov 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 :(
Boris l'invincible kes tu comprends pas explique
Proov

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]

Proov ok merci je vais voir ca :)  
 
en tout cas g modifié le truc de la date :D j'uploaderai les modifs + tard :)  
 
 :hello:
Boris l'invincible 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
massanu 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
Proov 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 ? :??:
Sh@rdar tu pourrais faire un calcul automatique de la taille et un gestionnaire d'upload
massanu 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
Proov 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]


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)