pb rechargement page apres submit

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : pb rechargement page apres submit

Re: pb rechargement page apres submit

par baka54 » 18 mai 2011, 23:05

bon ba me suis résolue a utilisé une iframe sa a résolue mon pb sa marche très bien même si c'est pas top pour le référencement enfin bon le plus important c'est d'avoir un truc qui fonctionne :)

Merci quand même pour votre aide sa été sympa :)

Re: pb rechargement page apres submit

par baka54 » 18 mai 2011, 19:19

heu la je doit avoué que je connais pas trop la création de table en hidden ou "stocker" l'état de mes div tu aurais un exemple ?
Sinon j'ai essayer de faire un truc j'ai mis un

<input type="submit" class="ok" value="RECHERCHER" onclick="<?php include "formemploi.php";?>" />

formemploi.php
<?php
$db = mysql_connect('localhost', 'root', '');

// on sélectionne la base
mysql_select_db('search',$db); 

if (isset ($_GET['villes']) && isset ($_GET['secteur']) && isset ($_GET['poste'])){
if ($_GET['villes']=="#"){
	if ($_GET['secteur']=="#"){
		if ($_GET['poste']=="#"){
		echo '<center>Veuillez selectionner : <u>Un secteur d\'activité</u>, <u>un type de poste</u> et <u>une ville</u> Merci.</center>';
		}
	}
}
else{
$villes = $_GET['villes'];
$secteur = $_GET['secteur'];
$postes = $_GET['poste'];

// Creation et envoi de la requete
$query = "SELECT DATE_FORMAT(date, '%d-%m-%Y') as datefr,fonction,dep FROM $villes where secteur = '$secteur' AND postes = '$postes' ORDER BY date";

$result = mysql_query($query);

// Recuperation des resultats
while($row = mysql_fetch_row($result)){
$date = $row[0];
$fonction = $row[1];
$dep = $row[2];
echo "<div class=resultat><tr><ul><li>\n
<td>$date</td>\n
<td>$fonction</td>\n
<td align=center>$dep</td>\n
</li></ul></tr>\n</div>";

}
}
}
?>
et ensuite j'ai fait un echo de mes variables en dessous du submit (dans mon fichier index.php) mais bon y'a que la première qui vient c'est a dire que la 1ere ligne de ma table "exemple_table" de ma bdd qui apparais alors qu'il ya plusieur ligne d'information a afficher.

Hors mis bien sur les erreur d'index de mes variable vu que j'ai fait un echo de mes variable sans les déclarer je pensais étant donné qu'elle son déjà déclarer dans mon include que j'aurai pas besoin de les re-déclarer, mes div fait ce que je veux c’était presque sa.
<?php echo "<div class=resultat><tr><ul><li>\n
<td>$date</td>\n
<td>$fonction</td>\n
<td align=center>$dep</td>\n
</li></ul></tr>\n</div>";?>

bref mon astuce n'a pas fonctionné du moins pas complétement alors je vais essayer ton approche si bien sur j'ai un exemple car comme sa je voie pas trop j'avoue :oops:

merci pour ton aide et de ton temps en tout cas c'est sympa

Re: pb rechargement page apres submit

par moogli » 18 mai 2011, 17:42

bon alors bon, ça peut être complexe, mais sur le principe il te faut "stocker" l'état tes variables avant le submit pour refaire la même chose au nouvelle affichage.

Pour cela je verrais une fonction JS sur on submit qui remplis un champ de formulaire caché (hidden) avec un tableau contenant l'état de tout le monde.

ensuite lors de l'affichage de la recherche tu utilise les valeur récupérées dans le formulaire ($_GET ou $_POST suivant ton formulaire) pour initialiser le tout.

tu peut serialiser ou utiliser json pour "stoker" ton tableau d'info dans le formulaire (au pire tu fait un champ caché par état des div ;) ).

@+

Re: pb rechargement page apres submit

par baka54 » 18 mai 2011, 17:33

merci pour ta réponse tu a raison je suis trop dans mon truc :s
En faite mon souci c'est que des que je clique sur rechercher, sa annule ma gestion des div en js du au rechargement de ma page :
exemple:

Code : Tout sélectionner

$(document).ready(function(){ $(".ok").click(function(){ $(".haut").show(); $(".bas").show(); $(".news1").hide(); $(".news2").hide(); $(".news3").hide(); $(".news4").hide(); });
pour les detail :

.ok c'est la class du submit
.haut et .bas des boutton que j'ai creer et qui serve pour monté descendre du texte
.news1 a 4 c'est les div de mes news qui son sur la page

ce qui se passe:
quand je lance ma page j'ai mes news plus un formulaire, une fois le formulaire "liste déroulante" choisi, on clique sur rechercher, sa va me cacher mes news via le script si dessus.
mais du au submit la page se recharge et donc les news reviennent.
j'espere que c'est plus clair

Merci en tout cas de ta patience et de ton temps

Re: pb rechargement page apres submit

par moogli » 18 mai 2011, 17:17

salut,

désolé mais ton explication est incompréhensible.

de plus </input n'existe pas. si tu veux faire du xhtml c'est <input name etc />

@+

pb rechargement page apres submit

par baka54 » 18 mai 2011, 16:32

Re bonjour,
Alors je me represente devant vous devant ce petit souci bien embêtant :

Lorsque je fait un submit après mon formulaire il recharge toute ma page si je met onclick="return false;" mon scripte ne se lance pas ah oui, quand je clique sur mon submit, je lance un scripte derrière:
<input type="submit" class="ok" value="RECHERCHER" ></input>
</form>

<div class="php1">
<?php include "formemploi.php";?>
</div>
<div class="haut">haut</div>
<div class="bas">bas</div>
formemploi.php
<?php
$db = mysql_connect('localhost', 'root', '');

// on sélectionne la base
mysql_select_db('search',$db); 

if (isset ($_GET['villes']) && isset ($_GET['secteur']) && isset ($_GET['poste'])){
if ($_GET['villes']=="#"){
	if ($_GET['secteur']=="#"){
		if ($_GET['poste']=="#"){
		echo 'veuillez selectionné : Un secteur d\'activité, un type de poste et une ville Merci.';
		}
	}
}
else{
$villes = $_GET['villes'];
$secteur = $_GET['secteur'];
$postes = $_GET['poste'];

// Creation et envoi de la requete
$query = "SELECT DATE_FORMAT(date, '%d-%m-%Y') as datefr,fonction,dep FROM $villes where secteur = '$secteur' AND postes = '$postes' ORDER BY date";

$result = mysql_query($query);

// Recuperation des resultats
while($row = mysql_fetch_row($result)){
$date = $row[0];
$fonction = $row[1];
$dep = $row[2];
echo "<div class=resultat><tr><ul><li>\n
<td>$date</td>\n
<td>$fonction</td>\n
<td align=center>$dep</td>\n
</li></ul></tr>\n</div>";

}
}
}
?>
Mon véritable souci c'est qu'en rechargent la page après mon submit, sa recharge la page a l’état de départ, donc je voudrait après que le script est finit de s’exécute de stopper le rechargement de la page ou du moins trouvé un moyen pour faire que si je clique sur mon submit "rechercher" sa cache mes div haut et bas j'ai déjà essayer de mettre en fin de scripte un return false; mais sa n'a pas marché et sinon je ne vois qu'une solution iframe ou frame mais bon sa j'en veux pas :s

Merci pour votre aide :)