Bienvenu(e)! Identification Créer un nouveau profil

Recherche avancée

retour à la ligne à l'affichage

Envoyé par sylvain 
retour à la ligne à l'affichage
lundi 9 septembre 2002 11:29:48
Salut chef.

Je me suis remis sur mon truc, et j'ai toujours ce satané problème, a l'affichage de ma page (même sous IE5) les données s'affichent sur une seule ligne au lieu de rentrer dans mon champ de texte avec un retour chariot.

J'ai appliqué tes conseils, mais je me demandais si ce n'est pas dans la page de saisie que j'ai interet à ajouter quelque chose? Enfin, je ne sais pas trop, car à la saisie, le texte va bien à la ligne.

Voici les codes de ma page de saisie: inserer2.php
et de ma page d'affichage: phpannonce2.php


----------
Page d'affichage
phpannonce2.php
------------------------

<HTML>
<HEAD>
<TITLE>phpannonce</TITLE>
</HEAD>
<BODY> <div align="center"><center>

<p align="center"><img src="biglogotriumph.gif" width="275" height="96"></p>

<p align="center"><font face="Verdana" size="4" color="#000080"><strong>Les occasions
&quot;DIAGONALE&quot;</strong></font></p>
<div align="center"><center>

<?$db = mysql_connect('localhost','occas') or die ("erreur de connexion"winking smiley;
mysql_select_db('occas',$db) or die ("erreur de connexion base"winking smiley;

$requete = mysql_query("SELECT id,modele,annee,kilometrage,couleur,description,prix,image from occasions"winking smiley;
print"<table>";

while ($resultat = mysql_fetch_array($requete))
{print "<table border=2 width=600 bordercolor=#008000>
<tr>
<td><B>N°:&nbsp;&nbsp</B>$resultat[id]<br></td>
<td rowspan=7 width=300><B>Photo:</B><img src='IMAGE_CLIENT/$resultat[image]'><br><br></td>
</tr>
<td><B>Modèle :&nbsp;&nbsp</B>$resultat[modele]<br></td>
<tr>
<td><B>Année : &nbsp;&nbsp</B>$resultat[annee] <br></td>
</tr>
<tr>
<td><B>Kilometrage : &nbsp;&nbsp</B>$resultat[kilometrage]&nbsp;&nbspKm<br></td>
</tr>
<tr>
<td><B>Couleur : &nbsp;&nbsp</B>$resultat[couleur]<br></td>
</tr>
<tr>
<td><B>Description : &nbsp;&nbsp</B>$resultat['description']=htmlentities($resultat['description']);
$resultat['description']=str_replace("\r","<br>",$resultat['description']);<br></td>
</tr>
<tr>
<td><B>Prix : &nbsp;&nbsp</B>$resultat[prix]&nbsp;&nbsp Euro<br></td>
</tr>
<br><br>

";
} print"</table>";
mysql_close();
?>
<br>
<br>
<br>
<a href="[localhost]
face="Verdana" size="1">Accès saisie</font></a>
</center></div>
</body>
</html>

----------------

J'ai cette erreur à l'affichage:

Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in c:\program files\easyphp\www\occas2\phpannonce2.php on line 36

la ligne 36 c'est:
<td><B>Description : &nbsp;&nbsp</B>$resultat['description']=htmlentities($resultat['description']);

au cas ou, ma page de saisie:
-----------------

inserer2.php
------------------
<html>
<header>
<title>formulaire</title>


</header>
<body>

<form method="post" action="inserer2.php">
<B>Numéro: - - - - - ></B><input type= "int" name="id" size="3"><font color="#FF0000"><B>&lt;---Ne RIEN saisir dans cette case</B></font><br>
<B>Modèle:- - - - - -></B><input type="text" name="modele" size="30"><br>
<B>Année:- - - - - - -></B><input type="text" name="annee" size="4"><br>
<B>Kilometrage:- -> </B><input type="text" name="kilometrage" size="5">&nbsp;&nbsp;KM<br>
<B>Couleur:- - - - -> </B><input type="text" name="couleur" size="20"><br>
<B>Description: - -> </B><textarea wrap="physical" rows="5" cols="30" name="description"></textarea><br>
<B>Prix:- - - - - - - -> </B><input type="text" name="prix" size="5">&nbsp;&nbsp;?<br>
<form enctype="multipart/form-data" action="inserer2.php" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="200" accept="image/jpg, image/gif"><br>

<b>Photo: </B><input type="file" NAME="image"><br>
Taille maxi de la photo 320(largeur)X 250(hauteur) 200 octets. <br><br><br>
<B>Validation:- - - - - - - -> </B><input type="submit" name="submit" value="Insèrer dans la base"><br>
Ne cliquez qu'une seule fois sur ce bouton !!<br>
Puis attendre que les champs de saisie se vident.
</form>
<?
if ( isset ($modele) ) {
$db = mysql_connect('localhost','occas') or die ("erreur de connexion"winking smiley;
mysql_select_db('occas',$db) or die ("erreur de connexion base"winking smiley;
$date = date("d-m-Y"winking smiley;
srand((double)microtime()*1000000);
$sort=rand(1,9999);
$extension=substr($image_name,strrpos($image_name,"."winking smiley);
$nom_image=$modele.$sort.$extension;
copy($image,"IMAGE_CLIENT/".$nom_image);
mysql_query("INSERT INTO occasions VALUES ('$id','$modele','$annee','$kilometrage','$couleur','$description','$prix','$nom_image') "winking smiley;
mysql_close(); }
?>

<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Ensuite<br>&nbsp;&nbsp;&nbsp;<a href="[localhost] la page d'annonce</a></p>
<br><br>
<table border="2" width="400" bordercolor="#FF0000">
<tr>
<td width="100%"><p align="center"><a
href="[localhost] face="Verdana"
size="2">Ou cliquez ici si vous souhaitez supprimer une annonce</font></a></td>
</tr>
</table>


</body>
</html>

------------------------

As tu une idée?
ps: pourquoi mets tu des ' apostrophes dans les ['description']
Sur les autres demandes d'affichage, elles n'y sont pas.
Cela a une importance?
Re: retour à la ligne à l'affichage
lundi 9 septembre 2002 11:57:22
salut,
non, tu peux les enlever les apostrophes, si tu veux....
par contre htmlentities() ne se met pas à l'affichage mais dans la page d'insertion..... ceci expliquerait cela...
idem pour nl2br() si tu veux t'en servir....
a+
Re: retour à la ligne à l'affichage
lundi 9 septembre 2002 12:53:01
Alors la, je ne comprends plus.

tu m'avais dit ca:

pour le 1/ oublie nl2br et essaye ceci avant ta requête d'affichage :
$resultat['description']=htmlentities($resultat['description']);
$resultat['description']=str_replace("\r","<br>",$resultat['description']);

alors je ne comprends pas trop ou je peux mettre cela dans ma page d'insertion (inserer2.php)
j'ai essayé à divers endroits sans succès
Re: retour à la ligne à l'affichage
lundi 9 septembre 2002 13:18:20
ben tu sais, les clopes que je fume me montent p'têt ben au cerveau des fois...... faudra que j'y regarde de plus prés, à leur contenu yawning smiley))
>>>>>>>>

mysql_query("INSERT INTO occasions VALUES ('$id','$modele','$annee','$kilometrage','$couleur','$description','$prix','$nom_image') "winking smiley;


devient

$description=htmlentities($description);
mysql_query("INSERT INTO occasions VALUES ('$id','$modele','$annee','$kilometrage','$couleur','$description','$prix','$nom_image') "winking smiley;
Re: retour à la ligne à l'affichage
lundi 9 septembre 2002 13:46:11
Bein désolé, c'est pt'êt les clopes, mais ca ne marche toujours pas:
j'ai toujours mon texte de description sur une seule ligne (SAUF, SI JE FAIS LE RETOUR CHARIOT LORS DE LA SAISIE)

j'ai fait exactement ce que tu m'as dit
--------------------------

<?
if ( isset ($modele) ) {
$db = mysql_connect('localhost','occas') or die ("erreur de connexion"winking smiley;
mysql_select_db('occas',$db) or die ("erreur de connexion base"winking smiley;
$date = date("d-m-Y"winking smiley;
srand((double)microtime()*1000000);
$sort=rand(1,9999);
$extension=substr($image_name,strrpos($image_name,"."winking smiley);
$nom_image=$modele.$sort.$extension;
copy($image,"IMAGE_CLIENT/".$nom_image);
$description=htmlentities($description);
mysql_query("INSERT INTO occasions VALUES ('$id','$modele','$annee','$kilometrage','$couleur','$description','$prix','$nom_image') "winking smiley;
mysql_close(); }
?>
--------


pis j'ai un autre soucis, mais bon, je commence à me sentir gèné de te prendre la tête.

Lorsque je n'insère pas de photo à la saisie, j'ai l'erreur suivante qui s'affiche:

Warning: Unable to open '' for reading: Permission denied in c:\program files\easyphp\www\occas2\inserer2.php on line 35

ma ligne 35 , c'est:

copy($image,"IMAGE_CLIENT/".$nom_image);

Et surtout, j'ai ma satanée croix rouge à la place de l'image (qui bien sur n'existe pas)
Y'a pas moyen d'avoir un texte, genre "pas de photo"?
et d'éviter l'affichage de l'erreur?

Au fait chef.
C'est ton job l'informatique et la programation?
ou juste un plaisir?
Re: retour à la ligne à l'affichage
lundi 9 septembre 2002 15:19:30
non non tu me prends pas la tête yawning smiley) c'est moi qui regarde pas ton script en profondeur.........
enlève donc le wrap="physical" pour voir......

s'il n'y a pas de photo, fais comme ça :
1/ tu crées ou tu ajoutes dans ton répertoire IMAGE_CLIENT une image de ton choix..... que tu nommes mettons "remplacement.gif"
2/ si le texte de l'annonce ne comporte pas d'image, tu écris dans ta requête mysql d'affichage :

if ($resultat[image]==""winking smiley{$resultat[image]='remplacement.gif';}

puis tu l'affiches comme avant
<img src='IMAGE_CLIENT/$resultat[image]'>

pour répondre à ta question, non, non, la programmation n'est pas mon job yawning smiley)) mais je cherche dans ce sens yawning smiley))
a+
Re: retour à la ligne à l'affichage
lundi 9 septembre 2002 16:52:01
je teste pour l'histoire de la photo.

Pour le texte, ca ne marche toujours pas....
Re: retour à la ligne à l'affichage
lundi 9 septembre 2002 17:44:40
J'ai créé mon image "remplacement.jpg, je l'ai mis dans le dossier IMAGE_CLIENT

Mais quand tu dis:
tu écris dans ta requête mysql d'affichage :

if ($resultat[image]==""winking smiley{$resultat[image]='remplacement.gif';}

c'est à quel endroit que je l'ecris?

Sur la page d'insertion?
Sur la page d'affichage des annonces?

et a quel endroit dans la requete?

Si je met le code sur la page d'insertion à chaque fois, j'ai un truc du genre
warning: unable to open"for reading permission denied bla bla bla on line 36,

la ligne 36 c'est:

copy($image,"IMAGE_CLIENT/".$nom_image);


ps: tu es dans quelle région?
Re: retour à la ligne à l'affichage
lundi 9 septembre 2002 21:49:56
négatif,
la ligne >>>>

if ($resultat[image]==""winking smiley{$resultat[image]='remplacement.gif';}

doit être insérée dans le script d'affichage (puisque c'est là que le script finalement va détecter ou non si une image existe....)

j'suis à annecy...
Re: retour à la ligne à l'affichage
mardi 10 septembre 2002 07:42:30
Bein c'est pour cela que je t'apelle chef.
j'ai essayé de l'inserer partout sur la page qui affiche les annonces, sans succes.

j'ai toujours des erreurs
Re: retour à la ligne à l'affichage
mardi 10 septembre 2002 09:03:04
remplace

while ($resultat = mysql_fetch_array($requete))

par

while ($resultat = mysql_fetch_array($requete,MYSQL_ASSOC))

pour voir.....
Re: retour à la ligne à l'affichage
mardi 10 septembre 2002 09:16:41
si je fais ca, la ligne >>>>

if ($resultat[image]==""winking smiley{$resultat[image]='remplacement.gif';}

je la met ou dans le script d'affichage?
juste avant le
{print "<table
Re: retour à la ligne à l'affichage
mardi 10 septembre 2002 10:16:01
non !!! tu la mets dans ta boucle.....

$requete = mysql_query("SELECT id,modele,annee,kilometrage,couleur,description,prix,image from occasions"winking smiley;
print"<table>";

while ($resultat = mysql_fetch_array($requete,MYSQL_ASSOC))
{print "<table border=2 width=600 bordercolor=#008000>
<tr>
<td><B>N°: </B>$resultat[id]<br></td>
if ($resultat[image]==""winking smiley{$resultat[image]='remplacement.gif';}
<td rowspan=7 width=300><B>Photo:</B><img src='IMAGE_CLIENT/$resultat[image]'><br><br></td>

etc etc
Seuls les utilisateurs enregistrés peuvent poster des messages dans ce forum.

Cliquez ici pour vous connecter