Accueil > Forum > > > > texte avec image (+formulaire)
texte avec image (+formulaire)
vendredi 29 septembre 2006 à 21:10:17 |
texte avec image (+formulaire)

JackNUMBER
|
bonjour à tous !! je suis novice dans le PHP et je voudrai savoir comment "combiner" 2 scripts que j'ai trouvé: un pour uploader des fichiers et un pour poster des commentaire
voici le code du fichier en .PHP (avec la structure HTML) pour uploader des fichiers: <HTML> <head> <title>UPLOAD DE FICHIERS</title> </head> <body> <CENTER>
<? // Taille max des fichiers (octets) $MFS=2000000; // Répertoire de stockage $rep="upload/";
if(isset($_FILES['userfile'])) { if($_FILES['userfile']['size']>0) { $savefile= $rep.$_FILES['userfile']['name']; $temp = $_FILES['userfile']['tmp_name']; if (move_uploaded_file($temp, $savefile)) { ?> <b>Votre fichier a bien été enregistré !</b> <BR>Nom : <?echo $_FILES['userfile']['name'];?> <BR>Taille : <?echo $_FILES['userfile']['size'];?> o <BR>Type : <?echo $_FILES['userfile']['type'];?> <? } else { ?> <b>Erreur d'enregistrement !</b> <? }
} else { ?> <b>Trop gros fichier !</b> <i>( <? echo $MFS;?> octets max.)</i> <? } } ?> <FORM METHOD="POST" ENCTYPE="multipart/form-data"> <INPUT TYPE=HIDDEN NAME=MAX_FILE_SIZE VALUE=<? echo $MFS;?>> <INPUT TYPE=FILE NAME="userfile"><BR> <INPUT TYPE=SUBMIT value="Enregistrer le fichier"> </FORM>
LISTE DES PHOTOS UPLOADEES <BR><TABLE border> <? $dir = opendir($rep);
while ($f = readdir($dir)) if(is_file($rep.$f)) { ?> <TR> <TH> <A href="<? echo $rep.$f; ?>" target="_blank"><? echo $f; ?></A> </TH> <TD align=right><? echo filesize($rep.$f); ?></TD> <TD> <? echo date("d/m/Y H:i:s",filectime($rep.$f)); ?> </TD></TR> <? }
closedir($dir); ?> </TABLE>
</CENTER></BODY></HTML>
et le fichier du formulaire-page d'affichage des commentaires (en .PHP3): <?php
$largeurTableauxA="80%"; // Largeur du TableauA $couleurBordTableauA="#000000"; // Couleur de la bordure du TableauA $couleurFondEnteteTableauA="#FFCC00"; // Couleur de fond de la ligne d'entête du tableauA $couleurFondLigneNomAuteurTableauA="#EBB800"; // Couleur de fond des lignes "Nom de l'auteur" $couleurFondLigneCommentaireTableauA="#FFCC00"; // Couleur de fond des lignes "Commentaire"
$NombreComParPage=10; // Nombre maximum de commentaires à afficher dans le tableau (par page) $NombreMaxPages=50; // Nombre maximum de pages de commentaires susceptibles d'être affichées
$largeurTableauxB="80%"; // Largeur du TableauB $couleurBordTableauB="#000000"; // Couleur de la bordure du TableauB $couleurFondEnteteTableauB="#FFCC00"; // Couleur de fond de la ligne d'entête du tableauB $couleurFondFormulaireTableauB="#FFCC00"; // Couleur de fond de la cellule affichant le formulaire
$longueurMaxCommentaires="50000"; // Nombre maximum de caractères pouvant être postés dans un commentaire $longueurMaxMots="50"; // Nombre maximum de caractères par "mot" (ce dispositif permet d'empêcher une éventuelle augmentation incontrôlée de la largeur des tableaux)
// ##################################################################################### ?>
<?php // ****************************************************************************************
if((@ strlen($n)>$longueurMaxCommentaires) or (@ strlen($c)>$longueurMaxCommentaires)) { print("Désolé, la taille maximale des annonces pouvant être postés est limitée à $longueurMaxCommentaires caractères.<br>\n"); print("<a href=\"livredor.php3\">Retour aux annonces</a>\n"); exit; } // ##################################################################################### ?>
<html> <head> <title>Annonces</title> </head> <body> <center> <b>Annonces</b> </center> <br>
<?php // ***********************************************************************************
if(!file_exists("livre.dat")) { $idFicLivre=fopen("livre.dat","w+"); fputs($idFicLivre,"Fichier Index. Ne pas éditer !\n"); fclose($idFicLivre); }
if(!isset($c)) $c=""; if(!isset($n)) $n=""; if(!isset($p)) $p="";
// ***********************************************************************************
function coupeMotsLongs($chaine,$ncaracteres) { $chaineRes=$chaine; while(ereg("([^ ]{".$ncaracteres."})[^ ]",$chaineRes,$corres)) { $partRep=$corres[1]; $chaineRes=ereg_replace($partRep,$partRep." <br> ",$chaineRes); } return($chaineRes); }
// ***********************************************************************************
if ($c and $n) {
// détermination de la date $tdate=getdate(); $jour=sprintf("%02.2d",$tdate["mday"])."/".sprintf("%02.2d",$tdate["mon"])."/".$tdate["year"]; $heure=sprintf("%02.2d",$tdate["hours"])."H".sprintf("%02.2d",$tdate["minutes"]); $d=$jour." à ".$heure;
// nettoyage du nom $n=htmlentities($n); $n=stripslashes($n); $n=trim($n);
// nettoyage du commentaire $c=htmlentities($c); $c=str_replace(chr(10)," <br> ",$c); $c=str_replace(chr(13),"",$c); $c=stripslashes($c); $c=trim($c);
$idFicLivreCom=fopen("livre.dat","a+"); fputs($idFicLivreCom,$n); // 1ère ligne fputs($idFicLivreCom,"|"); // fputs($idFicLivreCom,$d."|\n"); // fputs($idFicLivreCom,$c."\n"); // 2ème ligne fclose($idFicLivreCom);
}
// ***********************************************************************************
$TabLivre=file("livre.dat"); $nLignesTabLivre=count($TabLivre)-1; $nCommentaires=$nLignesTabLivre/2;
for($compt=1;$compt<=$nCommentaires;$compt++) { $nom[$compt]=trim(stripslashes(strtok($TabLivre[($compt*2)-1],"|"))); $date[$compt]=trim(stripslashes(strtok("|"))); $commentaire[$compt]=trim(stripslashes($TabLivre[($compt*2)])); }
// ***********************************************************************************
if($n and $c) { print("<table align=\"center\" width=\"$largeurTableauxA\" border=\"1\"> \n"); print("<tr><td bgcolor=\"$couleurFondLigneNomAuteurTableauA\" height=\"30\"> \n"); print("<center> \n"); print("<font face=\"$policeLignesNomAuteurTableauA\" color=\"$couleurPoliceLignesNomAuteurTableauA\" size=\"-1\"> \n"); print("<b>Merci pour votre participation !</b> \n"); print("</font> \n"); print("</center> \n"); print("</td></tr> \n"); print("</table> \n"); print("<br> \n"); }
// ***********************************************************************************
if(!$p) { $p=1; // $p représente le numéro de la page de commentaire à afficher : par défaut, $p=1 }
if($nCommentaires>0) {
print("<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" width=\"$largeurTableauxA\" align=\"center\" bgcolor=\"$couleurBordTableauA\"> \n"); print("<tr><td> \n");
print("<table border=\"0\" width=\"100%\" cellspacing=\"1\" align=\"center\" cellpadding=\"5\"> \n");
print("<tr> \n"); print("<td bgcolor=\"$couleurFondEnteteTableauA\" height=\"30\"> \n");
if($nCommentaires>$NombreComParPage) { print("<center> \n"); print("<font face=\"$policeEnteteTableauA\" color=\"$couleurPoliceEnteteTableauA\" size=\"-2\"> \n"); print("<b>pages</b> \n"); print("<b> \n"); for($a=1;$a<=min($NombreMaxPages,floor((($nCommentaires-1)/$NombreComParPage)+1));$a++) { if($a==$p) print("$a \n"); else print("<a href=\"livredor.php3?p=$a\">$a</a> \n"); } print("</b> \n"); print("</font> \n"); print("</center> \n"); }
print("<font face=\"$policeEnteteTableauA\" color=\"$couleurPoliceEnteteTableauA\" size=\"-2\"> \n"); print("<center> \n"); print("<b><a href=\"#ajout\">ajouter une nouvelle annonce</a></b> <br> \n"); print("</center> \n"); print("</font> \n"); print("</td> \n"); print("</tr> \n");
for($compt=($nCommentaires-(($p-1)*$NombreComParPage));$compt>=max(1,($nCommentaires-($p*$NombreComParPage)+1));$compt--) { print("<tr><td bgcolor=\"$couleurFondLigneNomAuteurTableauA\"> \n"); print("<table> \n"); print("<tr> \n"); print("<td width=\"10\"> </td> \n"); print("<td> \n"); print("<font face=\"$policeLignesNomAuteurTableauA\" color=\"$couleurPoliceLignesNomAuteurTableauA\" size=\"-1\"><b>".coupeMotsLongs($nom[$compt],$longueurMaxMots)."</b> a écrit, le ".$date[$compt]." :</font> \n"); print("</td> \n"); print("</tr> \n"); print("</table> \n"); print("</td></tr> \n"); print("<tr><td bgcolor=\"$couleurFondLigneCommentaireTableauA\"> \n"); print("<table> \n"); print("<tr> \n"); print("<td width=\"20\"> </td> \n"); print("<td> \n"); print("<font face=\"$policeLignesCommentairesTableauA\" color=\"$couleurPoliceLignesCommentairesTableauA\">".coupeMotsLongs($commentaire[$compt],$longueurMaxMots)."</font>\n"); print("</td> \n"); print("</tr> \n"); print("</table> \n"); print("</td></tr> \n"); }
if(($nCommentaires>$NombreComParPage) and $p<=min($NombreMaxPages,floor((($nCommentaires-1)/$NombreComParPage)+1))) { print("<tr> \n"); print("<td bgcolor=\"$couleurFondEnteteTableauA\" height=\"20\"> \n"); print("<center> \n"); print("<font face=\"$policeEnteteTableauA\" color=\"$couleurPoliceEnteteTableauA\" size=\"-2\"> \n"); print("<b>pages</b> \n"); print("<b> \n"); for($a=1;$a<=min($NombreMaxPages,floor((($nCommentaires-1)/$NombreComParPage)+1));$a++) { if($a==$p) print("$a \n"); else print("<a href=\"livredor.php3?p=$a\">$a</a> \n"); } print("</b> \n"); print("</font> \n"); print("</center> \n"); print("</td> \n"); print("</tr> \n"); }
print("</table> \n");
print("</td></tr> \n");
print("</table> \n");
print("<br> \n");
}
// *********************************************************************************************
if($nCommentaires<1) { print("<table align=\"center\" width=\"$largeurTableauxA\" border=\"1\"> \n"); print("<tr><td bgcolor=\"$couleurFondLigneNomAuteurTableauA\" height=\"30\"> \n"); print("<center> \n"); print("<font face=\"$policeLignesNomAuteurTableauA\" color=\"$couleurPoliceLignesNomAuteurTableauA\" size=\"-1\"> \n"); print("<b>Il n'y a aucune annonce.</b> \n"); print("</font> \n"); print("</center> \n"); print("</td></tr> \n"); print("</table> \n"); print("<br> \n"); }
// ***********************************************************************************
print("<a name=\"ajout\"></a>");
print("<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" width=\"$largeurTableauxB\" align=\"center\" bgcolor=\"$couleurBordTableauB\"> \n"); print("<tr><td> \n");
print("<table border=\"0\" width=\"100%\" cellspacing=\"1\" align=\"center\" cellpadding=\"5\"> \n");
print("<tr> \n"); print("<td bgcolor=\"$couleurFondEnteteTableauB\" height=\"30\"> \n"); print("<font face=\"$policeEnteteTableauB\" color=\"$couleurPoliceEnteteTableauB\" size=\"-1\"> \n");
if($nCommentaires>0) print("<b><center>Ajouter une nouvelle annonces :</center></b> \n"); else print("<b><center>Envoyer une premiere annonce :</center></b> \n");
print("</font> \n"); print("</td> \n"); print("</tr> \n");
print("<tr><td bgcolor=\"$couleurFondFormulaireTableauB\"> \n"); print("<form method=\"POST\" action=\"livredor.php3\"> \n"); print("<center> \n"); print("<br> \n"); print("<font face=\"$policeFondFormulaireTableauB\" color=\"$couleurPoliceFondFormulaireTableauB\" size=\"-1\"> \n"); print("Votre nom: \n"); print("</font> \n"); print("<input type=\"text\" name=\"n\" size=\"25\" style=\"background-color: #000000; color: #FFCC00; border: 1 solid #FF0000\"> \n"); print("<br><br> \n"); print("<textarea rows=\"7\" name=\"c\" cols=\"50\" wrap=\"virtual\" style=\"background-color: #000000; color: #FFCC00; border: 1 solid #FF0000\"></textarea> \n"); print("<br> \n"); print("<input type=\"submit\" value=\"Envoyer\" name=\"B1\"> \n"); print("</form> \n"); print("</td></tr> \n");
print("</table> \n");
print("</td></tr> \n"); print("</table> \n");
// ##################################################################################### ?>
</body> </html>
mon but serait de créer une page où des internautes post leurs annonces avec une photo, donc le upload serait utilisé pour des photo et je cherche le moyen d'afficher ces photos avec: une photo correspond à une anonce, je peux m'occuper de la structure HTML de la page finale si besoin est.
merci d'avance !!!
-----------------------------------------
Jack NUMBER
|
|
dimanche 1 octobre 2006 à 13:08:09 |
Re : texte avec image (+formulaire)

Zebra1928
|
bonjour, Je pense que t'as besoin d'une base de données pour stocker ces infos (les articles et les liens des images) c mieux qu'un fichier. Pour le ulpoad je pense que ton script marche, il serai mieux d'utiliser deux pages , la première pour visualisation des articles et images et sur cette page tu mets un lien <a href="upload.php">cliquez ici pour envoyer un article/ image</a> et dans ta page upload.php, le script de postage du fichier et de l'article @ -:) Zebra 
|
|
dimanche 1 octobre 2006 à 18:10:58 |
Re : texte avec image (+formulaire)

JackNUMBER
|
OK c'est vrai ça sera plus simple de faire ça Zebra mais je ne m'y connai pa du tout en PHP et je ne sais vraimen pas comment géré une base de données, j'ai créé un forum avec phpBB mais bon tout est automatique, je sais juste comment accéder à cette base de données par Free.
[ considérons un tableau de bordure 0, avec l'image dans la cellule de gauche et le texte de l'article dans la cellule de droite ] en gros je voudrait: - savoir comment "dire" telle image correspond à tel article lors de l'upload - savoir afficher telle image à tel endroit (je peux récupéré la même chose pour le texte dans le 1er script) tous ça automatiquement avec le PHP
merci !!! 
-----------------------------------------
Jack NUMBER
|
|
Cette discussion est classée dans : couleur, print, nbsp, compt, ncommentaires
Répondre à ce message
Sujets en rapport avec ce message
Liste de répertoire [ par chatainsim ]
Bonjour, j'utilise ce bout de code pour afficher la liste des repertoire présent avec le fichier, seulement voilà, j'aurais aimer que certain d
Recherche dans bdd [ par flopad ]
Bonjour tout le monde,j'avais sur mon intranet un moteur de recherche interne qui fonctionnait parfaitement.J'ai changé le mode de fonctionnement, le
Problème avec la fonction odbc_num_rows [ par dan24 ]
Voilà, je suis débutant en php.J'utilise une connexion odbc avec un base access.Tout fonctionne à part que le $NumMembers (nombre d'enregistrements) r
Moteur de recherche [ par flopad ]
Bonjour tout le monde,j'ai récupéré puis adapté un script de moteur de recherche pour mon intranet.Mon soucis est que lorsqu'il y a plusieurs pages de
mail(); [ par alonsyl ]
bonjour, j'envoie a l'aide de la fonction mail() le message html suivant : &
Select From where [ par DVTAZ ]
Bonjour à toutes et à tousVoila, ne serait il pas possible de simplifier ce genre de code,(voir ci-dessous)je fait une requete avec un critere identiq
Impossible de faire un update de ma base???? [ par pimpa4real ]
Bonjour à tous, j'ai un gros proble et ce serait sympa que quelqu'un puisse m'aider. Voici le code avec lequel j'aimerai faire un update de ma base:[c
Warning ereg() : REG_EPAREN [ par raven44 ]
Bonjour à tous amis du PHP, j'ai depuis peu cette erreur qui s'affiche à l'apelle de la fonction ci-dessous et je ne comprend pa pourquoi.function val
formulaire aide please [ par sk8ter57 ]
alors voial je debute en php j'aimerai creer un formulaire ou une fois ke la personne a tout rempli sa envoi vers une adresse email voici la page html
Problème avec mysql_fetch_array [ par mfaraday ]
Bonsoir,Je me prends (un peu) la tête sur une de mes classes... en fait c'est ma classe de bdd.Tout ce qui est connexion, selection et requête, pas de
Livres en rapport
|
Derniers Blogs
ROSLYN FLUENT APIS: ROSLYNHELPER NUGET PACKAGEROSLYN FLUENT APIS: ROSLYNHELPER NUGET PACKAGE par Matthieu MEZIL
Si vous utilisez Roslyn et que vous vous voulez vous simplifier le code du code rewriter, je vous conseille d'installer mon NuGet package RoslynHelper ....(read more) ...
Cliquez pour lire la suite de l'article par Matthieu MEZIL POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|