PHP Probleme concatenation !! Help

Fermé
dubuducu Messages postés 391 Date d'inscription lundi 8 novembre 2004 Statut Membre Dernière intervention 19 mai 2010 - 18 sept. 2008 à 15:39
 toto - 24 sept. 2008 à 15:41
Bonjour,
J'ai un souci de ce jenre :
$msg = 'rtrtrt';

requete ..
While
{
$ msg .='sdc';
}

$msg .= 'dcsdc';

<form blabla>
<input type hidden value='".$msg."' name ='recup_msg' >
</form>

Voici la version schématique de mon code (tres lourd )
Le problème est que je ne maitrise pas trop la concatenation et lors de l'affichage de cette page, cela m'affiche le contenu de $msg a l'endroit de l'input type hidden !!!!!!!
<code>
....
durable.gouv.fr
05 56 70 65 13 ou 05 56 70 64 09 // (ceci est le contenu de $msg)
' name='recup_msg' />

Merci de m'aider si vous le pouvez
A voir également:

15 réponses

C'est parce que ton input est mal formé : tu met input type hidden, mais c'est type="hidden".
Par exemple en PHP : (tu peux l'utiliser directement comme ça)
echo "<input type=\"hidden\" value=\"$msg\" name=\"recup_msg\">";
1
bonjour

c'est bizzare. Je ne vois pas de problème dans ta concaténation, de plus quelque soit la valeur du champ, un type hidden qui s'affiche vient d'un problème de la balise input et pas de sa valeur.

On peut avoir un vrai copier collé de ta balise <input /> ?
0
Si on reprend le code plus haut, tu voudrais que ça n'affiche pas ça : rtrtrtsdcdcsdc dans le formulaire mais qu'il te le passe en POST ?
Tu peux me filer ton code ? car là je ne vois pas trop...
0
Moi je pense que c'est bon je ne vois pas trop d'ou vient le probleme...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Perso je vois pas .... Désolé !
0
Bonjour

Si je comprends bien, tu essayes de mettre le code d'une page HTML complète dans un champ hidden ! ça me semble aberrant mais passons, ça n'est pas là ta question

Y a-t-il des caractères particuliers (& < > ou apostrophe par exemple) dans ton champ $row['commentaires'] ?
0
S'il y a des apostrophes, normal que ça ne marche pas. La première apostrophe termine la chaine commencée par value=' et tout le reste derrière ne veut plus dire grand chose

remplace toutes les apostrophes de $msg par des &#27;
0
dubuducu Messages postés 391 Date d'inscription lundi 8 novembre 2004 Statut Membre Dernière intervention 19 mai 2010 4
23 sept. 2008 à 16:59
merci pour cette reponse mais le probleme est toujours le meme !!!
il m'affiche le contenu de $msg sur ma page :| !!!!!
-1
dubuducu Messages postés 391 Date d'inscription lundi 8 novembre 2004 Statut Membre Dernière intervention 19 mai 2010 4
23 sept. 2008 à 17:14
<?php
include('bdd.php');
session_start();		

$cpt = '0'; //compteur tempo


echo '<table bgcolor="#FFFFFF" align="center">'."\n";
	// première ligne on affiche les titres dans 4 colonnes 
	echo '<tr>'; 
	echo '<b>Vous avez choisi : </b><br><br>';  
	echo '<td width="80" bgcolor="#9f9f9f"><b><u>N° du Devis</u></b></td>'; 
	echo '<td bgcolor="#9f9f9f"><b><u>Départements</u></b></td>­'; 
	echo '<td bgcolor="#9f9f9f"><b><u>Commentaires</u></b></td>'; 
	echo '</tr>'."\n";
	

	


	
$stock = 0;
$msg = '<html> 
     <head> 
     <title>Hello</title> 
     </head> 
     <body>';
if (isset($_POST['choix'])){
	foreach($_POST['choix'] as $element){
	$sql = "SELECT * FROM event  WHERE id = '".$element."' "; 
	$result = mysql_query( $sql) or die( "Erreur : " . mysql_error() ); 
	$nb = mysql_num_rows($result);
	$stock = $stock + $nb;
	

		while($row = mysql_fetch_array($result)) 
		{ 
					$pri = $row['prix'];
					$stock = $stock + $pri;
					echo '<tr>'; 
					echo '<td width="80" bgcolor="#d4d4d4">'.$row['id'].'</td>'; 
					echo '<td bgcolor="#d4d4d4">'.$row['departement'].'</td>'; 
					echo '<td bgcolor="#d4d4d4">'.$row['commentaires'].'</td>'; 				
					echo '</tr>'."\n";	
$msg .= '<br/> 
<table>

<tr bgcolor="#d4d4d4"> Numero du Devis:'.$row['id'].' </tr>
<tr bgcolor="#d4d4d4"> Département:'.$row['departement'].' </tr>
<tr bgcolor="#d4d4d4"> Email:'.$row['email'].' </tr>';
$msg .='
<tr bgcolor="#d4d4d4"> Nom:'.$row['nom'].' </tr>
<tr bgcolor="#d4d4d4"> Société:'.$row['societe'].' </tr>
<tr bgcolor="#d4d4d4"> Telephone:'.$row['telephone'].' </tr>
<tr bgcolor="#d4d4d4"> Code Postal et Ville:'.$row['codepostal'].' </tr>';

$msg .='
<tr bgcolor="#d4d4d4"> Pays:'.$row['choix_pays'].' </tr>
<tr bgcolor="#d4d4d4"> Nombre de Personne:'.$row['nbpers'].' </tr>
<tr bgcolor="#d4d4d4"> Date Début du Projet:'.$row['dateDebutJour'].' / '.$row['dateDebutMois'].' / '.$row['dateDebutAnnee'].'</tr>
<tr bgcolor="#d4d4d4"> Date Fin du Projet:'.$row['dateFinJour'].' / '.$row['dateFinMois'].' / '.$row['dateFinAnnee'].' </tr>
<tr bgcolor="#d4d4d4"> Budget:'.$row['budget'].' </tr>';





$msg .='


<tr bgcolor="#d4d4d4"> Categorie:'.$row['cat'].' </tr>';

$msg .='
<tr bgcolor="#d4d4d4"> Sous Categorie:'.$row['sous_cat'].' </tr>
<tr bgcolor="#d4d4d4"> Thématique:'.$row['sous_sous_cat'].' </tr>
<tr bgcolor="#d4d4d4"> Type de Client :'.$row['type_client'].' </tr>

<tr bgcolor="#d4d4d4"> Numero du Devis:'.$row['commentaires'].' </tr> // cette ligne pose probleme
</table>';
		
		}
	}	
$msg .= '</body> 
     </html>';

echo '</table>'."\n"; 
echo "$msg";
echo '<form action="formulairebeta.php" method="post">';
 echo '<font size="2" face="Arial" >';
 
echo '<table bgcolor="#FFFFFF" border="0" align="center">'."\n"; 
// première ligne on affiche les titres dans 4 colonnes 
echo '<tr>'; 
echo '</table>'."\n"; 

 echo '</font>';
 foreach($_POST['choix'] as $element){
 echo "<input type='checkbox' style='visibility:hidden;' value='".$element."' name='choix[]' checked='checked'/>";
 }
 echo "<input type='hidden' value='".$msg."' name='recup_msg'/>";
 echo "<input type='hidden' value='".$stock."' name='recup_stock'/>";
  echo "<input type='hidden' value='".$credit."' name='recup_credit'/>";
 echo "<td>";
echo "<font>";
echo "<input name='destinataire' class='zdt' style='width:120px; font-weight:700'> ";
echo "</font>";
echo "</td>";
 echo "<input type='submit' value='envoyer devis' /></form>"; 


je viens de m'appercevoir que seul la ligne
<tr bgcolor="#d4d4d4"> Numero du Devis:'.$row['commentaires'].' </tr>

pose probleme.quand je la retire, l'affichage est caché et le POST est complet avec toutes les infos precedentes.
pourquoi seul le champs "commentaires" pose probleme ?
je désèspére vraiment ... Merci de ton aide
-1
dubuducu Messages postés 391 Date d'inscription lundi 8 novembre 2004 Statut Membre Dernière intervention 19 mai 2010 4
23 sept. 2008 à 17:39
est ce que vous pensez que la synthaxe pour recuperer ma concaténation est correct ? le probleme viens de la je pense ! j'en ai marre !!!!
 echo "<input type='hidden' value='".$msg."' name='recup_msg'/>";


Merki
-1
dubuducu Messages postés 391 Date d'inscription lundi 8 novembre 2004 Statut Membre Dernière intervention 19 mai 2010 4
23 sept. 2008 à 18:00
pareil, je vois pas !!
il m'affiche (seulement kan la ligne
 echo "<input type='hidden' value='".$msg."' name='recup_msg'/>";
est présente ) :

"tout le contenu du msg juska la ligne où commentaire est présent" ' name='recup_msg'/>


petit souci de concaténation .
je ne connais pas du tout la synthaxe pour apeler celle ci !
.$variable. ou .$variable etc ...
-1
dubuducu Messages postés 391 Date d'inscription lundi 8 novembre 2004 Statut Membre Dernière intervention 19 mai 2010 4
24 sept. 2008 à 13:11
Personne ne voit d'ou l'erreur peut provenir ... paske aparamment y'en a une !!!
cela n'a pas l'air d'etre grand chose en plus !! c'est ca qui m'enerve le +
-1
dubuducu Messages postés 391 Date d'inscription lundi 8 novembre 2004 Statut Membre Dernière intervention 19 mai 2010 4
24 sept. 2008 à 13:35
Merci quand meme DAG d'avoir pris de ton temps pour me répondre !
je vais persévérer ! ... SEUL !
a bientot
-1
dubuducu Messages postés 391 Date d'inscription lundi 8 novembre 2004 Statut Membre Dernière intervention 19 mai 2010 4
24 sept. 2008 à 14:16
il n'y a aucun caractere particulier, ce n'est simplement que du texte !

Et excuse moi toto si je fais des choses "abérantes" je cite, mais tout le monde a bien commencé un jour et s'il y a bien une chose que je ne supporte pas, c'est le manque d'humilité de certains envers les gens comme moi qui débutent et qui viennent sur ce forum en quete d'aide et qui se font rabaisser plus bas que terre.
Merci
-1
dubuducu Messages postés 391 Date d'inscription lundi 8 novembre 2004 Statut Membre Dernière intervention 19 mai 2010 4
24 sept. 2008 à 14:56
en fait tu as raison toto, il ya des fois des apostrophes.
j'ai donc testé addslashes et stripslashes avant de re-afficher $msg mais le probleme semble le meme ...
-1