Hilfe- suche einzelner scripts ermöglichen durch ein suchformular

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Hilfe- suche einzelner scripts ermöglichen durch ein suchformular

    Hallo

    Ich habe ein Problem... Ich bastel schon seit 3 tagen rum und ich komme einfach nicht zum Ziel.

    Ich möchte über nur ein Suchformular die möglichkeit haben drei Scripts einzeln zu durchsuchen

    Code:
    <form method="GET" name="form" action="search.php">
    <input type="text" name="suchwort" size="50" maxlength="70" class="textfeld" value="">&nbsp;
    <select name="type">
    <option name="script1" value="script1" selected>script1</option>
    <option name="script2" value="script2">script2</option>
    <option name="script3" value="script3">script3</option>
    </select>&nbsp;<input type="submit" value="Suchen" class="submit">
    in allen 3 scripts soll später das suchformular vorhanden sein
    1 php script suchen.php?suchworte=$suchwort
    2 perl scrips cgi-bin/sehen.pl?suchworte=$suchwort
    3 perl scrips cgi-bin/web/sehen.pl?suchworte=$suchwort


    Ich habe etwas mit



    PHP-Code:
    <?
    if ($_GET['script2']) {
    echo header("Location: $url/cgi-bin/sehen.pl?suchworte=$suchwort/");
    } else {
    ?>
    Experimentirt aber ohne erfolg

    Ihr seit meine letzte Hoffnung ...


    Danke das ihr euch (so hoffe ich) meinem Problem animmt

    Gruß ZipoWolf
    Zuletzt geändert von Zipowolf; 19.07.2006, 01:58.

  • #2
    Re: Hilfe- suche einzelner scripts ermöglichen durch ein suchformular

    Original geschrieben von Zipowolf
    Experimentirt aber ohne erfolg
    was heißt denn ohne erfolg? bekommst du eine fehlermeldung?

    setz mal error_reporting(E_ALL); an den anfang des scriptes.
    bevor du auf $_GET variablen zugreifst, solltest du mit isset() prüfen

    woher kommt $suchwort im header? wird die variable davor aus $_GET geholt?

    Kommentar


    • #3
      Eine Selectbox hat einen Namen, die Optionen darin nur Values. Ein print_r($_GET) hätte dich über type => 'scriptx' stolpern lassen ... nächtes mal dann.

      Kommentar


      • #4
        nochmals hallo


        Die scripts sind alle schon vorbereitet für die suche.

        Ich versuche durch die variablen in der url, die von dem suchformular erzeugt werden, zu dem bestimmten script weiterzuleiten mit dem suchwort welches zum zeitpunkt der eingabe gesucht wird

        für das suchwort
        PHP-Code:
        <? echo $_GET["suchwort"]; ?>
        für die übergabe zu welchen script das gehen soll
        PHP-Code:
        <? echo $_GET["type"]; ?>

        das ganze soll ausgewertet und zu dem script weitergeleitet werden das ausgewählt wurde
        serarch.php soll diese funktion dann übernehmen


        für das weiterleiten dachte ich mir würde
        PHP-Code:
        <?
        if ($_GET['script2']) {
        echo header("Location: $url/cgi-bin/sehen.pl?suchworte=$suchwort/");
        } else {
        ?>
        am besten geeignet sein

        Leider habe ich nicht genug erfahrung mit php, und fummel schon seit mereren tagen an solch ein system... aber irgentwie scheint bei mir nicht wirklich die Sonne im Hirn zu brennen

        Ich hoffe ich habe es genaugenug nun erklärt, und hoffe jemand könnte mir helfen bzw die Sonne bei mir zünden *g*

        Gruss Zipowolf

        Kommentar


        • #5
          hast du überhaupt die antworten gelesen?

          ein formular mit GET zu übertragen ist auch hm, eigenartig.

          warum schreibst du überall "echo" hin - echo $_GET, echo header() ?

          Kommentar


          • #6
            Ich habe schön alles durchgelesen...

            Habe es nun hinbekommen so das es funktionirt
            ob es eine sichere art ist weiss ich nicht bin mit php noch nicht so per du

            Im grunde Erstelle ich Projekte bzw kriege es hin alles zu ändern das alles passt (meist nur designänderungen)

            Aber wenn es drumm geht selbst was in php dazuzudichten mache ich mir es noch recht schwer.

            PHP-Code:
            <?php
            if($_GET['type'] == "Robot")
            {
             echo 
            header("Location: $url/search.php?suchwort=$suchwort");
            }
            if(
            $_GET['type'] == "Webkatalog")
            {
             echo 
            header("Location: $url/cgi-bin/sehen.pl?suchworte=$suchwort");
            }
            if(
            $_GET['type'] == "Crawler")
            {
             echo 
            header("Location: $url/cgi-bin/crawler/sehen.pl?suchworte=$suchwort");
            }
            else
            {
            ?>
            <?
            }
            ?>
            Die datei heisst nun jump.php diese leitet die anfragen vom suchformular nun zum richtigen script weiter so wie ich es wollte.

            Für verbesserungsvorschläge bin ich offen...

            Wiegesagt verstehe von php nicht viel...im grunde fast garnichts,
            von daher weiß ich nicht ob dieser codeschipsel optimal bzw sicher ist.
            deswegen kann ich auch keine komentare dazu abgeben warum alles in echo oder mit $_GET ich gemacht habe.

            Im grunde war ich hier im Forum um Hilfe zu bekommen, aber wirklichen denkanstoss habe ich nicht bekommen, stadessen nur fragen die ich hätte eh nicht fachlich beantworten hätte können.
            Bitte nicht böse sein, sicherlich hätte ich euch das schreiben können das ich keine Erfahrung habe, aber denke das hätte man sehen können im beitrag...

            Das Forum ist auf alle fälle super, und auch schon einige sachen gefunden die ich gut selbst nutzen kann, werde bestimmt öfters vorbeischaun, bitte habt dann nachsicht mit mir, wenn ich wieder dumme fragen stelle...

            Gruß Zipowolf
            Zuletzt geändert von Zipowolf; 20.07.2006, 13:42.

            Kommentar


            • #7
              hi
              z.B. kannste Switch benutzen
              PHP-Code:

                  
              if( empty( $_GET['type'] ) ) $_GET['type'] = '';
                  switch( 
              $_GET['type'] ){
                      case 
              'Robot':
                          
              header("Location: $url/search.php?suchwort=$suchwort"); exit();
                          break;
                      case 
              'Webkatalog':
                          
              header("Location: $url/cgi-bin/sehen.pl?suchworte=$suchwort"); exit();
                          break;
                      case 
              'Crawler':
                          
              header("Location: $url/cgi-bin/crawler/sehen.pl?suchworte=$suchwort"); exit();
                          break;
                      default:
                          
              header(/* Hier die Default seite wenn nix zutrifft */); exit();
                          break;
                  } 
              unbedingt exit(); nach dem Header benutzen ! sonst wird das script bis zum schluss ausgeführt (wenn du das willst)

              hier noch eine andere möglichkeit

              bei deinem letzten script benutze else und mach das letzte ?><?php raus

              PHP-Code:

              <?php
              if( empty( $_GET['type'] ) ) $_GET['type'] = '';
                  if(
              $_GET['type'] == "Robot"){
                      
              header("Location: $url/search.php?suchwort=$suchwort"); exit();
                  } else if(
              $_GET['type'] == "Webkatalog"){
                      
              header("Location: $url/cgi-bin/sehen.pl?suchworte=$suchwort"); exit();
                  } else if(
              $_GET['type'] == "Crawler") {
                      
              header("Location: $url/cgi-bin/crawler/sehen.pl?suchworte=$suchwort"); exit();
                  } else {
                      
              # der Bereich ist das gleiche wie oben bei default
                  
              }
              ?>
              das überprüft nur ob die Variable leer ist, wenn sie leer ist wird sie mit einem leeren String gefüllt
              PHP-Code:
              if( empty( $_GET['type'] ) ) $_GET['type'] = ''
              gruß SuRaXor

              Kommentar

              Lädt...
              X