hellofacteurV1/ctrl/get_ville_cp.php

62 lines
2.2 KiB
PHP
Executable File

<?php
/**
* Script contrôlant un code postal saisi
* Et retournant la/les ville(s) correspondant si trouvé
* Peut être appelé en ajax ou directement en php
**/
if(isset($_POST["cp_ville"]))
$form["cp_ville"]=$_POST["cp_ville"];
$ajax_on=false;
if(!empty($_POST["ajax"]))
{
header('Content-Type: text/html; charset=utf-8');
$ajax_on=true;
}
if(!empty($form["cp_ville"]))
{
if(strlen($form["cp_ville"])<3)
$msg_form[]=ERREUR_UTILISA_CP_LONG;
else
{
if(empty($Bd))
require("../modele/connexion-bd.php");
$villes=get_villes($form["cp_ville"]);
if(empty($villes))
{
$msg_erreur=ERREUR_UTILISA_CP_VILLE_ABSENTE;
if(!$ajax_on)
$msg_form[]=$msg_erreur;
else
echo get_html_alerte_msg((array) $msg_erreur);
}
else if(count($villes)==1)
{
if(!$ajax_on)
$form["ville"]=$villes[0];
else
{
$msg[0]="Ville trouvée pour votre saisie : <strong>".htmlentities(affiche_utf8($villes[0]["nom"],UTF8_OK))." (".$villes[0]["cp"].")</strong>.<br>
Si ce n'est pas la bonne, essayez une autre recherche.<input type='hidden' name='insee' id='insee' value='".$villes[0]["insee"]."'>
<input type='hidden' name='a_insee' id='a_insee' value=\"".$villes[0]["insee"]."\" >";//pour savoir si l'utilisateur a changé de ville (répercussion sur l'abonnement local).";
echo get_html_alerte_msg($msg,"alert-success");
}
}
else
{
$villes_select=$villes;
if(!$ajax_on)
$msg_form[]=str_replace("__NB__",count($villes),ERREUR_UTILISA_CP_PLUSIEURS_VILLES);
else
{
echo "<div class='form-group'>
<label for='insee' class='col-sm-3 control-label'> >> ".str_replace("__NB__",count($villes),ERREUR_UTILISA_CP_PLUSIEURS_VILLES).htmlentities($form["cp_ville"])."</label>
<div class='col-sm-9'><select name='insee' id='insee' autofocus class='form-control'>";
foreach ($villes_select as $ville_info)
echo "<option value='".$ville_info["insee"]."'>".htmlentities(affiche_utf8($ville_info["nom"],UTF8_OK))." (".$ville_info["cp"].").</option>";
echo "</select></div>
<div class='col-sm-offset-3 col-sm-9'><p class='help-block'>Si votre ville n'est pas dans la liste, essayez une autre recherche.</p></div>
</div>";
}
}
}
}