I have an xml file for which I try do display some informations into a php form.
So i've been trying to do something like that:
<?php
$url="tmp/".$_GET['n_doss']."-".date('d-m-Y')."-legale.xml";
if(file_exists($url))
{
$chaineXML= $url;
$dom = new DomDocument();
$dom->load($chaineXML);
$date = $dom->getElementsByTagName('time');
$time = DateTime::createFromFormat("d/m/Y H:i:s", $date->item(0)->nodeValue);
$datecreditsafe=date_format($time, 'd-m-Y');
if($dom->getElementsByTagName('errors')->length != 0)
{
header('Location: index.php?p=add_debiteur&n_doss='.$_GET['n_doss'].'&type='.$_GET['type'].'&mode='.$_GET['mode'].'&step=4&creditsafe=false&siret='.$_GET['siret'] );
}
else
{
if(!empty($data['forme_juridique']))
{
echo "<label>Forme juridique:</label><input type='text' name='forme_juridique'><br>";
}
else
{
if($dom->getElementsByTagName('legalform')->length != 0)
{
$etat = $dom->getElementsByTagName('legalform');
$forme_juridique=$etat->item(0)->nodeValue;
echo "<label>Forme juridique:</label><input type='text' name='forme_juridique' value='".utf8_decode(stripslashes($forme_juridique))."'><br>";
}
else
{
echo'<label for="forme_juridique">Forme Juridique:</label><table width="45%" border="0">
<tr>
<td width="50%"><input type="checkbox" name="forme_juridique" value="SAS" onclick="limite_check(this.name, 1)" />
SAS</td>
<td width="50%"><input type="checkbox" name="forme_juridique" value="SA" onclick="limite_check(this.name, 1)" />
SA</td>
</tr>
<tr>
<td><input type="checkbox" name="forme_juridique" value="SARL" onclick="limite_check(this.name, 1)" />
SARL</td>
<td><input type="checkbox" name="forme_juridique" value="EURL" onclick="limite_check(this.name, 1)" />
EURL</td>
</tr>
<tr>
<td><input type="checkbox" name="forme_juridique" value="SNC" onclick="limite_check(this.name, 1)" />
SNC</td>
<td><input type="checkbox" name="forme_juridique" value="SDF" onclick="limite_check(this.name, 1)" />
SDF</td>
</tr>
<tr>
<td><input type="checkbox" name="forme_juridique" value="Société Particulière" onclick="limite_check(this.name, 1)" />
Société Particulière </td>
<td><input type="checkbox" name="forme_juridique" value="Entreprise Individuelle" onclick="limite_check(this.name, 1)" />
Entreprise Individuelle</td>
</tr>
<tr>
<td><input type="checkbox" name="forme_juridique" value="Artisan" onclick="limite_check(this.name, 1)" />
Artisan</td>
<td><input type="checkbox" name="forme_juridique" value="Commerçant" onclick="limite_check(this.name, 1)" />
Commeçant</td>
</tr>
<tr>
<td><input type="checkbox" id="box" name="forme_juridique" value="Autre" onclick="GereControle(\'box\', \'forme_juridique2\', \'1\');limite_check(this.name, 1)"/>
Autre</td>
<td><input type="text" name="forme_juridique2" id="forme_juridique2" style="visibility:hidden" /></td>
</tr>
</table>';
}
}
}
But the real trouble is that it display to me only a part of this var: actually the real part to be display is: SA à conseil d'administration
and it display to me only SA à conseil d
I've tried several things like:
str_replace("'","'",$str)
or
htmlentities($str, ENT_QUOTES, "UTF-8")
or again mysql_real_escape_string
or addslashes
and stripslashes
but I did not find the way to make it work.
Thank you in advance for the help
Did you check the actual HTML it echoed? Therefore you can know if it was caused by single quote issue or the content was just indeed "SA à conseil d".
Or you can just quote the value with double quote.
Try replacing the
echo
line with this one:try:
This code will give a better result: