bonjour je finalise un forumlaire visible ici http://www.sokebana.net/test/prestataires-mariage/formule-complete.html
je rencontre quelques soucis pour lequel je viens demander votre aide:
- remerciement ne s'affiche pas sous IE (ok sous firefox), s'affiche juste une page avec l'image de background
- je demande à ce que les fichiers n'excèdent pas une taille en pixel, ce n'est pas pris en compte
- je demande à ce qu'il ne prenne que certains formats jpg, png, gij et jpeg, il prend tout (sauf excel) e surtout il accepte le .php :s
- je reçois le mail avec les caracteres spéciaux non gérés
- les fichiers uploadés restent sur le serveur au lieu d'arriver e, piece jointe dans le mail (au pire j'ai tenté au moins un lien ds le mail vers l'image, ça marche po), si les fichiers ne peuvent arriver en piece jointe, j'aimerais alors que les fichiers uploadés ds aillent ds un dossier uploads/ ... de manière à éviter les erreurs si jamais deux personnes s'inscrivent en meme temps ou si deux fichiers portent le meme nom, j'imagine que ceci se fait seulement quand les images restent sur le serveur
voilà c'est tout,
le fichier source est là www.sokebana.net/form.rar
merci beaucoup par avance de votre aide
Bonjour,
j'essai d'intégrer dans un formulaire simple (texte) des cahmps d'up load d'image + une liste déroulante, je suis real débutante en php... voici l'erreur présentée
si qqu peut me venir en aide... merci par avance
syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in /home/wb60769/test/prestataires-mariage/formule_complete.php on line 126
la ligne 126 dans son contexte est celle ci (if( mail('contact@sokebana.net','Nouvelle inscription...)
<?php
//mise en forme du mail
$message = "$formNom $formPrenom soumet son inscription à l'annuaire -Formule complete- de l'espace mariage.n n ";
// on envois le mail http://fr.php.net/manual/fr/ref.mail.php // bool mail ( string to, string subject, string message [, string additional_headers [, string additional_parameters]] )
// ATTENTION en général vous n'avez pas de serveur de mail sur votre machine !
// à tester sur le net directment en cas de problème avec la fonction mail
if( mail('contact@sokebana.net','Nouvelle inscription -Formule complète- de l'Espace Mariage',$message. "n Activité:" .$formActivite. "n Titre:".$formTitre. "n Site web:" .$formSite_web. "n Gamme de prix:" .$formGamme_prix. "n n Mail:" .$formMail "n Adresse:".$formAdresse. "n Code postal:".$formCode_postal. "n Ville:".$formVille. "n Telephone:".$formTelephone. "n Portable".$formPortable. "n Zone couverte".$formZone_activite. "n Vignette".$formFichier. "n Fichier1:".$formFichier1. "n Fichier2:".$formFichier2. " n Fichier3:".$formFichier3. )" Description: " $formDescription"n" ){
echo ('<title>Votre soumission est prise en compte</title>
<link href="style.css" rel="stylesheet" type="text/css">
?>
<?php
// récupération des variables
// donné un autre nom au variable pour évité les problèmes avec Register Global à ON
$formTitre = $_POST['titre'];
$formActivite = $_POST['activite'];
$formNom = $_POST['nom'];
$formPrenom = $_POST['prenom'];
$formMail = $_POST['mail'];
$formAdresse = $_POST['adresse'];
$formCode_postal = $_POST['code_postal'];
$formville = $_POST['ville'];
$formTelephone = $_POST['tel'];
$formPortable = $_POST['port'];
$formSite_web = $_POST['site_web'];
$formGamme_de_prix = $_POST['gamme_prix'];
$formZone_activite = $_POST['zone_activite'];
$formFichier = $_FILES['fichier'];
$formFichier1 = $_FILES['fichier1'];
$formFichier2 = $_FILES['fichier2'];
$formFichier3 = $_FILES['fichier3'];
$formDescription = $_POST['description'];
/* traitement up load*--------------------------------------------------------------------------------------------------------------*/
// Testons si le fichier a bien été envoyé et s'il n'y a pas d'erreur
if (isset($_FILES['fichier']) && $_FILES['fichier']['error'] == 0)$erreur = "Erreur lors du tranfsert";
{
// Testons si le fichier n'est pas trop gros
if ($_FILES['fichier']['size'] <= 50000) $erreur = "Le fichier est trop gros";
// Testons si l'extension est autorisée
{
$infosfichier = pathinfo($_FILES['fichier']['name']);
$extension_upload = $infosfichier['extension'];
$extensions_autorisees = array('jpg', 'jpeg', 'gif', 'png');
if (in_array($extension_upload, $extensions_autorisees))echo "Extension correcte";
//Pour supprimer les espaces dans les noms de fichiers car celà entraîne une erreur lorsque vous voulez l'afficher
$fichier = preg_replace ("` `i","",$fichier);//ligne facultative :)
$image_sizes = getimagesize($_FILES['icone']['tmp_name']);
if ($image_sizes[160] > $maxwidth OR $image_sizes[160] > $maxheight) $erreur = "Image trop grande";
{
// On peut valider le fichier et le stocker définitivement
move_uploaded_file($_FILES['fichier3']['tmp_name'], 'uploads/' . basename($_FILES['fichier3']['name']));
echo "L'envoi a bien été effectué !";
}
}
}
if (isset($_FILES['fichier1']) && $_FILES['fichier1']['error'] == 0) $erreur = "Erreur lors du tranfsert";
{
if ($_FILES['fichier1']['size'] <= 100000) $erreur = "Le fichier est trop gros";
{
$infosfichier = pathinfo($_FILES['fichier1']['name']);
$extension_upload = $infosfichier['extension'];
$extensions_autorisees = array('jpg', 'jpeg', 'gif', 'png');
if (in_array($extension_upload, $extensions_autorisees)) echo "Extension correcte";
$fichier = preg_replace ("` `i","",$fichier);
if ($image_sizes[600] > $maxwidth OR $image_sizes[600] > $maxheight) $erreur = "Image trop grande";
{
move_uploaded_file($_FILES['fichier1']['tmp_name'], 'uploads/' . basename($_FILES['fichier1']['name']));
echo "L'envoi a bien été effectué !";
}
}
}
if (isset($_FILES['fichier2']) && $_FILES['fichier2']['error'] == 0) $erreur = "Erreur lors du tranfsert";
{
if ($_FILES['fichier2']['size'] <= 100000) $erreur = "Le fichier est trop gros";
{
$infosfichier = pathinfo($_FILES['fichier2']['name']);
$extension_upload = $infosfichier['extension'];
$extensions_autorisees = array('jpg', 'jpeg', 'gif', 'png');
if (in_array($extension_upload, $extensions_autorisees)) echo "Extension correcte";
$fichier = preg_replace ("` `i","",$fichier);
$fichier = preg_replace ("` `i","",$fichier);
if ($image_sizes[600] > $maxwidth OR $image_sizes[600] > $maxheight) $erreur = "Image trop grande";
{
move_uploaded_file($_FILES['fichier2']['tmp_name'], 'uploads/' . basename($_FILES['fichier2']['name']));
echo "L'envoi a bien été effectué !";
}
}
}
if (isset($_FILES['fichier3']) && $_FILES['fichier3']['error'] == 0) $erreur = "Erreur lors du tranfsert";
{
if ($_FILES['fichier3']['size'] <= 100000) $erreur = "Le fichier est trop gros";
{
$infosfichier = pathinfo($_FILES['fichier3']['name']);
$extension_upload = $infosfichier['extension'];
$extensions_autorisees = array('jpg', 'jpeg', 'gif', 'png');
if (in_array($extension_upload, $extensions_autorisees)) echo "Extension correcte";
$fichier = preg_replace ("` `i","",$fichier);
$fichier = preg_replace ("` `i","",$fichier);
if ($image_sizes[600] > $maxwidth OR $image_sizes[600] > $maxheight) $erreur = "Image trop grande";
{
move_uploaded_file($_FILES['fichier3']['tmp_name'], 'uploads/' . basename($_FILES['fichier3']['name']));
echo "L'envoi a bien été effectué !";
}
}
}
/* FIN traitement up load--------------------------------------------------------------------------------------------------------------*/
// pour éviter des erreurs de Notice dans le cas ou le champs est resté vide, on aurait pu mettre !
// $formMail = (!isset($_POST['mail']))?$_POST['mail']:'none';
// Dans le cas ou les variables sont destiné à allimenter un base de donné il faut toujours valider les valeurs pour éviter les problèmes d'injection ! cf Google
//En règle général on traite les variables avec les fonctions htmlentities, mysql_escape_string(),addslash() ...
// Dans l'exemple on va juste vérifier que le nom, le prenom et le mail soit pas vide.
if(!empty($formTitre) && !empty($formActivite) && !empty($formNom) && !empty($formPrenom) && !empty($formMail) && !empty($formAdresse) && !empty($formCode_Postal) && !empty($formVille) && !empty($formTelephone) &&!empty($formPortable) &&!empty($formSite_web) &&!empty($formGamme_prix) &&!empty ($formZone_activite) && !empty($Fichier) && !empty($Fichier1)&& !empty($Fichie2)&& !empty($Fichier3)){
//ok pas vide //on convertie les caractètres HTML du commentaire
$formDescription = htmlentities($formDescription);
//mise en forme du mail
$message = "$formNom $formPrenom soumet son inscription à l'annuaire -Formule complete- de l'espace mariage.n n ";
// on envois le mail http://fr.php.net/manual/fr/ref.mail.php // bool mail ( string to, string subject, string message [, string additional_headers [, string additional_parameters]] )
// ATTENTION en général vous n'avez pas de serveur de mail sur votre machine !
// à tester sur le net directment en cas de problème avec la fonction mail
if( mail('contact@sokebana.net','Nouvelle inscription -Formule complète- de l'Espace Mariage',$message. "n Activité:" .$formActivite. "n Titre:".$formTitre. "n Site web:" .$formSite_web. "n Gamme de prix:" .$formGamme_prix. "n n Mail:" .$formMail "n Adresse:".$formAdresse. "n Code postal:".$formCode_postal. "n Ville:".$formVille. "n Telephone:".$formTelephone. "n Portable".$formPortable. "n Zone couverte".$formZone_activite. "n Vignette".$formFichier. "n Fichier1:".$formFichier1. "n Fichier2:".$formFichier2. " n Fichier3:".$formFichier3. )" Description: " $formDescription"n" ){
echo ('<title>Votre soumission est prise en compte</title>
<link href="style.css" rel="stylesheet" type="text/css">
<style type="text/css">
<!-- ...........