Précédent   Forum du club des développeurs et IT Pro > PHP > Langage > Syntaxe
Syntaxe Forum d'entraide sur la syntaxe de PHP et la POO. Avant de poster -> FAQ syntaxe, Cours d'initiation et cours de POO
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 21/11/2012, 18h31   #1
Nexus68
Invité de passage
 
Homme
Inscription : novembre 2012
Messages : 3
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : novembre 2012
Messages : 3
Points : 0
Points : 0
Par défaut Problème Upload de fichier

Bonjour j'ai utilisé le script php upload to my pour mon site que l'on peu trouver ici: http://matt.phptest.free.fr/php_upload_to_my_ftp/

j'ai ajouté a ce script un formulaire pour avoir des information supplémentaire
Code :
1
2
3
4
5
6
7
8
9
10
11
 
<form name="F1"  ACTION="#un" METHOD="post"><BR>
    Votre Nom:<sup>* </sup><input name="lenom" /><br />
    Votre Email:*<input type="text" name="email" /><br />
    Description:*<br />
        <textarea name="description" rows="8" cols="45"></textarea></p>
    <p>
    <input type="checkbox" name="case1" value="case1" /> <label for="case1">*Je certifie avoir pris connaissance des conditions générales</label><br />
    <input type="checkbox" name="case2" value="case2" /> <label for="case2">*Je certifie être majeur ou dans le cas contraire avoir l'accord de mon tuteur légal.</label><br /> 
    <INPUT TYPE="submit" Value='upload'>
</form>
je tien à préciser que je suis débutant en php.

nom de la fonction : DisplayEndForm();
elle est contenu dans le fichier fonction.inc.php

Code :
1
2
3
4
5
6
7
8
9
10
11
12
 
function DisplayEndForm(){
 
   global $strFileToUp;
	global $strWait;
 
   echo "<tr><td width='103'><font size='2' face='Arial'>";
   echo $strFileToUp."</font></td><td width='100%'><input name='fichier' type='FILE' class='Forms'>";
   echo "</td></tr><tr><td width='100%' colspan='2'><p align='center'>";
   echo "<INPUT TYPE='SUBMIT' VALUE='Upload' class='Forms' Onclick=\"this.value='".$strWait."'\">";
   echo "</p></td></tr></table><input type='HIDDEN' name='a' value='upload'></FORM>";
}
et l'upload.
Code :
1
2
 
$upload = ftp_put($connection_ftp, $newFileName, $fichier, FTP_BINARY);
Alors voila ma question je voudrais que les information sois obligatoire et qu'une fois que tout est rempli je reçoivent l'email avec cette information ( le mail marche pas de problème pour sa) j'ai essayer de faire la vérification en php et en javascript mais j'ai a chaque fois le même problème. La fois les informations toutes remplies la page donne l'impression de se rafraîchie et le fichier ne s’envoie pas. A mon avis une fois qu'on clic sur le submit tout est verifier et comme tout est ok il rafraichie la page car il ne sais pas ou envoyer les informations. Je pense qu'il faut que les informations sois verifiées mais ne s'envoient pas pour que le fichier sois upload. Merci d’avance
Nexus68 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2012, 18h53   #2
sabotage
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 16 504
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 16 504
Points : 21 341
Points : 21 341
Il rafraichit la page non pas parce qu'il ne sait pas ou aller mais parce que c'est la ou tu lui as dit d'aller (#un).
Mais ce n'est pas un problème de revenir sur le même fichier, c'est même plus pratique pour faire resaisir les éléments erronés.
Il faut juste, dans le cas ou le formulaire a été validé, le vérifier et faire un redirection si tout est ok.

Code :
1
2
3
4
5
6
 
if ($_SERVER['REQUEST_METHOD'] == 'post') {
    // validation et mail
    // si ok => redirection
}
// affiche formulaire
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2012, 19h31   #3
Nexus68
Invité de passage
 
Homme
Inscription : novembre 2012
Messages : 3
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : novembre 2012
Messages : 3
Points : 0
Points : 0
Ok merci je vois ce que tu veux dire mais je le fais comment comme sa ? :
Code :
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
36
if(isset($_POST['lenom'])&&
   isset($_POST['email'])&&
   isset($_POST['description']){
echo "champs vides";
}
else {
if ($_SERVER['REQUEST_METHOD'] == 'post') {
        $head = "From: noreply@****.com\n";
        $head .= "X-Sender: <noreply@****.com>\n";
        $head .= "X-Mailer: PHP\n";
        $head .= "Return-Path: <noreply@****.com>\n";
        $head .= "Content-Type: text/plain; charset=iso-8859-1\n";
        $texte .= $strFile." (".$newFileName.") ".$strHasBeenUploaded." le ( ".$date_a.") de (".$fichier_size.") octets\n";       
        $texte .= "Nom: ".$nom." Email: ".$email." Description: ".$description." \n";
 
        mail("video@****.com", "[Nouvelle vidéo]" , $texte, $head);
 
 
}
}
DisplayEndForm();
//Pour supprimer le code html des textes
$nom = strip_tags($_POST['lenom']);
$email = strip_tags($_POST['email']);
$description = strip_tags($_POST['description']);
?>
<form name="F1"  METHOD="post"><BR>
    Votre Nom:<sup>* </sup><input name="lenom" /><br />
    Votre Email:*<input type="text" name="email" /><br />
    Description:*(Décrivez-vous, votre talent, votre vidéo. Pour que l'on en sache plus sur vous)<br />
        <textarea name="description" rows="8" cols="45"></textarea></p>
    <p>
    <input type="checkbox" name="case1" value="case1" /> <label for="case1">*Je certifie avoir pris connaissance des conditions générales.</label><br />
    <input type="checkbox" name="case2" value="case2" /> <label for="case2">*Je certifie être majeur ou dans le cas contraire avoir l'accord de mon tuteur légal.</label><br /> 
    <INPUT TYPE="submit" value='upload'>
</form>
je suis un grand débutant j'ai commencé à apprendre mais je sais que c'est beaucoup trop compliquer pour moi ce que je fais la. Le problème c'est que j'ai besoin de ce code rapidement je doit donc le finir avant d'avoir eu le temps d’apprendre. Pardonnez donc mon ignorance. Merci
Nexus68 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2012, 20h30   #4
sabotage
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 16 504
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 16 504
Points : 21 341
Points : 21 341
Ton test est à mettre dans la partie "quand on a reçu le formulaire".
Dans ton test j'ai mis dans "OU" et non des "ET" (si le nom est vide ou si l'email est vide ...) et j'utilise empty() au lieu de isset(), en effet un input texte est "set" même quand il est vide.
Code :
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
36
37
38
39
 
if ($_SERVER['REQUEST_METHOD'] == 'post') {
    if(empty($_POST['lenom']) ||
   empty($_POST['email']) ||
   empty($_POST['description']){
echo "champs vides";
}
else {
        $head = "From: noreply@****.com\n";
        $head .= "X-Sender: <noreply@****.com>\n";
        $head .= "X-Mailer: PHP\n";
        $head .= "Return-Path: <noreply@****.com>\n";
        $head .= "Content-Type: text/plain; charset=iso-8859-1\n";
        $texte .= $strFile." (".$newFileName.") ".$strHasBeenUploaded." le ( ".$date_a.") de (".$fichier_size.") octets\n";       
        $texte .= "Nom: ".$nom." Email: ".$email." Description: ".$description." \n";
 
        mail("video@****.com", "[Nouvelle vidéo]" , $texte, $head);
       echo 'mail envoyé';
      exit();
 
 }
}
}
DisplayEndForm();
//Pour supprimer le code html des textes
$nom = strip_tags($_POST['lenom']);
$email = strip_tags($_POST['email']);
$description = strip_tags($_POST['description']);
?>
<form name="F1"  METHOD="post"><BR>
    Votre Nom:<sup>* </sup><input name="lenom" /><br />
    Votre Email:*<input type="text" name="email" /><br />
    Description:*(Décrivez-vous, votre talent, votre vidéo. Pour que l'on en sache plus sur vous)<br />
        <textarea name="description" rows="8" cols="45"></textarea></p>
    <p>
    <input type="checkbox" name="case1" value="case1" /> <label for="case1">*Je certifie avoir pris connaissance des conditions générales.</label><br />
    <input type="checkbox" name="case2" value="case2" /> <label for="case2">*Je certifie être majeur ou dans le cas contraire avoir l'accord de mon tuteur légal.</label><br /> 
    <INPUT TYPE="submit" value='upload'>
</form>
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2012, 21h03   #5
Nexus68
Invité de passage
 
Homme
Inscription : novembre 2012
Messages : 3
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : novembre 2012
Messages : 3
Points : 0
Points : 0
Je ne comprend pas j'ai toujours le même problème
Nexus68 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2012, 22h13   #6
ABCIWEB
Expert Confirmé
 
Homme Alain
Inscription : septembre 2010
Messages : 1 917
Détails du profil
Informations personnelles :
Nom : Homme Alain
Localisation : France, Puy de Dôme (Auvergne)

Informations forums :
Inscription : septembre 2010
Messages : 1 917
Points : 2 851
Points : 2 851
Citation:
Envoyé par Nexus68 Voir le message
Le problème c'est que j'ai besoin de ce code rapidement je doit donc le finir avant d'avoir eu le temps d’apprendre... Merci
C'est totalement incompatible.

Sinon j'ai regardé un peu le script dont tu parles, il y a un fichier "config" dans lequel tu dois faire la configuration. Les données rentrées sont-elles bonnes ?
A part ça je vois pas l'intérêt de faire un transfert ftp à partir d'un formulaire envoyé en $_POST... Remarques que le script que tu as choisi a quand même 10 ans d'âge, et les scripts php c'est rarement comme le bon vin. Niveau config notamment il est possible qu'il y ait des incompatibilités (register_globals etc.)

Déjà avant d'aller plus loin il serait important de savoir ce que tu veux faire avec ce script car il est probable que tu n'aies pas choisi le plus adapté. Et plutôt que d'essayer de remettre à jour un ancien code, il peut être beaucoup plus rapide et plus sécurisé, d'en changer.
__________________
- Réalisations
- Interface graphique : génération en javascript d'objets défilants, texte et/ou images, mode horizontal ou vertical.
ABCIWEB est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 13h30.


 
 
 
 
Partenaires

Hébergement Web