Champ de recherche

  • Auteur de la discussion Auteur de la discussion Motri
  • Date de début Date de début
WRInaute discret
Bonjour,

j'ai un champ de recherche qui marche bien :
Code:
$form = '<form role="search" method="get" id="searchform" action="' . home_url( '/' ) . '" >
    <input type="text" value="Rechercher" name="s" id="s" />     
    <input type="submit" id="searchsubmit" value="'. esc_attr__('Search', 'wpzoom') .'" />
	</form>';

J'aurai aimé que lorsque l'on clique sur l'input, le mot "Rechercher" disparaisse et que si on ne tape rien, il réapparaisse (comme la plupart des champs de recherches).
J'ai trouvé une solution sur internet mais ça me fait une erreur 500. Je pense que c'est du au fait que je mélange php/html/js et qu'il doit y avoir une histoire de guillemets mais je ne trouve pas comment régler ce problème :

Code:
    $form = '<form role="search" method="get" id="searchform" action="' . home_url( '/' ) . '" >
    <input type="text" value="Rechercher" name="s" id="s" Onclick="javascript: if(this.value == 'Rechercher')this.value=''" Onblur="javascript: if(this.value == '')this.value='Rechercher'" />     
    <input type="submit" id="searchsubmit" value="'. esc_attr__('Search', 'wpzoom') .'" />
	</form>';

Merci d'avance.
 
WRInaute accro
C'est un form en GET, c'est le browser qui construit l'URL. Le seul moyen c'est de faire un form en POST et de rediriger (pr l'éventuelle pagination).
Ça s'appelle la technique PRG: http://fr.wikipedia.org/wiki/Post-Redirect-Get

NB: erreur 500 avec une erreur de PHP, c'est surement le display_errors à Off.
 
WRInaute discret
La recherche fonctionne très bien en get. Ce que je n'arrive pas c'est juste le fait d'afficher le mot "Rechercher" dans le input et de le faire disparaître lors d'un clic.
 
WRInaute accro
Ooops sry. Ben c'est du à ton erreur PHP alors. Et ton serveur te dira exactement où si tu actives l'affichage des erreurs.
 
WRInaute discret
Il va me dire qu'il y a une parse erreur à la ligne que j'ai rajouté mais ça va pas m'avancer. Je recherche juste la bonne syntaxe, je me perd avec tous ces guillemets...
 
WRInaute accro
Déjà on utilise le PHP que là ou c'est nécessaire, comme ça c'est bien plus simple/clean.
De plus, on a bcp plus facile avec un éditeur avec syntax highlighting.

Exemple à la con:
Pas bien:
PHP:
<span class="syntaxdefault"><br /></span><span class="syntaxkeyword"><?</span><span class="syntaxdefault">php<br />echo </span><span class="syntaxstring">'<p>'</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$title</span><span class="syntaxkeyword">.</span><span class="syntaxstring">'</p>'</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault"> </span>

Bien:
PHP:
<span class="syntaxhtml"><br /><p><span class="syntaxdefault"><?php echo $title</span><span class="syntaxkeyword">;</span><span class="syntaxdefault">?></span></p><br /></span>
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut