Vous n'êtes pas identifié(e).
Pages :: 1
Bonjour à tous,
J'aurai besoin de votre aide car je débute en PHP.
J'ai créé un site web pour un ami, il fait du montage vidéo.
Il voulait un espace clients sur son site où ses clients pourraient se connecter via un login et un mot de passe au lieu d’avoir recours à un client externe (filezilla, transmit...) que ses clients doivent installer.
Ainsi, ils pourraient télécharger les vidéos.
J'ai créé les différents comptes en faisant un ftp multi-utilisateurs via mon hébergeur. Chaque client a son login et son password et accèdent uniquement à leur répertoire sur le FTP.
Comment puis-je intégrer cet accès dans le site ?
Merci d'avance.
Hors ligne
Si tu passes par un navigateur ce n'est plus de la connexion ftp, donc tes comptes ne te servent à rien.
Il y a des commandes ftp pour php mais il me semble que c'est uniquement de serveur à serveur.
Pour passer d'un navigateur au serveur il n'y a que la méthode de l'upload de fichier, ce qui implique dans ton cas un espace membre en PHP avec un formulaire d'upload de fichier dont le répertoire de destination correspond au membre connecté.
Hors ligne
Merci pour ta réponse xTG.
Voici le site en question : www.shootingducksprod.com
En bas à gauche de chaque page se trouve l'encart "Espace clients".
Je voudrais que chaque client en entrant son login et son mot de passe arrive sur son répertoire FTP et puissent télécharger, et uniquement télécharger, les fichiers vidéos.
Je suis débutante en PHP, c'est pour ça que j'essaie d'aller au plus simple en ne créant pas de base mySQL mais plutôt en redirigeant mes clients sur le FTP.
Hors ligne
Aaah bah si c'est juste du téléchargement il n'y a plus de soucis.
Il existe toute une flopée de fonctions pour parcourir les dossiers du serveur.
Comment connectes-tu tes clients ? Un fichier texte contenant les comptes et leurs informations ?
Il suffit dans ce cas d'y renseigner le dossier de la personne.
Puis avec par exemple la fonction glob() récupérer le contenu du répertoire et l'afficher.
Après pour la restriction d'accès en modifiant l'url cela se corse un peu...
Une idée qui me vient pour cela.
Avoir un fichier pour faire la correspondance identifiant_unique_du_fichier <=> chemin_vers_le_fichier
Et faire une page à laquelle tu passes cet identifiant unique, il va rechercher le fichier et le propose en téléchargement (cela peut se faire avec la fonction header() ).
Pour tester que la personne a le droit de le télécharger il suffirai d'une fonction vérifiant une expression régulière sur le chemin qui doit contenir le nom de l'utilisateur.
Questions ?
Hors ligne
Hum oui des questions.
Pour l'instant, les clients ne peuvent pas se connecter via l'encart"espace client" justement, c'est ce que je veux faire.
Ils se connectent via Filezilla directement au FTP.
Je débute en PHP donc je ne vois pas vraiment comment réaliser cet accès...
Et ta réponse ne me parle pas, pourrais-tu m'expliquer plus précisément comment faire, merci d'avance.
Hors ligne
Comment créer un espace membre
Commences déjà par cela.
Hors ligne
Mais justement je ne veux pas créer de base de données MySQL.
J'essaie d'aller au plus simple en passant par le serveur FTP.
Comment puis-je faire pour que mes clients accèdent à leur répertoire FTP via 'l'espace client" sur le site ?
Hors ligne
En fait, il me faut un script PHP qui puisse fournir un accès au répertoire FTP du client via l'encart "Espace client" du site Web.
Hors ligne
Bon, j'ai tenté un code php mais j'ai un message d'alerte : "530 login incorrect".
Voici mon code pour l'encart "espace clients" :
et pour mon fichier ftp.php :
// Mise en place d'une connexion basique
$conn_id = ftp_connect($ftp_server) or die("Couldn't connect to $ftp_server");
// Tentative d'identification
if (@ftp_login($conn_id, $ftp_user, $ftp_pass)) {
echo "Connecté en tant que $ftp_user@$ftp_server\n";
} else {
echo "Connexion impossible en tant que $ftp_user\n";
}
// Fermeture de la connexion
ftp_close($conn_id);
Quelqu'un pourrait-il me dire pourquoi cela ne fonctionne pas ?
Merci d'avance pour votre aide
Hors ligne
j'ai testé ton code
- a quoi sert le lien autour du bouton connexion ? (parce que bon, là tu essaies de te connecter à server ftp avec le login "login" et le mot de passe 'pwd';
- tu utilises $_GET dans le formulaire alors que c'est post que tu utilises (pour pré-remplir les champs).
en dehors de ça, le code fonctionne au poil !
@+
Il en faut peu pour être heureux pompompompompompompompompompompom
Hors ligne
Saluton,
- tu utilises $_GET dans le formulaire alors que c'est post que tu utilises (pour pré-remplir les champs).
Euuuh, la méthode post s'appliquera au script de l'attribut action, c'est à dire ftp.php
Rien n'indique que le code html ne soit pas invoqué de la sorte :
encart.php?login=login&pwd=******
Bon, ce serait assez ballot de balancer un mot de passe dans l'url, mais en toute rigueur, avec le code fourni on ne peut pas affirmer que $_GET soit une source d'erreur, c'est juste très, très bizarre et cor'assez kamikaze.
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
hum voui c'est vrai, c'est parce que ce n'est pas orthodoxe de remplir un formulaire avec des valeurs provenant d'une méthode différente
je n'y avait pas pensé, t'a l'esprit un peu tordu
@+
Il en faut peu pour être heureux pompompompompompompompompompompom
Hors ligne
Pages :: 1