Suche funktioniert nicht. Anhängen eines “<?" An die Suche

Ich habe diesen Code in meinem Fußzeilen-Widget eingegeben und das Suchfeld wurde schließlich angezeigt:

<form method="get" id="searchform" action="/"> 
<input type=”text” value="" name="s" id="s" />

Aber wenn ich eine Suche starte, ein <? wird an die Abfrage angehängt, was dazu führt, dass die Seite nicht gefunden wird. Sogar das Entfernen des <? bringt mich nicht zu einer Ergebnisseite.

Für mich scheint der PHP-Code in Ordnung zu sein. Ich überprüfe und suche searchform.php im selben Ordner wie der Rest meiner Seitenvorlagen.

Dies ist auf http://dsiinfo.webfactional.com

Ich habe mehrere Suchen durchgeführt und habe ein paar Stunden damit verbracht, aber ich kann nicht herausfinden, was das Problem verursacht. Vielen Dank!

Solutions Collecting From Web of "Suche funktioniert nicht. Anhängen eines “<?" An die Suche"

Das Formular in Ihrem HTML-Code sieht folgendermaßen aus:

 

PHP wird in diesem Fragment nicht geparst, also denke ich, dass Sie keine PHP-Datei, nur normales HTML, enthalten haben. Fügen Sie den Suchformularcode in eine PHP-Datei ein.

Sie könnten beispielsweise eine function wie diese zu Ihrer functions.php hinzufügen:

 function t5_search_form( $args = array () ) { $defaults = array ( 'form_id' => 'searchform', 'name' => 's', 'charset' => get_bloginfo( 'charset' ), 'label' => esc_attr__( 'Search', 't5_theme' ), 'action' => site_url(), 'value' => esc_attr( apply_filters( 'the_search_query', get_search_query( FALSE ) ) ), 'submit' => esc_attr__( 'Search', 't5_theme' ), 'template' => ' ', 'print' => TRUE ); $options = array_merge( $defaults, $args ); $options = apply_filters( 't5_searchform', $options ); extract( $options ); $autofocus = ( is_search() and 0 === (int) $GLOBALS["wp_query"]->found_posts ) ? ' autofocus' : ''; $form = sprintf( $template, $form_id, $charset, $name, $label, $value, $autofocus, $submit, $action ); $print and print $form; return $form; } 

… und rufen Sie diese function wo immer Sie es brauchen mit t5_search_form(); .

Verwenden Sie auch nicht $_SERVER['PHP_SELF']; , benutze echo home_url(); stattdessen.