PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 18-01-2011 08:59:04

adg
Membre
Inscription : 17-01-2011
Messages : 8

Espace client FTP sur site web

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

#2 18-01-2011 13:03:08

xTG
GrandGourou
Inscription : 18-06-2009
Messages : 1 127
Site Web

Re : Espace client FTP sur site web

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

#3 18-01-2011 14:15:02

adg
Membre
Inscription : 17-01-2011
Messages : 8

Re : Espace client FTP sur site web

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

#4 18-01-2011 15:03:18

xTG
GrandGourou
Inscription : 18-06-2009
Messages : 1 127
Site Web

Re : Espace client FTP sur site web

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

#5 21-01-2011 09:15:27

adg
Membre
Inscription : 17-01-2011
Messages : 8

Re : Espace client FTP sur site web

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

#6 21-01-2011 09:56:59

xTG
GrandGourou
Inscription : 18-06-2009
Messages : 1 127
Site Web

Re : Espace client FTP sur site web

Comment créer un espace membre

Commences déjà par cela. smile

Hors ligne

#7 21-01-2011 10:26:53

adg
Membre
Inscription : 17-01-2011
Messages : 8

Re : Espace client FTP sur site web

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

#8 21-01-2011 11:04:03

adg
Membre
Inscription : 17-01-2011
Messages : 8

Re : Espace client FTP sur site web

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

#9 21-01-2011 14:55:04

xTG
GrandGourou
Inscription : 18-06-2009
Messages : 1 127
Site Web

Re : Espace client FTP sur site web

Espace membre sans utiliser de base de donnée se code tout aussi bien.
Une recherche sur n'importe quel navigateur te donnera des réponses concluantes. wink

Hors ligne

#10 26-01-2011 13:59:46

adg
Membre
Inscription : 17-01-2011
Messages : 8

Re : Espace client FTP sur site web

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" :

<form action="ftp.php" method="post" name="ftp" onsubmit="return VerifFTP()">
<fieldset>
<table>
<tr>
<td><span class="login">Login</span></td>
<td><span class="input"><input type="text" name="login" value="" size="14" maxlength="40" class="champrouge" <?php echo $_GET['login']; ?> /></span></td>
</tr>
<tr>
<td><span class="login">Mot de passe</span></td>
<td><span class="input"><input type="password" name="pwd" value="" size="14" maxlength="20" class="champrouge" <?php echo $_GET['pwd']; ?> /></span></td>
</tr>
<tr>
<td colspan="2" height="3px"></td>
</tr>
<tr>
<td colspan="2"><a href="ftp://login:pwd@shootingducksprod.com:21/"><input type="submit" name="connexion" value="Connexion" class="boutonrouge" /></a></td>
</tr>
</table>
</fieldset>
</form>

et pour mon fichier ftp.php :

<?php
                     
$ftp_server = 'shootingducksprod.com';
$ftp_user = $_POST['login'];
print $variable;
$ftp_pass = $_POST['pwd'];
print $variable;

// 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 wink

Hors ligne

#11 28-01-2011 00:28:23

moogli
Modérateur
Inscription : 08-05-2009
Messages : 336
Site Web

Re : Espace client FTP sur site web

salut,

à priori le message est clair, affiche la valeur de la variable pour voir si c'est bon !


@+


Il en faut peu pour être heureux pompompompompompompompompompompom

Hors ligne

#12 28-01-2011 01:09:06

moogli
Modérateur
Inscription : 08-05-2009
Messages : 336
Site Web

Re : Espace client FTP sur site web

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

#13 28-01-2011 05:54:15

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : Espace client FTP sur site web

Saluton,

moogli a écrit :

- 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

#14 28-01-2011 14:32:30

moogli
Modérateur
Inscription : 08-05-2009
Messages : 336
Site Web

Re : Espace client FTP sur site web

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 smile

je n'y avait pas pensé, t'a l'esprit un peu tordu smile


@+


Il en faut peu pour être heureux pompompompompompompompompompompom

Hors ligne

Pied de page des forums