begin process at 2012 05 31 18:32:20
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Débutant(e)

 > 

texte avec image (+formulaire)


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

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> &nbsp; \n");
      print("<b> \n");
      for($a=1;$a<=min($NombreMaxPages,floor((($nCommentaires-1)/$NombreComParPage)+1));$a++) {
        if($a==$p) print("$a &nbsp; \n");
        else print("<a href=\"livredor.php3?p=$a\">$a</a> &nbsp; \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\">&nbsp;</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\">&nbsp;</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> &nbsp; \n");
      print("<b> \n");
      for($a=1;$a<=min($NombreMaxPages,floor((($nCommentaires-1)/$NombreComParPage)+1));$a++) {
        if($a==$p) print("$a &nbsp; \n");
        else print("<a href=\"livredor.php3?p=$a\">$a</a> &nbsp; \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:&nbsp; \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


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,764 sec (3)

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