url rewriting avec formulaire

Mammouth du PHP | 643 Messages

06 avr. 2016, 18:52

Salut à tous.
J'ai un formulaire en POST
Tout marche bien comme je souhaite, les urls sont comme je veut, presque ...
Je cherche juste à faire en sorte que le visiteur soit redirigé après validation du formulaire selon le choix fait, car actuellement ca reste toujours sur la même page, du coup je génére le lien puis faut cliqué dessus pas pratique quoi.

Le form:
<form id="choice" name="liste deroulante" method="POST"  action="">

<div class="col-md-12 col-sm-12 max">
	<input title="Recherche par ville" class="form-control" placeholder="Recherche par ville" value="<?php echo  !empty($_REQUEST['ville']) ? $_REQUEST['ville'] : NULL;?>" name="ville" id="ville" type="search">
</div>   
           
<div class="col-md-3 col-sm-3 max">
<?php // Gestion des variables des départements
$region = !empty($_SESSION['membre']['id_region']) ? simplification($aRegion[$_SESSION['membre']['id_region']]) :NULL;
$region = !empty($_REQUEST['region']) ? $_REQUEST['region'] : $region; /* Si la region est renseigné dans l'url il est prioritaire */
$departement = !empty($_SESSION['membre']['id_departements']) ? $_SESSION['membre']['id_departements'] : NULL;
$departement = !empty($_REQUEST['departement']) ? $_REQUEST['departement'] : $departement; /* Si le departemebt est renseigné dans l'url il est prioritaire */
?>                       
<select name="departement" id="departement" class="selectpicker max" data-region="<?php echo $region; ?>">
<option value="">Votre département</option>
<?php echo aRegionDepartement($region, $departement); ?>
</select>
</div>  
                    
<!-- Select des sorties -->      
<div class="col-md-3 col-sm-3 max">
<select title="choisir une sortie" name="loisir" id="loisir" class="selectpicker max">
<option value=""> Toutes les sorties</option
><?php
asort($aLoisirs);
foreach($aLoisirs as $k => $v) {
$selected = !empty($_REQUEST['loisir']) && ($_REQUEST['loisir'] == $k) ? ' selected="selected"' : NULL;
echo '<option value="'.$k.'"'.$selected.'>'.$v.'</option>'."\n";
}
?>
</select>
<?php echo !empty($region) ? '<input type="hidden" name="region" value="'.$region.'" />' : NULL; ?>
</div>
                    
<div class="col-md-3 col-sm-3 max">  
    <div class="input-group input-group">
    <span class="input-group-addon"><i class="fa fa-calendar-o"></i></span>  
    <input title="Recherche de sortie par date "id="datetimepicker2" name="datetimepicker" placeholder="Recherche par date" type="text" readonly value="<?php echo !empty($_REQUEST['datetimepicker']) ? $_REQUEST['datetimepicker'] : NULL; ?>">
    </div>    
</div>
     
<div class="col-md-3 col-sm-3 max">
<input type="button" autofocus id="btn_select" class="find" onclick="javascript:submit();" onFocus="this.blur();" value="Rechercher">



</div>
</form>
Le js ( c'est un pote à l'époque qui m'avais fait ça, je veut bien me débarassé de l'ajax ... si plus simple )
// JavaScript Document
// On donne une action dès qu'on clique sur un lien des nav
$(document).ready(function(){
    $('.filter-tabs a, .page:not(.active)').on('click', function(e) {
				
        e.preventDefault(); // On annule le fait d'avoir cliqué sur le lien.
        var du = $(this).attr('data-du');
        var au = $(this).attr('data-au');
        var page = $(this).attr('data-page');
        chargerDonnees(du, au, page);
	});
});
// On déclare la fonction qui va aller chercher les données en base de données selon le bouton cliqué
function chargerDonnees(du, au, page) {
	
	var dep = $('#departement').val();
	var region = $('#departement').attr('data-region');
	var loisir = $('#loisir').val();
	var vil = $('#ville').val();
	var datetimepicker2 = $('#datetimepicker2').val();
	
    $.ajax({
        type: 'POST',
        url: 'include/rechercheAjax.php',
        data: 'du='+du+'&au='+au+'&page='+page+'&departement='+dep+'&region='+region+'&loisir='+loisir+'&ville='+vil+'&date='+datetimepicker2,
        processData: true,
        async: false,
		

        beforeSend: function() {
            $('#bloc_page').html('Chargement en cours');
        },
        success: function (data) {
            $('#bloc_page').html(data);
            // On doit le rappeller car un nouveau bloc pagination a été créé
			
            $('.page:not(.active)').on('click', function(e) {
				
                e.preventDefault(); // On annule le fait d'avoir cliqué sur le lien.
                var du = $(this).attr('data-du');
                var au = $(this).attr('data-au');
                var page = $(this).attr('data-page');
                chargerDonnees(du, au, page);
            });
        }
    });
}
et htaccess
RewriteRule ^toutes-les-sorties-du-departement-([0-9]{2}).html$ sortie.php?departement=$1
RewriteRule ^toutes-les-sorties-en-region-([A-Za-z0-9_-]+)-du-departement-([0-9]{2}).html$ sortie.php?region=$1&departement=$2

RewriteRule ^toutes-les-sorties-du-departement-([0-9]{2})-([A-Za-z0-9_-]+).html$ sortie.php?departement=$1&loisir=$2
RewriteRule ^toutes-les-sorties-en-region-([A-Za-z0-9_-]+).html$ sortie.php?region=$1

RewriteRule ^toutes-les-sorties-de-la-ville-de-([a-z0-9-]+).html$ sortie.php?ville=$1

RewriteRule ^toutes-les-sorties-([A-Za-z0-9_-]+)-de-la-ville-de-([a-z0-9-]+).html$ sortie.php?loisir=$1&ville=$2
RewriteRule ^toutes-les-sorties-([A-Za-z0-9_-]+).html$ sortie.php?loisir=$1


RewriteRule ^toutes-les-sorties-([A-Za-z0-9_-]+)-page-([0-9]+).html$ sortie.php?loisir=$1&page=$2


RewriteRule ^toutes-les-sorties-de-([a-z0-9-]+).html$ sortie.php?manufacturer=$1

RewriteRule ^toutes-les-sorties.html sortie.php

#RewriteRule ^([A-Za-z0-9_-]+).html$ $1.php
Merci pour votre aide à venir