PHP Probleme concatenation !! Help

dubuducu Messages postés 391 Date d'inscription   Statut Membre Dernière intervention   -  
 toto -
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

DAG
 
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
gohlink
 
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
DAG
 
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
DAG
 
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
DAG
 
Perso je vois pas .... Désolé !
0
toto
 
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
toto
 
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   Statut Membre Dernière intervention   4
 
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   Statut Membre Dernière intervention   4
 
<?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   Statut Membre Dernière intervention   4
 
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   Statut Membre Dernière intervention   4
 
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   Statut Membre Dernière intervention   4
 
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   Statut Membre Dernière intervention   4
 
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   Statut Membre Dernière intervention   4
 
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   Statut Membre Dernière intervention   4
 
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