Bonjour à tous!
Voici mon probléme: J'ai développé une base de données MySQL de livraison de colis et nous exploitons cette base par l'intermédiaire d'un programme en PHP5. Les employés font des recherches de livraison par l'intermédiaire du N° de colis.
J'ai découvert que l'on pouvait adjoindre à cette base une carte (Google ou mappy) visualisant sur la carte l'adresse de livraison!
Cela marche trés bien mais j'ai un problème avec les adresses comportant des apostrophes ou des virgules par exemple
64 boulevard de l'hopital 75013 PARIS
ou
12, boulevard Garibaldi 75000 PARIS
la variable $address ne prend en compte que les caractéres jusqu'à l'apostrophe ou la virgule dans la valeur du champ caché
c'est à dire :
64 boulevard de l' ou
12, evidemment j'ai la réponse suivante :
"64 boulevard de l' " Adresse introuvable
echo "<td span class=Style2>".$address." // à cet endroit l'adresse est compléte
<input name='address' type='hidden' value='$address' //à cet endroit l'adresse est coupée /></td>";
(De plus les points et/ou les guillemets ne changent rien : value="$address" ou value='$address' ou enfin value=".$address.")
existe-t-il une fonction en PHP pour contourner ce probléme?
Pour infos le champ adresse dans la base est du type VARCHAR
voici le code:
<?php
include("tete.php");
?>
<html>
<head>
<title>Rechercher</title>
<style type="text/css">
<!--
.Style2 {
font-family: Arial, Helvetica, sans-serif;
font-size: x-small;
}
.colee {
font-family: Arial, Helvetica, sans-serif;
font-size: 17px;
color: #FFFFFF;
}
-->
</style>
</head>
<body>
<span class="Style2">
<form action="cherchcol.php" method="post" name="f" enctype="multipart/form-data">
<td><input name="choix" type="hidden" value="colis" checked="checked" type="radio" /></td>
<td> <input type=hidden name=count value="0" size=1
onkeydown="alert('Cette valeur est créée automatiquement!');
return false;">
<center>
<td><input type="text" name="recherche" size="30" maxlength="30" /></td>
<input type=hidden name=reset value="Restaurer">
<input name="Rechercher" value="Rechercher" type="submit" />
</center>
</form>
<div id="rechercheinfo" style="position:absolute;
left:350px; top:25px; visibility: hidden">
<table border=1 cellspacing=0 cellpadding=4>
<tr><td bgcolor=#FF0000>
<font size=2 face="arial,helvetica" color=#FFFFFF><b>
Saisissez <span style="text-decoration: underline;">le N° </span><br>
</b></font>
</td></tr></table>
</div>
<script language="JavaScript"><!--
document.f.recherche.onkeydown = function()
{ document.f.count.value++; }
document.f.reset.onclick = function()
{ return(confirm('Voulez-vous vraiment\n'
+'annuler toutes les saisies ?')); }
if(navigator.appName.indexOf('Netscape') != -1)
{
with (document)
{
f.count.onmouseover = function()
{ countinfo.visibility='visible'; }
f.count.onmouseout = function()
{ countinfo.visibility='hidden'; }
f.recherche.onmouseover = function()
{ rechercheinfo.visibility='visible'; }
f.recherche.onmouseout = function()
{ rechercheinfo.visibility='hidden'; }
f.reset.onmouseover = function()
{ resetinfo.visibility='visible'; }
f.reset.onmouseout = function()
{ resetinfo.visibility='hidden'; }
}
}
if(navigator.appName.indexOf('Explorer') != -1)
{
with (document)
{
f.count.onmouseover = function()
{ countinfo.style.visibility='visible'; }
f.count.onmouseout = function()
{ countinfo.style.visibility='hidden'; }
f.recherche.onmouseover = function()
{ rechercheinfo.style.visibility='visible'; }
f.recherche.onmouseout = function()
{ rechercheinfo.style.visibility='hidden'; }
f.reset.onmouseover = function()
{ resetinfo.style.visibility='visible'; }
f.reset.onmouseout = function()
{ resetinfo.style.visibility='hidden'; }
}
}
//--></script>
<?php
if ( !$_POST[choix] || !$_POST[recherche])
{
echo "<table width=100% border=1 align=center>";
echo "<td colspan=9 align=center bgcolor='#cccccc'>RECHERCHE DE COLIS :<img src='s.png' width='20' height='20'></td>"; echo "</table>";
exit;
} $connect=mysql_connect("localhost", "root", "") or die ("Echec de la connexion au serveur !");
$select=mysql_select_db("col");
$query = "SELECT DISTINCT ncol,Adresse,CP,VILLE,DATE,systeme FROM colis
WHERE ". $_POST[choix]." = ".$_POST[recherche]." ORDER BY DATE DESC";
$result=mysql_query($query);
$totenreg=mysql_num_rows($result);
if ( $result && mysql_num_rows($result) ==0)
echo "<td colspan=9 align=center bgcolor='#FFFFFF'><center>PAS DE REPONSES CORRESPONDANTES</td>";
else if ($result) {
echo "<form action='#' onclick='return geocode(document.getElementById('req').value)'>";
echo "<table width=100% border=0 align=center>";
echo "<tr bgcolor='#000000'>";
echo "<td colspan=9><b><center><span class=colee><img src='s.png' width='20' height='20'>NOMBRE DE REPONSES : ".$totenreg."</td>";
echo "</tr>";
echo "<tr align=center bgcolor=#FFFFCC>";
echo "<td align=center><img src='cel2.png' width='20' height='20' alt='Numéro de colis' ></td>";
echo "<td align=center><img src='cp.png' width='20' height='20'></td>";
echo "<td align=center><img src='sy.gif' width='20' height='20'></td>";
echo "<td align=center><img src='c2.png' width='20' height='20'></td>";
echo "<td align=center><img src='f.png' width='20' height='20'></td>";
echo "</tr>";
$i=0;
while ($row=mysql_fetch_array($result)) {
if ($i==0) {
echo "<tr bgcolor=#EEEEEE>";
$i++; }
else {
echo "<tr bgcolor=#DDDDEA>";
$i--;
}
$datTemp = $row['DATE'];
$address = $row['Adresse']." " .$row['CP']." ".$row['VILLE'];
if ($datTemp == '1990-01-01') {
echo "<td span class=Style2>".$row["ncol"]."</td>\n";
echo "<td span class=Style2>".$address."<input name='address' size='30' type='hidden' value='$address' ></td>";
echo "<td span class=Style2>".$row["systeme"]."</td>";
echo "<td align=center><img src='ad2.png' width='20' height='20'></td>";
echo "<input type='submit' style='margin-top:5px' value='Search!'
onclick='return geocode(document.getElementById('req').value)'></td>";
}
else if ($datTemp != '1990-01-01') {
echo "<td span class=Style2>".$row["ncol"]."</td>\n";
echo "<td span class=Style2>".$address."<input name='address' type='hidden' value='$address'/></td>";
echo "<td span class=Style2>".$row["systeme"]."</td>";
list($annee,$mois,$jour) = explode("-",$datTemp); // Date Event, 2003-04-23 => 23.04.2003
echo "<td span class=Style2><b>$jour/$mois/$annee</td>";// Affichage de la date Event //
}
else
echo "</tr>"; }
echo "</table>"; }
include("mappy.php");
echo "</form>";
?>
</body>
</html>
[/b]