Formulaire et fonction en php

Fermé
paulbassong Messages postés 1 Date d'inscription lundi 25 avril 2011 Statut Membre Dernière intervention 25 avril 2011 - 25 avril 2011 à 22:39
gilbert1995 Messages postés 414 Date d'inscription samedi 12 septembre 2009 Statut Membre Dernière intervention 30 mai 2013 - 28 avril 2011 à 03:51
Bonjour,

Tout d'abord je souhaite remercier le staff du site pour leur travail remarquable depuis la création de "commentçamarche" ainsi que tous ceux et celles qui contribuent a l'enrichissement de son contenu.
Mon problème se situe au niveau des formulaires et de leur traitement. Je souhaite créer une page qui traite des données d'un formulaire et les affiche sur une autre page. Cet affichage doit être possible grâce a une fonction utilisateur qui indique a la page formulaire comment afficher ces données. Je suis bloqué au niveau de l'affichage d'une image déjà uploadée.


Voici le code de la page principale :


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Formulaire D'informations</title>
<style type="text/css">
<!--
body {
color: #FFF;
background-image: url(img/100515173504_5.jpg);
}
a {
font-weight: bold;
}
-->
</style></head>

<body>
<FORM method=post action="affiche.php">
<center>Enregistrement des informations personnelles<br /></center>
<center><table width="578" border="0">
<tr>
<td><span id="champs">Nom(s) & Prenom(s)</span> :</td>
<td>
<INPUT type=text name="nom_prenom" />
</td>
</tr>

<tr>
<td id="champ">Date de Naissance :</td>
<td>
<INPUT type=text name="date_naissance" />
</td>
</tr>

<tr>
<td>Lieu de Naissance :</td>
<td>
<input type="text" name="lieu_naissance" />
</td>
</tr>

<tr>
<td>Etat Civil :</td>
<td>
<SELECT name="etat_civil">
<OPTION VALUE="celibataire">Célibataire</OPTION>
<OPTION VALUE="marie">Marié(e)</OPTION>
<OPTION VALUE="veuf">Veuf(ve)</OPTION>
</SELECT>
</td>
</tr>
<tr>
<td>Expérience Professionnelle :</td>
<td><textarea name="experience" id="experience" cols="45" rows="5"></textarea></td>
</tr>
<tr>
<td>Hobbies :</td>
<td><textarea name="experience" id="experience" cols="45" rows="5"></textarea></td>
</tr>
<tr>
<td>Inserer votre Photo :</td>
<td><input type="file" name="fichier" size="30">
<input type="submit" name="upload" value="Uploader">
</p></td>
</tr>

<tr>
<td COLSPAN=2>
<INPUT type="submit" value="Envoyer">
</td>
</tr>
</table>
</center>
</form>
</body>
</html>



Et voila la fonction affiche que j'ai créé :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>upload infos</title>
</head>

<body>
<?php
function affiche()
{
$nom_prenom = $_POST['nom_prenom'];
echo "NOM(s) et PRENOM(s) : $nom_prenom<br />";
$date_naissance = $_POST['date_naissance'];
echo "DATE DE NAISSANCE : $date_naissance<br />";
$lieu_naissance = $_POST['lieu_naissance'];
echo "LIEU DE NAISSANCE : $lieu_naissance<br />";
$etat_civil = $_POST['etat_civil'];
echo "SITUATION MATRIMONIALLE : $etat_civil<br />";
$experience = $_POST['experience'];
echo "EXPERIENCE PROFESSIONELLE : <br />".nl2br($experience)."<br />";
$etat_civil = $_POST['etat_civil'];
$hobbies = $_POST['hobbies'];
echo "HOBBIES : <br />".nl2br($hobbies)."<br />";


$photo = $_FILES['fichier'];

if( isset($_POST['upload']) ) // si formulaire soumis
{
$content_dir = 'upload/'; // dossier où sera déplacé le fichier

$tmp_file = $_FILES['fichier']['tmp_name'];

if( !is_uploaded_file($tmp_file) )
{
exit("Le fichier est introuvable");
}

// on vérifie maintenant l'extension
$type_file = $_FILES['fichier']['type'];

if( !strstr($type_file, 'jpg') && !strstr($type_file, 'jpeg') && !strstr($type_file, 'bmp') && !strstr($type_file, 'gif') )
{
exit("Le fichier n'est pas une image");
}

// on copie le fichier dans le dossier de destination
$name_file = $_FILES['fichier']['name'];

if( !move_uploaded_file($tmp_file, $content_dir . $name_file) )
{
exit("Impossible de copier le fichier dans $content_dir");
}

echo "Le fichier a bien été uploadé";
}



return array( $nom_prenom, $date_naissance, $lieu_naissance, $etat_civil, $experience, $hobbies, $photo);
}
?>


</body>
</html>


Désolé pour les erreurs de syntaxe, je suis en plein apprentissage du langage. Merci.
A voir également:

1 réponse

gilbert1995 Messages postés 414 Date d'inscription samedi 12 septembre 2009 Statut Membre Dernière intervention 30 mai 2013 29
28 avril 2011 à 03:51
Essaie avec
<form method="POST" action="affiche.php" enctype="multipart/form-data">


enctype="multipart/form-data" est essentiel lorsque tu Upload un fichier
0