|
Warning: include(..includes/start-product.php) [function.include]: failed to open stream: No such file or directory in /home/ybet/www/hardware/produit-vertical.php on line 26
Warning: include() [function.include]: Failed opening '..includes/start-product.php' for inclusion (include_path='.:/usr/share/php5') in /home/ybet/www/hardware/produit-vertical.php on line 26
 Graveur DVD slim
Prix: 38.19 € TTC |  Lecteur de disquette Beige interne 1,44MB
Prix: 8.23 € TTC |  Lecteur de cartes mémoires multimédia interne USB, 8 en 1
Prix: 6.18 € TTC |  Graveur DVD +/- Samsung interne P-ATA (sans logiciel)
Prix: 26.69 € TTC |
|
Formations Privées en informatiques
B-6810 Pin - Chiny
|
|
Création
et référencement Internet
Formation:
apprenez à créer et référencer votre propre site Internet
- Module 1 (Débuter en création de site, HTML): 19 et 26 avril,
3 ,10 et 17 mai.
- Module 2 (Débuts en PHP, MySQL: première partie): 17, 24 et 31
mai, 7, 14 et 21 juin.
Ces modules sont accessibles également à distance. Elles se dérouleront
les lundi soirs de 19 à 22 heures.
|
| Les
chapitres de la formation en ligne PHP - MySQL |
| 1.
Introduction
au Php
|
| 2. Installer et
utiliser easyphp
|
| 3. Premières
commandes PHP
|
| 4. Fonctions en
PHP
|
| 5. Les tableaux
|
| 6. Fonctions sur
les variables
|
| 7. Formulaires Mail
|
|
8. Base de donnée
MySQL
avec easyphp |
| 9. Première
application de Mysql
|
| 10. Gestion des
tables par PHP
|
| 10.a Exercice:
formulaire de contact
|
| 11. Mise en page
PHP - HTM: include() - require()
|
| 12. Création
automatique de la table utilisateur
|
| 13. Formulaire et
vérification des données
|
| 14. Insertion des
nouveaux membres
|
| 15. Gestion des
catégories
|
| 16. Liste de
choix déroulante
|
|
17. Modification
des tables MySQL
|
|
18. Enregistrer
un fichier via un formulaire
|
| 19. Formulaire
d'insertion
|
| 20. Affichage des
petites annonces
|
| 21. Filtrage des
annonces (1)
|
| 23. Exercice: gérer
des news
|
| 24. Utilisation
des Cookies
|
| 25. Gestion
fichiers et Dossiers (source et FTP)
|
| 26. Cryptage et
décryptage de mots de passe
|
| 27. Base
relationnelle, méthodes Left et Join. |
| Divers |
| Formation
référencement en ligne,
positionnez votre site sur Google, MSN, Yahoo, ... |
| Les
feuilles de styles, utilisation du CSS. |
| FrontPage
et l'HTML, formation en ligne |
| Le
fichier .htaccess, Configuration serveur Apache, URL
Rewriting, accès répertoires. |
| Exemples de programmation qui utilisent de ce cours PHP-MySQL
La
commune de Florenville, agenda des activités, annuaire
local, ...
|
|
19. Formulaire d'insertion d'annonces.
1 Introduction - 2. Le formulaire d'entrée
- 3. Tests du fichier et requêtes d'entrées
Pas un chapitre agréable puisque finalement nous
avons déjà quasiment tout vu, juste (presque) des lignes de code en PHP et des
requêtes MySQL. Nous
reprenons finalement l'ensemble des développements des 3 précédents chapitres: affichage de la liste des catégories sous forme
de liste déroulante, la liste des champs à
remplir dans la table et le téléchargement d'une
image via un formulaire.
Attention que les tests d'image et le
redimentionnement ne fonctionne pas sous EasyPhp (même en cochant l'option
php_gd2). Il faudra probablement le tester directement sur un site en ligne avec
une base de donnée.
Nous allons d'abord commencer par créer notre
formulaire auto-vérifié. Attention, ce programme utilise la base de donnée
MySQL, vous devez le testez en local avec easyphp.
<?php
require('includes/start.php');
$categorie_tab=array();
$requete="SELECT * FROM categorie";
$valeur=mysql_query($requete);
$i=0;
$ligne=0;
while ($tableau=mysql_fetch_array($valeur)){
// on récupère les données de la table
// print($ligne);
if($tableau['actif']<>"N"){
$categorie_tab[$i]['uid']=$tableau['uid'];
$categorie_tab[$i]['nom']=$tableau['nom'];
$categorie_tab[$i]['description']=$tableau['description'];
$categorie_tab[$i]['attachement']=$tableau['attachement'];
$i=$i+1;
}else{
// categorie non active
}
}
require('includes/stop.php');
// début du traitement des catégories - sous catégories dans le tableau
$ligne=$i;
$i=0;
while ($i<$ligne){
if ($categorie_tab[$i]['attachement']<>0){
// vérification des sous catégories 1: ce n'est pas une catégorie
$k=$categorie_tab[$i]['attachement'];
$nom=$categorie_tab[$i]['nom'];
// on récupère attachement et vérifie si uid est effectivement avec attachement à 0
$j=0;
$l=0;
//
while ($j<$ligne){
if(($categorie_tab[$j]['uid']==$k)&&($categorie_tab[$j]['attachement']=="0")){
$l=1;
$categorie_tab[$i]['complet']= $categorie_tab[$j]['complet'];
}
$j=$j+1;
}
// si $l = 1, il s'agit bien d'une sous-catégorie de niveau 1
if ($l==1){
$categorie_tab[$i]['cat1']=$k;
$categorie_tab[$i]['cat2']=$categorie_tab[$i]['uid'];
$categorie_tab[$i]['cat3']="0";
$categorie_tab[$i]['complet']= $categorie_tab[$i]['complet']."->".$categorie_tab[$i]['nom'];
}else{
// c'est une catégorie de niveau 2, il faut retrouver les 2 catégories supérieures
$j=0;
$l=0;
while ($j<$ligne){
if(($categorie_tab[$j]['uid']==$k)&&($categorie_tab[$j]['attachement']<>"0")){
$l=$j;
$j=$ligne;
}
$j=$j+1;
}
$categorie_tab[$i]['cat1']=$categorie_tab[$l]['attachement'];
$categorie_tab[$i]['cat2']=$categorie_tab[$l]['uid'];
$categorie_tab[$i]['cat3']=$categorie_tab[$i]['uid'];
// on recherche ensuite la catégorie
$m=0;
while ($m<$ligne){
if (($categorie_tab[$m]['uid']==$categorie_tab[$i]['cat1'])&&($categorie_tab[$m]['attachement']==0)){
$categorie_tab[$i]['complet']=$categorie_tab[$m]['nom']."->".$categorie_tab[$l]['nom']."->".$categorie_tab[$i]['nom'];
$m=$ligne;
}
$m=$m+1;
}
}
// fin de vérification des catégories 1
}else{
// c'est une catégorie }else{
$categorie_tab[$i]['cat1']=$categorie_tab[$i]['uid'];
$categorie_tab[$i]['cat2']=0;
$categorie_tab[$i]['cat3']=0;
$categorie_tab[$i]['complet']=$categorie_tab[$i]['nom'];
}
$i=$i+1;
}
// test d'exécution du sommaire
if (isset($_POST['go'])){
$titre = $_POST['titre'];
$erreur_titre = "";
$description = $_POST['description'];
$erreur_description = "";
$ville = $_POST['ville'];
$erreur_ville = "";
$pays = $_POST['pays'];
$erreur_pays = "";
$prix = $_POST['prix'];
$erreur_prix = "";
$telephone = $_POST['telephone'];
$erreur_telephone = "";
$dateinsertion=date('Ymd');
if ($_POST['titre'] == ''){
$erreur_titre = "Entrez un nom<br>";
} elseif ($_POST['description'] == ''){
$erreur_description = "Entrez une description<br>";
} elseif ($_POST['ville'] == ''){
$erreur_ville = "Entrez une ville<br>";
} else {
$ajout = "";
echo"Connexion réussie";
// entrée des données dans la table
}
} else {
$nom = "Nom de la catégorie";
$erreur_titre = "";
$description = "Description de la catégorie";
$erreur_description = "";
$attachement = "Numéro de la catégorie supérieure";
$erreur_attachement = "";
$actif ="O";
$erreur_actif = "";
}
$form = "<form method=\"POST\" form action=\"$PHP_SELF\" ENCTYPE=\"multipart/form-data\">
<p>Titre annonce <input type=\"text\" name=\"titre\" size=\"120\"><br><font color=\"#FF0000\">$erreur_titre</font></p>
<p><select size=\"1\" name='uid'>";
$i=0;
while ($i<$ligne){
$uid= $categorie_tab[$i]['uid'];
$complet= $categorie_tab[$i]['complet'];
$form=$form."<option value=".$uid.">".$complet."</option>";
$i=$i+1;
}
// Formulaire
$form=$form."</select>
<p>Description de votre annonce</p>
<P><TEXTAREA NAME=\"description\" ROWS=\"8\" COLS=\"50\" WRAP=virtual></TEXTAREA></p><p><font color=\"#FF0000\">$erreur_description</font></P>
<p>Ville: <input type=\"text\" name=\"ville\" size=\"40\"><font color=\"#FF0000\">$erreur_titre</font> Pays: <select name=\"pays\">
<option selected>Belgique</option>
<option>France</option>
<option>Luxembourg</option>
</select><P>
Téléchargez une Photo : <input TYPE=\"file\" NAME=\"photo\">
Prix : <input type=\"text\" name=\"prix\" size=\"13\"><P>
Téléphone : <input type=\"text\" name=\"telephone\" size=\"15\">
Tel. affiché: <input type=\"checkbox\" name=\"tel\" value=\"ON\" checked><P>
<input type=\"submit\" value=\"Envoyer\" name=\"go\">
</form>
<HR>";
print($form);
?> |
La première partie récupère nos catégories sous
forme d'un tableau comme vu précédemment. La deuxième partie est finalement
la vérification de quelques données. Pour l'instant, nous ne vérifions pas
grand chose (juste si le titre, la description et la ville sont correct, nous
ajouterons les vérifications à fait. De plus, nous ne remplissons pas encore
les données provenant de l'utilisateur
La dernière partie affiche le formulaire. C'est
simplement une adaptation de nos différentes parties de formulaires (liste déroulante
et transfert d'image).
Insérons le test de chargement du fichier du
chapitre précédant avec les modifications du formulaire. Pour cela, nous allons
créer une fonction vérifiant l'extension de l'image (imageok()). D'autres
vérifications sont faites sur la taille uniquement si le fichier est reconnu:
quelques images JPG sont refusées.
De même si l'utilisateur ne rentre pas de photo,
l'image par défaut logo-min.gif est chargé et aucun test n'est effectué.
L'entrée des données se fait en 2 parties: la
partie 1 est standard
require('includes/start.php');
if($_FILES['photo']['name']<>"logo-min.gif"){
$photo=$_FILES['photo']['name'];
}else{
$photo="logo-min.gif";
}
$requete="INSERT annonce SET titre='$titre',description='$description',photo='$photo',ville='$ville',pays='$pays',prix='$prix',dateinsertion='$dateinsertion',
telephone='$telephone', mail='$mail',uid_cat='$uid_cat',uid_util='$uid_util',tel='$tel'";
$valeur=mysql_query($requete); |
Par contre, une fois l'annonce rentrée et si l'image
n'est pas l'image par défaut, on récupère le numéro de l'annonce via la
commande MySQL mysql_insert_id() qui récupère la dernière valeur
entrée dans un champ auto_increment.
Une fois le code récupéré, on update le nom de la
photo en code-nom_photo. Par exemple, si l'image téléchargée est maison.gif
pour l'annonce 271, elle est enregistrée dans le dossier images sous le nom:
271-moison.gif. Il n'y a donc pas de risque de retrouver 2 fois la même photo
et ça permet éventuellement de supprimer les vieilles photos plus facilement.
De même, la miniature est codée sous la forme code-mini-nom_image: ("images/".$code."-mini-".$_FILES['photo']['name'])
$code=mysql_insert_id();
// on vient de récupérer le code de l'annonce et on uddate
la photo par code-nom photo
if ($_FILES['photo']['name']<>"logo-min.gif"){
// on modifie le nom du fichier image uniquement si l'image
n'est pas celle par défaut
$requete="update annonce set photo='$photo' where code='$code'";
$valeur=mysql_query($requete);
// transfert du fichier avec le code de l'annonce en début du nom.
move_uploaded_file($_FILES['photo']['tmp_name'],"images/".$code."-".$_FILES['photo']['name']);
chmod ("images/".$code."-".$_FILES['photo']['name'],0644);
// fin de transfert du fichier
// création de la miniature.
$taille=getimagesize("images/".$code."-".$_FILES['photo']['name']);
If ($taille[2]==1){
// ceci est une image GIF
$image1=imagecreatefromgif('images/'.$photo);
$image2=imagecreate(60,60);
imagecopyresized($image2,$image1,0,0,0,0,60,60,$taille[0],$taille[1]);
imagegif($image2,"images/".$code."-mini-".$_FILES['photo']['name']);
}elseif ($taille[2]==2){
// ceci est une image JPG
$image1=imagecreatefromjpeg('images/'.$photo);
$image2=imagecreate(60,60);
imagecopyresized($image2,$image1,0,0,0,0,60,60,$taille[0],$taille[1]);
imagejpeg($image2,"images/".$code."-mini-".$_FILES['photo']['name']);
}elseif ($taille[2]==3){
// ceci est une image png
$image1=imagecreatefrompng('images/'.$photo);
$image2=imagecreate(60,60);
imagecopyresized($image2,$image1,0,0,0,0,60,60,$taille[0],$taille[1]);
imagepng($image2,"images/".$code."-mini-".$_FILES['photo']['name']);
}else{
echo'Format non accepté pour miniaturiser';
}
} |
Voici notre fichier définitif, il suffit juste de
recoller la partie création de la catégorie. Remarque, ceci le véritable
fichier utilisé en production qui récupère également l'adresse IP du
visiteur.
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<meta http-equiv="Content-Language" content="fr">
<meta name="description" content="Entrez votre petite annonce, tests de développement">
<title>Entrer sa petite annonce</title>
</head>
<?php
require('includes/header.php');
require('includes/fonctions.php');
?>
<div align="center">
<table border="1" width="1000">
<tr>
<td width="20%" valign="top" bgcolor="#cccccc">
<?php
include('includes/colon-left.php');
?>
</td>
<td width="60%" valign="top">
<?php
// début affichage du formulaire
require('includes/start.php');
$categorie_tab=array();
$requete="SELECT * FROM categorie order by nom_complet";
$valeur=mysql_query($requete);
$i=0;
$ligne=0;
while($tableau=mysql_fetch_array($valeur)){
if($tableau['actif']<>"N"){
if($tableau['uid']<>$tableau['attachement'])
{
$categorie_tab[$i]['uid']=$tableau['uid'];
$categorie_tab[$i]['nom']=$tableau['nom'];
$categorie_tab[$i]['description']=$tableau['description'];
$categorie_tab[$i]['attachement']=$tableau['attachement'];
$categorie_tab[$i]['nom_complet']=$tableau['nom_complet'];
$i=$i+1;
}
}else{
// categorie non active
}
}
require('includes/stop.php');
// début du traitement des catégories - sous catégories dans le tableau
$ligne=$i;
$i=0;
// test d'execuction du sommaire
if (isset($HTTP_POST_VARS['go'])and $login<>""){
$ip=$_SERVER["REMOTE_ADDR"];
echo "Votre adresse IP est enregistrée: ".$ip."<br>";
$titre = ADDSLASHES($HTTP_POST_VARS['titre']);
$erreur_titre = "";
$description =ADDSLASHES($HTTP_POST_VARS['description']);
$erreur_description = "";
$ville = ADDSLASHES($HTTP_POST_VARS['ville']);
$erreur_ville = "";
$pays = ADDSLASHES($HTTP_POST_VARS['pays']);
$erreur_pays = "";
$prix = ADDSLASHES($HTTP_POST_VARS['prix']);
$erreur_prix = "";
$telephone = ADDSLASHES($HTTP_POST_VARS['telephone']);
$erreur_telephone = "";
$erreur_file = "";
$tel=$HTTP_POST_VARS['tel'];
$mois=$HTTP_POST_VARS['mois']*2678400;
$uid_cat=$HTTP_POST_VARS['uid'];
$dateinsertion=date('Ymd');
$dateexpiration= date('Ymd',mktime(date('m,d,Y'))+$mois);
// tests des mots interdits
$correct="O";
$mots_interdits=array();
$mots_interdits=motsinterdits();
$mots_remplacement=array();
$mots_remplacement=liste_remplacement();
// vérification mots interdits, suppression liens, images, remplacement caractères
$correct=inclusinterdits($titre,$mots_interdits,$correct);
$correct=inclusinterdits($description,$mots_interdits,$correct);
$correct=inclusinterdits($ville,$mots_interdits,$correct);
$correct=inclusinterdits($pays,$mots_interdits,$correct);
$correct=inclusinterdits($prix,$mots_interdits,$correct);
$correct=inclusinterdits($telephone,$mots_interdits,$correct);
$titre=modif_texte($titre,$mots_remplacement);
$description=modif_texte($description,$mots_remplacement);
$ville=modif_texte($ville,$mots_remplacement);
$pays=modif_texte($pays,$mots_remplacement);
$prix=modif_texte($prix,$mots_remplacement);
$telephone=modif_texte($telephone,$mots_remplacement);
if ($_FILES['photo']['name']==""){
// nécessaire si l'utilisateur ne met pas de photo, alors photo par défaut
$_FILES['photo']['name']="pas-photo.jpg";
}
$taille=getimagesize($_FILES['photo']['tmp_name']);
if ($HTTP_POST_VARS['titre'] == ''){
$erreur_titre = "Entrez un nom<br>";
} elseif ($HTTP_POST_VARS['description'] == ''){
$erreur_description = "Entrez une description<br>";
} elseif ($HTTP_POST_VARS['ville'] == ''){
$erreur_ville = "Entrez une ville<br>";
} elseif (!imageok($_FILES['photo']['name'])){
// image incorrecte
echo'Image incorrecte';
$erreur_file = "<br>Seuls sont acceptés les formats GIF, JPG et PNG";
}elseif($taille[0]>350){
$erreur_file ="<font color=\"#FF0000\">Image trop large, maximum 350 pixels</font>";
}elseif (($_FILES['photo']['tmp_name']=="")&&($_FILES['photo']['name']<>"pas-photo.jpg")){
$erreur_file ="<font color=\"#FF0000\">Photo non reconnue, essayez une autre photo, en GIF par exemple</font><br>";
}elseif($taille[1]>400){
$erreur_file ="<font color=\"#FF0000\">Image trop haute, supérieure à 400 pixels</font>";
} else {
// on entre les données
$rapport=round($taille[1]/$taille[0]*120,0);
require('includes/start.php');
if($_FILES['photo']['name']<>"pas-photo.jpg"){
}else{
$photo= "pas-photo.jpg";
}
// insertion dans la base de donnée en fonction de $correct
if ($correct=="O")
{
$requete="INSERT contenu SET titre='$titre',description='$description',photo='$photo',ville='$ville',pays='$pays',prix='$prix',
dateinsertion='$dateinsertion',dateexpiration='$dateexpiration',telephone='$telephone',mail='$mail',
uid_cat='$uid_cat',uid_util='$uid_util',tel='$tel',ip='$ip'";
}else{
$requete="INSERT invalide SET titre='$titre',description='$description',photo='$photo',ville='$ville',pays='$pays',prix='$prix',dateinsertion='$dateinsertion',
dateexpiration='$dateexpiration',
telephone='$telephone',mail='$mail',uid_cat='$uid_cat',uid_util='$uid_util',tel='$tel',ip='$ip'";
}
$valeur=mysql_query($requete);
// Mise à jour du nombre d'annonce
if ($correct=="O")
{
$requete= "UPDATE categorie SET nb_annonce=nb_annonce+1 where uid='$uid_cat'";
$valeur=mysql_query($requete);
}
// -- on code la photo et on crée la miniature si ce n'est pas celle par défaut
if ($photo<>"pas-photo.jpg"){
// nécessaire si le nom du fichier contient un tiret
$photo=STR_replace("-","",$_FILES['photo']['name']);
$photo=STR_replace(" ","",$_FILES['photo']['name']);
$photo=STR_replace("é","e",$_FILES['photo']['name']);
$photo=STR_replace("è","e",$_FILES['photo']['name']);
$photo=STR_replace("à","a",$_FILES['photo']['name']);
$photo=STR_replace("ç","c",$_FILES['photo']['name']);
$requete="select * from contenu where titre ='$titre' and dateinsertion='$dateinsertion'";
$valeur=mysql_query($requete);
while ($tableau=mysql_fetch_array($valeur)){
// $photo=$tableau["code"]."-".$photo;
$code= $tableau["code"];
}
// insertion dans la base de donnée en fonction de $correct
if ($correct=="O")
{
$requete="update contenu set photo='$photo' where code='$code'";
}else{
$requete="update invalide set photo='$photo' where code='$code'";
}
$valeur=mysql_query($requete);
// transfert du fichier avec le code de l'annonce en début du nom.
move_uploaded_file($_FILES['photo']['tmp_name'],"image-annonce/".$code."-".$photo);
chmod ("image-annonce/".$code."-".$photo,0644);
// fin de transfert du fichier
// création de la miniature.
$taille=getimagesize("image-annonce/".$code."-".$photo);
If ($taille[2]==1){
// ceci est une image GIF
$image1=imagecreatefromgif('image-annonce/'.$code."-".$photo);
$image2=imagecreatetruecolor(120,$rapport);
imagecopyresized($image2,$image1,0,0,0,0,120,$rapport,$taille[0],$taille[1]);
/*
$image2=imagecreate(100,100);
imagecopyresized($image2,$image1,0,0,0,0,100,100,$taille[0],$taille[1]);
*/
imagegif($image2,"image-annonce/".$code."-mini-".$photo);
}elseif ($taille[2]==2){
// ceci est une image JPG
$image1=imagecreatefromjpeg('image-annonce/'.$code."-".$photo);
/*$image2=imagecreate(100,100);
imagecopyresized($image2,$image1,0,0,0,0,100,100,$taille[0],$taille[1]);
*/
$image2=imagecreatetruecolor(120,$rapport);
imagecopyresized($image2,$image1,0,0,0,0,120,$rapport,$taille[0],$taille[1]);
imagejpeg($image2,"image-annonce/".$code."-mini-".$photo);
}elseif ($taille[2]==3){
// ceci est une image png
$image1=imagecreatefrompng('image-annonce/'.$code."-".$photo);
/*
$image2=imagecreate(100,100);
imagecopyresized($image2,$image1,0,0,0,0,100,100,$taille[0],$taille[1]);
*/
$image2=imagecreatetruecolor(120,$rapport);
imagecopyresized($image2,$image1,0,0,0,0,120,$rapport,$taille[0],$taille[1]);
imagepng($image2,"image-annonce/".$code."-mini-".$photo);
}else{
echo 'Format non accepté pour miniaturiser';
}
}
// fin de la création de la miniature
print('<br><b>Votre annonce a bien été enregistrée<BR> Merci</b>');
die('<meta http-equiv="refresh" content="3; URL=index.php">');
// fin du programme de création d'une nouvelle annonce.
}
} else {
$erreur_file = "";
$erreur_titre = "";
$description = "Description de la catégorie";
$erreur_description = "";
$erreur_file = "";
$erreur_ville="";
}
if ($login=="")
{
echo"<h1>Vous ne pouvez pas insérer une activité, merci de vous <a href=\"connexion.php\"> connecter</a>
ou de vous <a href=\"inscription.php\">inscrire</a></h1>";
}else{
echo"<b>Bonjour ".$login."</b>: Vous pouvez entrer votre annonce.";
}
require('includes/start.php');
$categorie_tab=array();
$requete="SELECT * FROM cat3 where actif3='O' && level<>'1' order by nom_complet3";
$valeur=mysql_query($requete);
$i=0;
$ligne=0;
while($tableau=mysql_fetch_array($valeur)){
$categorie_tab[$i]['uid']=$tableau['uid_cat3'];
$categorie_tab[$i]['nom']=$tableau['nom_cat3'];
$categorie_tab[$i]['description']=$tableau['description'];
$categorie_tab[$i]['attachement']=$tableau['attachement3'];
$categorie_tab[$i]['nom_complet']=$tableau['nom_complet3'];
$i=$i+1;
}
require('includes/stop.php');
// début du traitement des catégories - sous catégories dans le tableau
$ligne=$i;
$i=0;
$form = "<form method=\"POST\" ENCTYPE=\"multipart/form-data\">
<p>Remarque: Les liens et adresses mail sont automatiquement désactivés, cases en gras obligatoires.<p>
<p><b>Titre annonce</b> <input type=\"text\" name=\"titre\" size=\"50\"><br><font color=\"#FF0000\">$erreur_titre</font></p>
<p><b>Catégorie</b> <select size=\"1\" name='uid'>";
$i=0;
while ($i<$ligne){
$uid= $categorie_tab[$i]['uid'];
$complet= $categorie_tab[$i]['nom_complet'];
$form=$form."<option>".$complet."</option>";
$i=$i+1;
}
$form=$form."</select>
<p><b>Description de votre annonce</b><br>
<TEXTAREA NAME=\"description\" ROWS=\"8\" COLS=\"50\" WRAP=virtual></TEXTAREA></p><p><font color=\"#FF0000\">$erreur_description</font></P>
<p><b>Ville</b>: <input type=\"text\" name=\"ville\" size=\"30\"><font color=\"#FF0000\">$erreur_ville</font> Pays: <select name=\"pays\">
<option selected>Belgique</option>
<option>France</option>
<option>Luxembourg</option>
</select>
<input type=\"hidden\" name=\"max_file_size\" value=\"400000\">Téléchargez une Photo (formats JPG, GIF, PNG: taille 100 KB. max , 350 l. et 400 H. max.): <input TYPE=\"file\" NAME=\"photo\"><font color=\"#FF0000\">".$erreur_file."</font>
Prix : <input type=\"text\" name=\"prix\" size=\"13\"><P>
Téléphone : <input type=\"text\" name=\"telephone\" size=\"15\"> Tel. affiché: <input type=\"checkbox\" name=\"tel\" value=\"ON\" checked>
Mois affichés: <select size=\"1\" name=\"mois\">
<option selected>3</option>
<option>2</option>
<option>1</option>
</select></p>
<input type=\"submit\" value=\"Envoyer\" name=\"go\">
</form>";
print($form);
function imageok($image_ok){
// on teste d'abord l'extension du fichier
$subject =$image_ok ;
$pattern = '/(gif|jpg|png)$/i';
$matches=preg_match($pattern,$subject);
return $matches;
}
//Fin affichage entrée des données>
?>
</td>
<td width="20%" valign="top" bgcolor="#CEEFD1">
<?php
include('includes/colon-right-annonce.php');
?>
</td>
</tr>
</table>
</div>
<?php
// require('includes/stop.php');
//echo'Base de donnée fermée';
include('includes/footer1.php');
?>
</BODY>
</HTML> |
Je vous avait prévenu en début de chapitre, cette
partie est assez difficile et reprend de nombreuses lignes de programmation mais
elle est nécessaire. Elle sera remodifiée lorsque nous utiliserons les codes
utilisateurs pour rentrer les annonces. La partie suivante va nous permettre
d'afficher l'annonce créée.
|