begin process at 2012 05 28 21:31:12
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

Formulaire avec fichier à enregistrer dans base de données.


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Formulaire avec fichier à enregistrer dans base de données.

mercredi 21 avril 2010 à 18:29:08 | Formulaire avec fichier à enregistrer dans base de données.

yukisan

Bonjour à tous,


Donc voilà je me heurte à un problème, je suis en train de concevoir un formulaire permettant l'inscription à un concours.

Les participants doivent donc remplir ce formulaire en remplissant différents champs. Ceci fait les champs sont enregistré dans une base de donnée et un mail m'est envoyé en même temps.

Jusqu'à là aucun problème...


Le souci est que le participant devra uploader un fichier (une vidéo pour être plus précis) et là je bloque, ce bouton upload se trouve et doit se trouver dans le formulaire, et est donc envoyé en même temps que les informations entré.
La solution BLOB ne va pas avec mon utilisation (ça ramerait, et en plus pas assez de place dans la base de donnée).

Donc il me reste 2 solutions :

- Uploader le fichier sur mon server, et stocker le lien de la vidéo dans la base de donné.
- Envoyer la vidéo par email en fichier joint en même temps .


Voici mon code php une fois le formulaire valider.

J'aimerai savoir ou et quoi placer afin que l'une de mes solutions (ou une autre) soit fonctionnel.


Code PHP :


<?php




define('DB_SERVER', ''); // serveur mysql
define('DB_SERVER_USERNAME', ''); // nom d'utilisateur
define('DB_SERVER_PASSWORD', ''); // mot de passe
define('DB_DATABASE', ''); // nom de la base




// parametres email 
define('MAIL_DESTINATAIRE','email@email'); 
define('MAIL_SUJET','Inscription dans la base de donnée');

$msg_erreur = "Erreur. Les champs suivants doivent être obligatoirement remplis :<br/><br/>";
$msg_ok = "Merci, <br/> votre inscription a bien été prise en compte ! <br/>    <p><br/> <br/></p> ";
$message = $msg_erreur;



 
// Connexion au serveur mysql
$connect = mysql_connect(DB_SERVER, DB_SERVER_USERNAME, 
DB_SERVER_PASSWORD) 
or die('Impossible de se connecter : ' . mysql_error());
// sélection de la base de données
mysql_select_db(DB_DATABASE, $connect);
 
$msg_erreur = "Erreur. Les champs suivants doivent être obligatoirement remplis :<br/><br/>";
$msg_ok = "Merci, <br/> votre inscription a bien été prise en compte ! <br/>    <p> <br/> <br/></p> ";
$message = $msg_erreur;
 
 

 
 
 // l'entête du mail
$mail_entete = "MIME-Version: 1.0\r\n";
$mail_entete .= "From: {$_POST['nom']} "
."<{$_POST['email']}>\r\n";
$mail_entete .= 'Reply-To: '.$_POST['email']."\r\n";
$mail_entete .= 'Content-Type: text/plain; charset="iso-8859-1"';
$mail_entete .= "\r\nContent-Transfer-Encoding: 8bit\r\n";
$mail_entete .= 'X-Mailer:PHP/' . phpversion()."\r\n";

// préparation du corps du mail
$mail_corps = "Message de : $civilite $nom\n";
$mail_corps .= "Adresse : $adresse, $codepostal $ville, $pays\n";
$mail_corps .= "Ses centres d'intérêts : $sqlinterets\n\n\n";
$mail_corps .= $comments;

// envoi du mail
$res_mail = mail(MAIL_DESTINATAIRE,MAIL_SUJET,$mail_corps,$mail_entete);
 
 
 
foreach($_POST as $index => $valeur) {
  // utilisez addslashes() au lieu de mysql_real_escape_string()
  // si vous n'etes pas sur PHP5 ou si la fonction pose probleme
  $$index = mysql_real_escape_string(trim($valeur));
} 
 
 
 
 
 
 
 
 
  $sql = "INSERT INTO formulaire VALUES ('', '".$civilite."', '".$nom."', '".$prenom."', '".$age."','".$codepostal."','".$ville."','".$niveauetude."', '".$nomecole."', '".$email."', '".$telephone."','".$lienvideo."','".$offre."', now())";
  $res_sql = mysql_query($sql);
 
// si le mail a ete envoye par mail et mysql
if ($res_mail && $res_sql) {
echo $msg_ok;
// si mysql a retourné une erreur
} else if (!$res_sql) {
echo mysql_error();
// si le mail n'a pas été envoyé
} else if (!$res_mail) {
echo 'Erreur. Le formulaire ne nous a pas été correctement envoyé par email.';
}

}
?>





















Merci à vous.
mercredi 21 avril 2010 à 20:44:56 | Re : Formulaire avec fichier à enregistrer dans base de données.

tlaloctzin

Membre Club
Pour uploader tu mets

Code PHP :
$destination = 'ta destination sur le server';
if ( !move_uploaded_file($_FILES['nom_du_fichier']['tmp_name'], $destination.$_FILES['nom_du_fichier']['name'])){
    echo 'Erreur d'upload';
}
else{
     echo 'Bien monté :p';
}



Désolé pour la vanne pourrie.


Il vaut mieu être riche et en bonne santé que pauvre et malade .
mercredi 21 avril 2010 à 21:14:07 | Re : Formulaire avec fichier à enregistrer dans base de données.

yukisan

Merci, j'ai résolu mon problème moi même finalemet.
Ton code est bon mais pas assez sécurisé mais merci quand même !

voilà ce que j'ai mis


Code PHP :

# <?
#     $repertoireDestination = "logiciels/";
#     $nomDestination        = $_FILES["monfichier"]["name"];
#     $nomfichier = "logiciels/$nomDestination";
#
#     // Pour raison de sécurité nous ajouterons aux fichiers
#     // portant une extension .php .php3, l'extension .txt
#
#     if (eregi(".php", $nomDestination))
#         {
#         $nomDestination .= ".txt";
#         }
#    
#         if (is_uploaded_file($_FILES["monfichier"]["tmp_name"]))
#             {
#             if (rename($_FILES["monfichier"]["tmp_name"],$repertoireDestination.$nomDestination))
#             {
#                 echo "L'image a bien étée uploadée.";
#             include("fichier_de_connexion.php" );
#             mysql_query("INSERT INTO table VALUES ('', '$nomfichier')" );
#             echo "Le logiciel a bien été ajouté";
#             mysql_close();
#                 }
#         else
#             {
#                 echo "Le déplacement du fichier temporaire a échoué";
#                 }         
#         }
#     else
#         {
#         echo "Le fichier n'a pas été uploadé.";
#         }
#
# ?>







Cette discussion est classée dans : mail, base, mysql, formulaire, entete


Répondre à ce message

Sujets en rapport avec ce message

formulaire base de donnée mysql [ par lyes_hh ] bonjour, j'ai créé une base de donnée... j'ai un formulaire qui permet de rentrer un nouvel enregistrement et jouhaite pouvoir modifier ces enregistre problème avec formulaire d'envoi de newsletter très basic [ par Broack Dincht ] bonjour J'ai écri un formulaire d'envoi de newsletter très basique. Grace à un formulaire, on inscrit l'objet et le contenu du message. Les adresses d php: fonction mail(), compatibilité yahoo, hotmail et autres [ par cguibs82 ] Bonjour, Je sais que plusieurs post parlent du même sujet. mais je n'arrive pas à le faire fonctionner.je bâtis un newsletter. le problème est que yah comment rercuperer des mail contenue dasn une base mysql avec outook ????????????? [ par fredericmaill ] bonjour !!j'aimerais recuper les mail de mon serveur imap, mails qui sont enregistrer dans une base mysql.je voudrais les recupere directement dans ou update base mysql avec formulaire [ par jipe32 ] Bonjour, je voudrais savoir comment updater une table dans une base de données mySQL avec un formulaire En fait c'est pour un projet de moteur de rec requetes temporelle sur base mysql [ par tekbright717 ] bonjour a tous! j'ai un problème que je n'arrive pas a résoudre : je voudrais faire que par un formulaire on puisse modifier les valeurs d'une table Problème de formulaire entre 2 sites [ par Kaneda Shotaro ] J'ai réalisé en HTML un site pour un ami. Il voulait que les visiteurs puissent envoyer par mail une demande de renseignement. J'ai donc fait sur son Inscription d'un formulaire dans la base données [ par cmoimath ] Bonjour, je suis nouveau sur ce site, je n'ai pas l'habitude de demander de l'aide, mais aprés un bon nombres d'heures de recherche, je n'ai tojours p Enregistrement dans bdd mysql [ par arkonara ] Bonjour a tous, voila j'ai un petit problème. J'ai un formulaire d'insertion dans ma base, ce formulaire concerne une table de ma base mais seulement Création d'un formulaire via une base mysql [ par jbdu22 ] Bonjour,J'ai  créé un site internet et j'aimerais faire un formulaire avec les champs    NOMS, PRENOMS,MAILS,COMMENTAIRES.  Le tout doit s'enregistrer


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,530 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales