lefsaker Skrevet 19. april 2007 Del Skrevet 19. april 2007 (endret) Jeg driver for tiden å lager et mini-brukersystem, og har kommet så langt at jeg skal inplentere en søkefunksjon. Det jeg ønsker er et tekstfelt man fyller inn feks. "Kanin", og hvis filen "Kanin.php" fins i katalogen "id" så skal den include "kanin.php" Hvis det ikke finnes en fil med det navnet du søker etter, så skal det komme en feilmelding. Jeg aner ikke hvordan jeg skal lage dette, så jeg håper på hjelp herfra. Endret 19. april 2007 av lefsaker Lenke til kommentar
Runar0 Skrevet 19. april 2007 Del Skrevet 19. april 2007 ta ein titt på file_exists() og include() Lenke til kommentar
lefsaker Skrevet 19. april 2007 Forfatter Del Skrevet 19. april 2007 Hmm... Skjønte ikke det helt. Hva med dette: Man fyller inn "kainin" i tekstfeltet, og når man klikker "søk" så blir man sendt til "?userid=kanin" Er det lettere å få til? Lenke til kommentar
Knebba Skrevet 19. april 2007 Del Skrevet 19. april 2007 if(file_exists($sokestring)){ include("$sokestring.php"); } else { echo "Filen finnes ikke"; } der har du en veldig enkel versjon av måten shadows0 ville at du skulle gjøre det på. Lenke til kommentar
Bakke Skrevet 19. april 2007 Del Skrevet 19. april 2007 Tror ikke variabelen vil telle som noe annet enn en string om du har hermetegn rundt den. Scriptet bør kansje være slik: if(file_exists($sokestring)){ include("{$sokestring}.php"); } else { echo "Filen finnes ikke"; } Lenke til kommentar
lefsaker Skrevet 19. april 2007 Forfatter Del Skrevet 19. april 2007 Nå har jeg prøvd i omtrent en time med å sette den sammen med et skjema, men jeg får det ikke til Kunne noen hjulpet litt? Lenke til kommentar
kikkazz Skrevet 20. april 2007 Del Skrevet 20. april 2007 PHP <?php echo " <form action='' method='GET'> <input type='text' name='search'> <input type='submit' name='Submit' value='Search'> </form>"; if(isset($_GET['search']) && !empty($_GET['search']) ){ $searchstring = $_GET['search']; if(is_file("{$searchstring}.php"){ include("{$searchstring}.php"); } else{ echo "Finner ikke filen!"; } ?> Lenke til kommentar
ilpostino Skrevet 20. april 2007 Del Skrevet 20. april 2007 jeg hadde en lignende søkefunksjon på hjemmesiden min før. det scriptet har jeg fremdeles og kan legge det ut her når jeg kommer hjem. i det scriptet kunne brukeren velge mellom tre mapper det skulle søkes i gjennom en drop-down-meny for så å skrive inn hva det skulle søkes etter. når en trukket på "Søk" søkte en etter en gitt streng i filene som lå i den undermappen en ville søke i. dene herligheten er laget i php Lenke til kommentar
lefsaker Skrevet 20. april 2007 Forfatter Del Skrevet 20. april 2007 <?php echo " <form action='' method='GET'> <input type='text' name='search'> <input type='submit' name='Submit' value='Search'> </form>"; if(isset($_GET['search']) && !empty($_GET['search']) ){ $searchstring = $_GET['search']; if(is_file("{$searchstring}.php"){ include("{$searchstring}.php"); } else{ echo "Finner ikke filen!"; } ?> 8427407[/snapback] Får feilmelding når jeg prøver det: Parse error: syntax error, unexpected '{' in C:\wamp\www\brukerstatus\search.php on line 12 Lenke til kommentar
Runar0 Skrevet 20. april 2007 Del Skrevet 20. april 2007 mangler ein ) if(is_file("{$searchstring}.php")){ Lenke til kommentar
lefsaker Skrevet 20. april 2007 Forfatter Del Skrevet 20. april 2007 Da får jeg feilen: Parse error: syntax error, unexpected $end in C:\wamp\www\brukerstatus\search.php on line 20 Lenke til kommentar
grimjoey Skrevet 20. april 2007 Del Skrevet 20. april 2007 (endret) mangler en } antakelig helt til slutt før ?> er ikke (isset($_GET['search']) && !empty($_GET['search'])) litt smør på flesk? Endret 20. april 2007 av grimjoey Lenke til kommentar
Runar0 Skrevet 20. april 2007 Del Skrevet 20. april 2007 (endret) nei, isset finner ut om indexen search er satt. Mens empty tester om variablen er tom. Vist du kutter ut isset og indexen ikkje er satt vil du ende opp med ein Notice: Undefined index. Edit: Du mangler } før else PHP <?php if(isset($_GET['search']) && !empty($_GET['search']) ){ $searchstring = $_GET['search']; if(is_file("{$searchstring}.php"){ include("{$searchstring}.php"); } } else{ echo "Finner ikke filen!"; } ?> Endret 20. april 2007 av Shadows0 Lenke til kommentar
grimjoey Skrevet 20. april 2007 Del Skrevet 20. april 2007 (endret) holder vel med isset(). den må jo nødvendigvis være (empty() = false) dersom den ikke er satt. jeg ville brukt: if($searchstring = $_GET['search']) { ... }... da setter du variabelen og sjekker at indexen er gyldig i $_GET['search']. jeg tror at variabelsetting returnerer verdien av variabelen. derfor sjekker dette også at den er ikke er tom. håper noen kan bekrefte dette. Endret 20. april 2007 av grimjoey Lenke til kommentar
ilpostino Skrevet 20. april 2007 Del Skrevet 20. april 2007 Her er scriptet jeg har brukt for å søke i undermapper. Klikk for å se/fjerne innholdet nedenfor <?php //index @ serials $tittel= "Einar's homepage: Scripts"; $content = "Einar Herstad-Hansen, ilpostino, postmann"; $keywords = "Einar Herstad Hansen, Einar, Herstad, Hansen, links, multimedia, search, download, warez, wares, crack, hack"; $description = "Welcome to mye homepage"; $tekst = "Search engine"; @include("../includes/head.inc"); ?> <script language="JavaScript"> function VerifyData() { if (document.SearchForm.search.value == "") { alert ("The search string cannot be empty."); return false; } else if (document.SearchForm.search.value == "*") { alert ("You cannot use * in the search string."); return false; } else return true; } </script> <?php if ($_GET['action'] == 'search') { $directory = opendir($_POST['Mappe']); $filename = $_POST['filesearch']; $Mappe = $_POST['Mappe']; echo ("Your search for $Mappe in <i>$filename</i> returned these results: <p>"); while (false !== ($file = readdir($directory))) { $file_extension = strrchr($filename, '.'); $filesplit = explode(".", $file); if(eregi($filename, $file)) { for($index = 0; $index < count($file); $index++) { echo("<a href=\"$Mappe/$file\">$filesplit[0]</a><br>"); } } } closedir($directory); echo("<p>"); } else if (!isset($_GET['action'])) { echo ("<p>Search strings containing vendor or complete name of program gives the more acurant search.</p>"); echo ("<p>If there are any serials you think I miss please mail them to me or notify me about it in any way.</p>"); echo ("<form method=\"POST\" action=\"$_SERVER[php_SELF]?action=search\" name=\"SearchForm\" onSubmit=\"return VerifyData()\">"); echo ("<table border=\"0\"><tr><th>Search string: </th><td><input type=\"text\" name=\"filesearch\" size=\"40\" maxlength=\"40\"></td>"); echo ("</tr><tr><th>Serial, KeyGen or Crack: </th><td>"); echo ("<select size=\"1\" name='Mappe'>"); echo ("<option value='serials'>Serials </option>"); echo ("<option value='cracks'>Cracks </option>"); echo ("<option value='KeyGen'>KeyGen </option>"); echo ("</select></td></tr><tr><td colspan=\"2\" align=\"center\"><input type=\"submit\"><input type=\"reset\"></th>"); echo ("</td></tr></table></form>"); } @include("../includes/footer.inc"); ?> Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå