Hulp nodig voor zoekscript

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Omer Dost

Omer Dost

24/11/2014 13:39:15
Quote Anchor link
Hoi allemaal,

Ben nieuw hier maar heb direct een vraag. Ik ben als vrijwilliger bezig met de webdesign van een amateur voetbalclub bij mij in de buurt. Ik heb niet zo veel kennis van PHP dus ben ik op zoek gegaan naar een zoekscript. Dat wou ik als voorbeeld nemen maar helaas kon ik geen goede vinden. Deze scripts zoeken namelijk de gehele site door op woorden. Wat ik nodig heb is slechts een soort redirect script op basis van de aangegeven woorden. Zoiets:

- Men typt een zoekwoord in het zoekveld en klikt op zoek
- In MySQL of txt bestand woorden linken met pagina's:
Bijv. "stand" , "goal" , "goals" , "doelpunten" -> "stand.html"
- De script controleert het woord en redirect de bezoeker naar de pagina

That's it. Kunnen jullie mij globaal aangeven hoe ik dit moet aanpakken?
 
PHP hulp

PHP hulp

20/04/2024 16:07:57
 
- Ariën  -
Beheerder

- Ariën -

24/11/2014 13:46:02
Quote Anchor link
het ligt er aan of je een tesktbestand gebruikt of een database.
Ikzelf zou een MySQL-database adviseren, waarin je een tabel maakt met de woorden, en de pagina's.
Een SELECT pagina FROM zoekwoorden WHERE woord = 'stand' zal dan voldoende moeten zijn.
 
Omer Dost

Omer Dost

24/11/2014 17:40:42
Quote Anchor link
Duidelijk.

En daarmee het resultaat tonen kan ik nog wel. Maar hoe stuur je het direct naar de desbetreffende pagina?
 
- Ariën  -
Beheerder

- Ariën -

24/11/2014 18:05:31
Quote Anchor link
Met een location-header. Let wel dat je geen HTML ervoor het staan. Dat vindt PHP niet zo leuk.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
header('location: http://www.site.nl?page=doelpunten');
?>
Gewijzigd op 24/11/2014 18:05:54 door - Ariën -
 
Omer Dost

Omer Dost

24/11/2014 21:52:53
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?php
$connect
=mysql_connect("localhost","user","pass");
mysql_select_db('dbnaam',$connect);

if(!$connect)
    print 'Could not connect to the database';
    
if(isset($_GET['search']))
    {

    $inp = Clean($_GET['inpname']);
    $sQuery="SELECT Link FROM Adres WHERE Zoekwoord LIKE '%".$inp."%' ";
    $r = mysql_query($sQuery) or die(mysql_error());
    if(mysql_affected_rows()===0)
        echo "{$inp} is niet in de database.";
    else
        {
        while($row=mysql_fetch_array($r))
           header('location: $row');
        }
    }  
    
function
Clean($str)
{

    return mysql_real_escape_string(strip_tags(trim($str)));
}

?>


<form name="form" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="get">
<input name="inpname" type="text">
<input type="submit" name="search" value="Search">
</form>


Met echo "{$row[0]}"; kan ik de resultaat tonen. Maar de header snap ik niet helemaal. Enig idee hoe header('location: $row'); eruit moet zien? Ik krijg dan het volgende link te zien op het adresveld in de browser: http://www.site.nl/$row.

Zal wel makkelijk zijn, maar voor een beginner als ik best moeilijk :)
Gewijzigd op 24/11/2014 21:55:05 door Omer Dost
 
- Ariën  -
Beheerder

- Ariën -

24/11/2014 22:42:34
Quote Anchor link
Gewoon je variabele buiten de single-quote halen.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
           header('location: '.$row);

Houd wel rekening dat dat mysql-functies inmiddels worden afgeraden en dat je beter naar de functies van MySQLi of PDO kan kijken.
Gewijzigd op 24/11/2014 22:43:38 door - Ariën -
 
Omer Dost

Omer Dost

25/11/2014 01:01:41
Quote Anchor link
Bedankt Aar. Ik heb de volgende code gebruikt:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
header('location: '.$row);


Maar ik krijg nu www.site.nl/Array
Ik zal me in MySQLi en PDO verdiepen.
Gewijzigd op 25/11/2014 01:02:16 door Omer Dost
 
- Ariën  -
Beheerder

- Ariën -

25/11/2014 01:03:44
Quote Anchor link
$row['Link'] wordt het dan.
 
Omer Dost

Omer Dost

25/11/2014 01:08:15
Quote Anchor link
Dit werkte goed:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
header('location: ' .$row['Link']);


Bedankt voor je hulp :)
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.