Vous n'êtes pas connecté.



Bonjour,
J'ai fait un script (méchament compliqué) en php pour faire une recherche dans ma base de donnée. Le probleme c'est que le script ne fonctionne pas si on appuie sur la touche entrer. Je voudrai donc bloquer cette touche avec une alerte en js mais je sais pas comment faire :'( Je pense qu'il faut faire quelquechose du meme principe que onclick=return lafontion() mais je trouve pas l'equivalent de "click" pour la touche entrer (ontoucheentrer ca marche pas :'( lol)
Merci d'avance
Math
TOP Hors ligne








<script LANGUAGE="JavaScript">
alert('Ici, c\'est votre message!');
</SCRIPT>
trouvé sur l'editeur javascript... je sai pas si c'est vraiment ca que tu cherches, ca affiche une fenetre alerte au chargement de la page... a toi de mettre le texte que tu ve...
ciao !

TOP Hors ligne


Et bien en fait, le pb est que l'action qu'aura la touche Entrée correspond à l'action qu'il y aura dans l'argument action="" de ton <form> !
Donc, plutôt de vouloir désactiver la touche Entrée, peut-être y a-t-il moyen de lui attribuer la bonne action.
Tu as mis quoi dans <form action=""> ?
TOP Hors ligne


Donc ton formulaire contient des bugs de programmation !
TOP Hors ligne



Merci de voler à mon aide !
En fait quand on clique sur "Recherche" on fait recharger la page (action="recherche.php") mais si appuie sur entrée, la page est rechargée sans que les script soient executés.
Voila mon script : j'ai essayer d'enlever tout ce qui pouvais etre inutile mais j'ai peut etre oublié des trucs...
<?
$titre = "Résultats pour $Cherche";
include ("admin/serveur.php");
include ("admin/debug.php");
// Nom de la page
$page = "recherche.php";
if (isset($recherche))
{
// On sait ce que l'on recherche
if ($DebugRecherche)
{
print("Affichage du resultat de la recherche");
}
// Pour DEBUG
if ($DebugRecherche)
{
print("$Cherche");
}
// Connexion à la base de données
// En ligne
@mysql_connect("$host","$base","$pass");
// En local
// @mysql_connect("$host", "$user", "$pass");
// Selection de la base de données qui porte le meme nom que votre login
$select_base = @mysql_selectdb("$base");
// Conversion des accents en HTML
$Cherche=htmlentities($Cherche, ENT_QUOTES);
print("Résultats de la recherche pour \"$Cherche\");
//
// Requete
$query = "select MotsCles.MotCle,
Pages.Description,
Pages.URL
from Pages, MotsCles
where MotsCles.MotCle like '%$Cherche%' and
(MotsCles.IdPage=Pages.IdPage)
order by MotsCles.MotCle";
// Pour DEBUG
if ($DebugRecherche)
{
print("Query: $query");
}
// Exécuter la requête et afficher le résultat
$result = mysql_query($query);
// Récupérer le nombre de colonnes
$NbCol = mysql_num_rows($result);
print("<table align='left' border=0>");
// Récupérer le nombre de champs dans la table à afficher
$NbChamps = mysql_num_fields($result);
// Ajouter les lignes dans le tableau
$Ligne = 0;
while ($Ligne < $NbCol)
{
// Parcourir la table par colonne
print("<tr>");
// Placer le résultat de la requête dans un tableau
$TableResultat = mysql_fetch_array($result);
// Récupérer le résultat
$Description = $TableResultat["Description"];
$URL = $TableResultat["URL"];
print("<td>$MotCle</td>");
print("<td><br>$Description");
print("<br><a href=\"$URL\">$URL</a>");
// Passer à la colonne suivante
++$Ligne;
}
// Si il n'y a pas de résultats a la recherche
if ($NbCol <> 0){
}else{
echo 'Aucun résultat n\'a été trouvé';
}
// Fin de la table
print("</td></tr></table>");
// Supprimer défintion de la variable "recherche"
unset($recherche);
}
else
{
// Afficher le formulaire de recherche
if ($DebugRecherche)
{
print("Affichage du formulaire");
}
?>
<!-- Formulaire de recherche -->
<form method="post" action="recherche.php" name="recherche">
<center>
<input name="Cherche" type="text" size="16" value="">
<input type="submit" name="recherche" value="Recherche">
</center>
</form>
<?php
}
?>
Voila
Merci d'avance
TOP Hors ligne


Ce qui est sûr, c'est que l'erreur ne vient pas de ton script !
La touche Entrée exécute l'action définie dans action="" au même titre que ton submit.
Cependant, je ne voit pas ce qui l'empêche dans ce cas de faire son boulot....
Enlève method="post" de ton <form>, il ne sert à rien et à bcp de chance d'être à l'origine de ton pb !
Dis-nous quoi...
Ju.
TOP Hors ligne



et non ca ne marche pas. Si ca peut vous aider j'ai trouvé quelquechose:
Quand on appuie sur la touche entrée, dans l'adresse devient :
et quand on clic sur "rechercher" c'est :
ttp://127.0.0.1/recherche.php?Cherche=cinema&recherche=Recherche
J'ai essayé d'ajouter "&recherche=Recherche" a la suite de "http://127.0.0.1/recherche.php?Cherche=cinema" quand on appuie sur la touche entrée et ca marche!
Je pense donc qu'il faut trouver un moyen d'ajouter "&recherche=Recherche" a la suite de l'adresse...
Merci de votre soutient moral :wacko:
TOP Hors ligne



Personne n'a d'idée ??
TOP Hors ligne


MaTh-,Friday 27 February 2004, 14:14 a écrit:
et non ca ne marche pas. Si ca peut vous aider j'ai trouvé quelquechose:
Quand on appuie sur la touche entrée, dans l'adresse devient :et quand on clic sur "rechercher" c'est :
ttp://127.0.0.1/recherche.php?Cherche=cinema&recherche=RechercheJ'ai essayé d'ajouter "&recherche=Recherche" a la suite de "http://127.0.0.1/recherche.php?Cherche=cinema" quand on appuie sur la touche entrée et ca marche!
Je pense donc qu'il faut trouver un moyen d'ajouter "&recherche=Recherche" a la suite de l'adresse...
Merci de votre soutient moral :wacko:
Non non, ça n'a aucun rapport, essaye avec Google, lorsque tu cliques sur Recherche et que tu fais Entrer, ce n'est pas la même adresse mais la valeur du bouton d'envoi est affichée !
TOP Hors ligne


remplzce method="post" par method="GET"
TOP Hors ligne



Ca ne marche pas :'(:'(:'(:'( 

Merci quand meme 
Math
TOP Hors ligne