Portail PHP

Forum de discussion et d'aide au php

Vous n'êtes pas identifié.

Annonce

Regles d'utilisation des forums : pensez à toujours les respecter si vous désirez obtenir des réponses rapides.
FAQ : pensez à toujours chercher dedans si la réponse à votre question est dedans.
Proposez vos news : si vous avez un evenement à annoncer
le chat : venez discuter de php.
 

#31 21-11-2007 04:29:53

kenzopyro
Membre
Date d'inscription: 13-11-2007
Messages: 63

Re: Besoin d'aide sur un formulaire

Te serait il possible, si bien sur tu en à un, de me monter un exemple ?
la partie formulaire.html puis la partie verif.php ?
merci d'avance ;-)

Hors ligne

 

#32 21-11-2007 11:05:16

Asherah
Membre
Date d'inscription: 15-11-2007
Messages: 161
Site web

Re: Besoin d'aide sur un formulaire

Salut^^

Du coup j en ai fait un,
la meilleur solution est de stocker tes name dans un tableau:

dans ta page html:

Code:

<table>
<form method="post" enctype="multipart/form-data" action="verif_upload.php">
<tr><td><input type="file" id="Upload" size="35" name="Upload[]"></td></tr>
<tr><td><input type="file" id="Upload" size="35" name="Upload[]"></td></tr>
<tr><td><input type="file" id="Upload" size="35" name="Upload[]"></td></tr>
<tr><td><input type="file" id="Upload" size="35" name="Upload[]"></td></tr>
<tr><td><input type="file" id="Upload" size="35" name="Upload[]"></td></tr>
<tr><td><input type="submit" value="Envoyer"></td></tr>
</form>
</table>

et le fichier "verif_upload"

Code:

<?php

$images_autorisees = 'jpg';
$dossier = './upload/';
$nbr_upload = '5';//nombre de champs d'upload


$total_envoi ='1';//j'initialise mon compte de fichiers
for($i = 0; $i < sizeof($_FILES['Upload']['name']); $i++)
{
    if(empty($_FILES['Upload']['name'][$i])){//j'ajoute 1 a chaques champ rempli
    $total_envoi = $total_envoi+1;
    }
    $envoi = htmlentities(addslashes($_FILES['Upload']['name'][$i]));//je desactive les requette nocives
    if($envoi != False){//si le fichier est different que vide je continue 
        $extension = strrchr($envoi,'.');
    if($extension != '.'.$images_autorisees){//si c'est different que .jpg,  j'affiche une erreur
    echo 'Merci de ne poster que des images au format jpg!';
    exit();
    }
    $nomFichier    = $_FILES["Upload"]["name"][$i];
    //nom temporaire sur le serveur:
    $nomTemporaire = $_FILES["Upload"]["tmp_name"][$i] ;
    //type du fichier choisi:
    $typeFichier   = $_FILES["Upload"]["type"][$i] ;
    //poids en octets du fichier choisit:
    $poidsFichier  = $_FILES["Upload"]["size"][$i] ;
    //code de l'erreur si jamais il y en a une:
    $codeErreur    = $_FILES["Upload"]["error"][$i] ;
if(copy($nomTemporaire, $dossier.$nomFichier)){
        echo("<br>l'upload a réussi") ;
        }
    else{
        echo("<br>l'upload a échoué") ;
        }
}
else{
    if($total_envoi > $nbr_upload){//si tout les champ sont vide je demande au moins un fichier
    echo 'Veuillez envoyer au moins un fichier!';
    exit();
    }
}
}
?>

Voili^^

Dernière modification par Asherah (21-11-2007 12:57:52)

Hors ligne

 

#33 21-11-2007 12:03:45

kenzopyro
Membre
Date d'inscription: 13-11-2007
Messages: 63

Re: Besoin d'aide sur un formulaire

voici ce que j'obtient :

Code:

Warning: copy(./upload/7bcf1525marxer1.jpg): failed to open stream: No such file or directory in c:\program files\easyphp1-8\www\test\verif.php on line 32

l'upload a échoué
Warning: copy(./upload/kimbrer6172 001.jpg): failed to open stream: No such file or directory in c:\program files\easyphp1-8\www\test\verif.php on line 32

l'upload a échoué
Warning: copy(./upload/7bcf1525marxer3.jpg): failed to open stream: No such file or directory in c:\program files\easyphp1-8\www\test\verif.php on line 32

l'upload a échoué
Warning: copy(./upload/kimbrer6172 002.jpg): failed to open stream: No such file or directory in c:\program files\easyphp1-8\www\test\verif.php on line 32

l'upload a échoué
Warning: copy(./upload/7bcf1525marxer2.jpg): failed to open stream: No such file or directory in c:\program files\easyphp1-8\www\test\verif.php on line 32

l'upload a échoué

Hors ligne

 

#34 21-11-2007 12:10:56

kenzopyro
Membre
Date d'inscription: 13-11-2007
Messages: 63

Re: Besoin d'aide sur un formulaire

Mais lorsque cela fonctionnera est-ce que les photos serons stockées sur le serveur ou seront elles envoyées par mail avec mon formulaire en pièces jointes ??

Hors ligne

 

#35 21-11-2007 12:17:42

kenzopyro
Membre
Date d'inscription: 13-11-2007
Messages: 63

Re: Besoin d'aide sur un formulaire

augtemps pour moi j'avais oublié de créer le repertoire upload... ça marche parfaitement merci c'est super.
par compte les photos sont bien copié ds le repertoire mais coté mail je reçois que les données cochées et remplies mais pas de photos en piece jointe. est ce possible de recevoir les photos dans mon mail ?

Hors ligne

 

#36 21-11-2007 12:18:14

Asherah
Membre
Date d'inscription: 15-11-2007
Messages: 161
Site web

Re: Besoin d'aide sur un formulaire

elles seront stocké sur le serveur. ensuite tu peut faire un script qui te les renvoi par mail.

dans ton message d'erreur il te dit qu'il ne trouve pas le dossier pour uploader les images, c'est donc que tu as une erreur dans le chemin que tu lui a fourni.

J'ai oublié de te preciser mais si tu prend le script tel-quel, ca va de soit que tu doit crée un dossier "upload" a l'endroit ou est ton script.

Hors ligne

 

#37 21-11-2007 12:41:07

Asherah
Membre
Date d'inscription: 15-11-2007
Messages: 161
Site web

Re: Besoin d'aide sur un formulaire

Ce que je te conseil c'est de plutot faire un mail d'avertissement avec un message html qui t'afficheras par <img src> les images qui ont été uploader, enfin apres c'est comme tu veut, mais faire une piece jointe c'est pas super facile... et sur ce coup je ne peut pas t'aider car je ne peut pas utiliser la fonction mail().

Hors ligne

 

#38 21-11-2007 12:53:59

kenzopyro
Membre
Date d'inscription: 13-11-2007
Messages: 63

Re: Besoin d'aide sur un formulaire

en tout cas vraiment merci merci merci ;-)

en gros ça me pose pas trop de probleme d'allé chercher les photos sur mon serveur, mais si 2 personnes remplissent mon formulaire en joignant chacune des photos je vais être embêté pour savoir à qui appartient les photos du répertoire.
tu vois ce que je veut dire ?
mais bon au pire je pe débrouillerai à trier lol...

Hors ligne

 

#39 21-11-2007 12:55:06

Asherah
Membre
Date d'inscription: 15-11-2007
Messages: 161
Site web

Re: Besoin d'aide sur un formulaire

je te donnerais un exemple tout a l heure pour recevoir la photo en mail mais sans piece jointe
la j vais manger^^

Hors ligne

 

#40 21-11-2007 12:57:09

kenzopyro
Membre
Date d'inscription: 13-11-2007
Messages: 63

Re: Besoin d'aide sur un formulaire

une fois mon formulaire rempli et les photos selectionné j'arrive sur une page blache ou est inscrit :

l'upload a réussi
l'upload a réussi
l'upload a réussi
l'upload a réussi
l'upload a réussi

ça fonctionne mais c'est pas tres joli, comment pui-je ajouter :

" Merci, votre demande sera traitée par notre équipe au plus vite , "

RETOUR AU SITE EN CLIQUANT ICI ( genre : www.google.fr )

Hors ligne

 

#41 21-11-2007 15:27:54

kenzopyro
Membre
Date d'inscription: 13-11-2007
Messages: 63

Re: Besoin d'aide sur un formulaire

recevoir la photo directement dans le mail sans qu'elle soit en pièce jointe tu veut dire ? un peut comme qd tu reçois un mailing ?

Hors ligne

 

#42 21-11-2007 16:07:44

Asherah
Membre
Date d'inscription: 15-11-2007
Messages: 161
Site web

Re: Besoin d'aide sur un formulaire

tiens^^

j'ai pas pu verifier si ca marchais, mais ca devrait^^
assure toi si tu est en local d'avoir ton SMTP configuré, ou si tu es chez un hebergeur que celui-ci autorise l'envoi de mail (c'est pas forcement le cas).

Code:

<?php

/////////////////////////////Gestion des images\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
$images_autorisees = 'jpg';
$dossier = 'upload/';
$nbr_upload = '5';//nombre de champs d'upload
//////////////////////////////////////////////////////////////////////////////////

///////////////////////////////Gestion du mail\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
//a envoyer a:
$a = 'ton-adresse@hotmail.fr;
//sujet:
$sujet = 'Alerte nouvelles données';
// Message
//////////////////////////////////////////////////////////////////////////////////




$total_envoi ='1';//j'initialise mon compte de fichiers
for($i = 0; $i < sizeof($_FILES['Upload']['name']); $i++)
{
    if(empty($_FILES['Upload']['name'][$i])){//j'ajoute 1 a chaques champ rempli
    $total_envoi = $total_envoi+1;
    }
    $envoi = htmlentities(addslashes($_FILES['Upload']['name'][$i]));//je desactive les requette nocives
    if($envoi != False){//si le fichier est different que vide je continue 
    $extension = strrchr($envoi,'.');
    if($extension != '.'.$images_autorisees){//si c'est different que .jpg,  j'affiche une erreur
    echo 'Merci de ne poster que des images au format jpg!';
    exit();
    }
    $nomFichier    = $_FILES["Upload"]["name"][$i];
    //nom temporaire sur le serveur:
    $nomTemporaire = $_FILES["Upload"]["tmp_name"][$i] ;
    //type du fichier choisi:
    $typeFichier   = $_FILES["Upload"]["type"][$i] ;
    //poids en octets du fichier choisit:
    $poidsFichier  = $_FILES["Upload"]["size"][$i] ;
    //code de l'erreur si jamais il y en a une:
    $codeErreur    = $_FILES["Upload"]["error"][$i] ;
    
    if(copy($nomTemporaire, $dossier.$nomFichier)){
    $url = 'http://'.$_SERVER['HTTP_HOST'].''.dirname($_SERVER["PHP_SELF"]).'/';
    $images.= '<a href="'.$url.''.$dossier.''.$nomFichier.'"><img src="'.$url.''.$dossier.''.$nomFichier.'">'.$url.''.$dossier.''.$nomFichier.'</a><br>';
    }
}
    if($total_envoi > $nbr_upload){//si tout les champ sont vide je demande au moins un fichier
    echo 'Veuillez envoyer au moins un fichier!';
    exit();
    }
}
//////////////////////////////////////////message\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
    $message = 'Vous avez recus de nouvelles images!<br>'.$images;
    mail($a, $sujet, $message);
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
    echo 'Merci, votre demande sera traitée par notre équipe au plus vite. <br> Vous allez etre redirigé vers le site dans 2 secondes.<meta http-equiv="refresh" content="2; www.google.fr ">';
?>

Dernière modification par Asherah (21-11-2007 16:23:23)

Hors ligne

 

#43 21-11-2007 16:24:14

Asherah
Membre
Date d'inscription: 15-11-2007
Messages: 161
Site web

Re: Besoin d'aide sur un formulaire

au passage remplace:

Code:

/////////////////////////////Gestion des images\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
$images_autorisees = 'jpg';
$dossier = './upload/';//<----------------------------------------------
$nbr_upload = '5';//nombre de champs d'upload

par:

Code:

/////////////////////////////Gestion des images\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
$images_autorisees = 'jpg';
$dossier = 'upload/';
$nbr_upload = '5';//nombre de champs d'upload

Hors ligne

 

#44 21-11-2007 16:24:57

kenzopyro
Membre
Date d'inscription: 13-11-2007
Messages: 63

Re: Besoin d'aide sur un formulaire

Merci,
visiblement une erreur sur cette ligne : $sujet = 'Alerte nouvelles données';


Code:

Parse error: parse error in c:\program files\easyphp1-8\www\test\verif.php on line 13

Code:

///////////////////////////////Gestion du mail\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
//a envoyer a:
$a = 'monmail@yahoo.Fr;
//sujet:
$sujet = 'Alerte nouvelles données';
// Message
//////////////////////////////////////////////////////////////////////////////////

Hors ligne

 

#45 21-11-2007 16:26:35

Asherah
Membre
Date d'inscription: 15-11-2007
Messages: 161
Site web

Re: Besoin d'aide sur un formulaire

loupé^^

c'etait ici^^
$a = 'monmail@yahoo.Fr

par

$a = 'monmail@yahoo.Fr';

Hors ligne