Ankündigung

Einklappen
Keine Ankündigung bisher.

Suchfeld

Einklappen

Neue Werbung 2019

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

  • Suchfeld

    suche ein scrpt für ein suchfeld

    hallo,

    ich möchte für die schule auf meiner webseite (DLG-Traumreisen) ein suchfeld erstellen.
    man soll im suchfeld sein reiseziel eingeben können, z.b. new york.
    (wir haben bereits eine seite über new york)
    wenn man dann gesucht hat soll man auf die seite von new york weitergeleitet werden.

    ich bräuchte eine komplette beschreibung dafür, denn ich habe noch gar keinen plan von php.

    danke im vorraus.....hoffe das ist nicht zu viel arbeit

    euer stefan

  • #2
    Auch hier nochmal: poste einen Link zu der Seite, damit man sich das ansehen kann!
    Die Deutsche Rechtschreibung ist Freeware! Du darfst sie kostenlos nutzen, allerdings ist sie nicht Open Source, d.h. Du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

    Kommentar


    • #3
      die seite ist nicht online kann sie höchstens als anhang hinzufügen

      Kommentar


      • #4
        Schon mal was von Freehostern gehört? Z.B. bplaced?
        Die Deutsche Rechtschreibung ist Freeware! Du darfst sie kostenlos nutzen, allerdings ist sie nicht Open Source, d.h. Du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

        Kommentar


        • #5
          nein, da habe ich nie was von gehört, aber danke für die vorstellung ist das cool

          allerdings ist mir das für heute zu umständlich nur ein suchfeld zu erstellen

          als anhang hinzufügen funktioniert leider nicht......wenn du die seite sehen möchtest kann ich sie dir per e-mail schicken.

          LG Stefan

          Kommentar


          • #6
            Also so eine Suche ist nicht trivial würde ich mal sagen. Ich würde dir reaten, eher etwas einfacheres zu implementieren, wenn du garkeine Ahnung von PHP hast, etwa ein Kontaktformular. Abgesehen davon ist es durchaus möglich bis Donnerstag sich die Grundlagen in PHP anzueignen und dann etwas wie ein Kontaktformular zu "programmieren": http://tut.php-quake.net/de/

            Nen bisschen Eigeninitiative muss natürlich vorhanden sein...

            Kommentar


            • #7
              PHP darfst du also benutzen, wie sieht es mit MySQL aus, auch erlaubt?

              Zitat von codexstefan Beitrag anzeigen
              wenn du die seite sehen möchtest kann ich sie dir per e-mail schicken.
              Auf keinen Fall
              Die Deutsche Rechtschreibung ist Freeware! Du darfst sie kostenlos nutzen, allerdings ist sie nicht Open Source, d.h. Du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

              Kommentar


              • #8
                Mehr gibt's nicht, was du daraus machst, ist dein Bier
                Sollte für ein Schulprojekt aber reichen

                Script
                PHP-Code:
                <?php
                    
                // Prüfen, ob Script vom Formular aufgerufen wurde   
                    
                if (isset($_POST['search']) && strlen ($_POST['search']))
                    {
                       
                // Datenbankverbinung herstellen
                       
                $con mysqli_connect("Server""Benutzer""Passwort""Datenbankname")
                           or die(
                "MySQL-Fehler: " mysqli_error($con)); 
                       
                       
                // Begriffe auseinander nehmen
                       
                $keywords explode(" "$_POST['search']);
                       
                       
                // Abfrage vorbereiten
                       
                $query "select
                                   distinct
                                     `pageid`
                                   from
                                     `keywords`
                                   where "
                ;
                       
                       
                // Arrays initialisieren
                       
                $conditions = array();
                       
                $pageIds = array();
                       
                       
                // Bedingungen sammeln
                       
                foreach ($keywords as $keyword)
                          
                $conditions[] = "`keyword` like '%$keyword%'";
                       
                       
                // Bedingung zusammensetzen       
                       
                $condition implode (" or "$conditions);
                       
                       
                // Bedingung an Abfrage hängen
                       
                $query .= $condition;
                       
                       
                // Abfrage an Datenbank       
                       
                $result mysqli_query($con$query)
                          or die (
                "MySQL-Fehler: " mysqli_error($con));
                       
                       
                // Anzahl Treffer       
                       
                if (mysqli_num_rows($result) == 0)
                         echo 
                "Keine Treffer gefunden";
                       else
                       {
                           
                // Seiten-Ids sammeln
                           
                while ($row mysqli_fetch_assoc($result))
                              
                $pageIds[] = $row['pageid'];
                       }
                 
                       
                // Anzahl Ids
                       
                $num_rows count($pageIds);
                       
                       if (
                $num_rows)
                       {
                           
                // Abfrage vorbereiten
                           
                $query "select
                                       distinct
                                         `page`,
                                         `description`
                                       from
                                        `pages`
                                       where 
                                        `id`
                                       in "
                ;
                           
                           
                // IDs dranhängen           
                           
                $query .= "(" implode(","$pageIds) . ")";
                           
                           
                // Abfrage an Datenbank
                           
                $result mysqli_query($con$query)
                              or die (
                "MySQL-Fehler: " mysqli_error($con));
                           
                           
                // Wenn nur ein Treffer, dann direkt zur Seite weiterleiten
                           
                if ($num_rows == 1)
                           {            
                              
                $row mysqli_fetch_assoc($result);
                              die (
                $row['page']);
                              
                header("Location: " $row['page'] );
                              exit;
                           }
                           else
                           {
                              
                // Treffer anzeigen
                              
                echo "Mehrere Treffer<br>";
                              
                              while (
                $row mysqli_fetch_assoc($result))
                                 echo 
                "<a href='" $row['page'] . "'>" $row['description'] . "</a><br>";
                           }
                       }
                     }
                 
                ?>
                 <form action="<?php echo $_SERVER['SCRIPT_NAME']; ?>" method="post">
                 Suchbegriff: <input type="text" name="search"><br>
                 <input type="submit" name="submit" value="Suchen">
                 </form>
                MySQL-Dump
                Code:
                -- phpMyAdmin SQL Dump
                SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
                SET time_zone = "+00:00";
                
                -- --------------------------------------------------------
                
                --
                -- Tabellenstruktur für Tabelle `keywords`
                --
                
                CREATE TABLE IF NOT EXISTS `keywords` (
                `id` int(11) NOT NULL,
                  `keyword` varchar(32) NOT NULL,
                  `pageid` int(11) NOT NULL
                ) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=14 ;
                
                --
                -- Daten für Tabelle `keywords`
                --
                
                INSERT INTO `keywords` (`id`, `keyword`, `pageid`) VALUES
                (1, 'new', 1),
                (2, 'york', 1),
                (3, 'Freiheitsstatue', 1),
                (4, 'Times', 1),
                (5, 'Square', 1),
                (6, 'Queens', 1),
                (7, 'london', 2),
                (8, 'Trafalgar', 2),
                (9, 'Square', 2),
                (10, 'Themse', 2),
                (11, 'Tower', 2),
                (12, 'Bridge', 2),
                (13, 'queen', 2);
                
                -- --------------------------------------------------------
                
                --
                -- Tabellenstruktur für Tabelle `pages`
                --
                
                CREATE TABLE IF NOT EXISTS `pages` (
                `id` int(11) NOT NULL,
                  `page` varchar(32) NOT NULL,
                  `description` varchar(32) NOT NULL
                ) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ;
                
                --
                -- Daten für Tabelle `pages`
                --
                
                INSERT INTO `pages` (`id`, `page`, `description`) VALUES
                (1, 'newyork.html', 'New York'),
                (2, 'london.html', 'London');
                
                --
                -- Indexes for dumped tables
                --
                
                --
                -- Indexes for table `keywords`
                --
                ALTER TABLE `keywords`
                 ADD PRIMARY KEY (`id`);
                
                --
                -- Indexes for table `pages`
                --
                ALTER TABLE `pages`
                 ADD PRIMARY KEY (`id`);
                
                --
                -- AUTO_INCREMENT for dumped tables
                --
                
                --
                -- AUTO_INCREMENT for table `keywords`
                --
                ALTER TABLE `keywords`
                MODIFY `id` int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=14;
                --
                -- AUTO_INCREMENT for table `pages`
                --
                ALTER TABLE `pages`
                MODIFY `id` int(11) NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=3;
                Die Deutsche Rechtschreibung ist Freeware! Du darfst sie kostenlos nutzen, allerdings ist sie nicht Open Source, d.h. Du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

                Kommentar


                • #9
                  Zitat von uha Beitrag anzeigen
                  $conditions[] = "`keyword` like '%$keyword%'";
                  Hier fehlt noch der Kontextwechsel.

                  Kommentar


                  • #10
                    Zitat von tk1234 Beitrag anzeigen
                    Hier fehlt noch der Kontextwechsel.
                    Die Deutsche Rechtschreibung ist Freeware! Du darfst sie kostenlos nutzen, allerdings ist sie nicht Open Source, d.h. Du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

                    Kommentar


                    • #11
                      Zitat von uha Beitrag anzeigen
                      Doch. Der Wert in $keyword kommt über $keywords aus $_POST['search'] und damit vom User und ist als gefährlich anzusehen. An der Stelle liegt damit ein Kontextwechsel nach SQL vor der behandelt werden muss.

                      Kommentar

                      Lädt...
                      X