Just nu i M3-nätverket
Jump to content

Tillvägagångssätt - Sökfunktion - Med mera!


Rob Blake

Recommended Posts

Hejsan!

 

Jag håller på att göra en hemsida. Då jag egentligen inte alls har kunskaper kring detta så har jag provat mig fram och det har gått rätt så bra än så länge. Nu när jag har försökt mig på lite svårare saker så har jag stött på problem..

 

Jag vill göra en enkel sökfunktion på hemsidan. Vi kan utgå från tex en torrentsida. Om jag vill söka på en film så skriver jag filmens titel i sökboxen och sen så visas resultatet. Det är i princip det jag vill uppnå. Så vitt jag förstår så måste jag använda mig av php? Detta har jag ingen som alls kunskap av så ni hade gärna kunnat ge mig en kod så kanske jag förstår hur det fungerar!

 

Jag har en del andra funderingar också men tar denna först för att inte röra ihop allt! Hoppas ni förstod vad jag menade, annars är det bara att be mig förklara utförligare.

 

Tack på förhand!

Link to comment
Share on other sites

Mr Andersson

Du måste inte använda just php, det finns många andra sk server-script-språk, tex ASP eller ASP.NET.

 

Alla dessa är programmeringsspråk och det går inte att visa "en enkel kod" utan programmeringsspråk är nåt man måste lära sig. Man kan visserligen hämta script som gör både det ena och andra, men för att få det att funka ihop med just din sida, måste du veta vad du gör.

 

Oavsett vilket språk du väljer, så måste servern där din sida finns, ha stöd för språket.

Link to comment
Share on other sites

För att underlätta sökningen krävs en databas innehållandes filmtiteln och ev beskrivning och taggar som sökfunktionen söker i.

Att man bara skulle söka bland fysiska filer på disk är inte hållbar prestanda.

 

Säg att det är böcker man söker på (för att byta spår) så lägger man in en ny bok genom att fylla i ett formulär med Boktitel, författare, utgivningsår, språk, handling, bild på bokomslag m m. Detta formuläret lägger in informationen i en databas ( med hjälp av serverspråk) och sedan när man gör en sökning (fritextfält och en skickaknapp) så skriver man kod som söker på ett eller flera fält i databasen baserat på den söksträng man angett.

Link to comment
Share on other sites

För att underlätta sökningen krävs en databas innehållandes filmtiteln och ev beskrivning och taggar som sökfunktionen söker i.

Att man bara skulle söka bland fysiska filer på disk är inte hållbar prestanda.

 

Säg att det är böcker man söker på (för att byta spår) så lägger man in en ny bok genom att fylla i ett formulär med Boktitel, författare, utgivningsår, språk, handling, bild på bokomslag m m. Detta formuläret lägger in informationen i en databas ( med hjälp av serverspråk) och sedan när man gör en sökning (fritextfält och en skickaknapp) så skriver man kod som söker på ett eller flera fält i databasen baserat på den söksträng man angett.

 

Okej! Tack båda två. Jag antar att jag får läsa på lite.. Har ni någon bra tutorial hur man ska gå tillväga för att skapa en sökfunktion så får ni jätte gärna länka!

 

Det du sa Johan lät väldigt rimligt och det ska jag nog kunna fixa. Då jag inte har lagt upp hemsidan ännu så undrar jag om ni har tips på något bra webbhotell med rimligt pris och bra tjänster som gör det enkelt för mig att kunna sköta sidan.

Link to comment
Share on other sites

Allt är relativt.

Jag tycker att Loopia är bra. Binero likaså, men det kanske inte ligger i din prisklass?

Det finns billigare alternativ som one.com och surftown, men Supporten är lite lika bra.

Man får bättre support ju mer man betalar ;)

 

Förresten. Axentus.se är rätt bra och billiga också. De ligger lite billigare i pris men har ändå hyfsad bra support.

Link to comment
Share on other sites

Allt är relativt.

Jag tycker att Loopia är bra. Binero likaså, men det kanske inte ligger i din prisklass?

Det finns billigare alternativ som one.com och surftown, men Supporten är lite lika bra.

Man får bättre support ju mer man betalar ;)

 

Förresten. Axentus.se är rätt bra och billiga också. De ligger lite billigare i pris men har ändå hyfsad bra support.

 

Men vad behöver jag egentligen då? Är väl egentligen jag som ska svara på det men vet inte riktigt vad jag behöver för slags hosting..

 

Det jag ska använda hemsidan är för allmänheten att gå in på hemsidan och där hitta länkar till olika filmrecensioner. Man ska även kunna registrera sig så man får speciella rättigheter. Man ska inte ladda hem något från hemsidan eller dylikt.

 

Hoppas du kan rekommendera någon :)

Link to comment
Share on other sites

bestäm dig för ett server-side-språk.

Du säger dig inte kunna något - då är php bäst/enklast att lära och det finns bra med exempel att hitta på nätet.

 

På Loopia kan du köra både php och asp ( .net) under samma konto.

Binero kan kostnadsfritt ge dig ett linux-konto(php) om du registrerar dig för ett Windowskonto(asp, .net)

 

På axentus är det också en viruell miljö där du kan välja vilket skriptspråk du vill köra.

 

Så valet är upp till dig var du vill ha. MySQL-databaser ingår hos alla nämnda webbhotell.

Link to comment
Share on other sites

bestäm dig för ett server-side-språk.

Du säger dig inte kunna något - då är php bäst/enklast att lära och det finns bra med exempel att hitta på nätet.

 

På Loopia kan du köra både php och asp ( .net) under samma konto.

Binero kan kostnadsfritt ge dig ett linux-konto(php) om du registrerar dig för ett Windowskonto(asp, .net)

 

På axentus är det också en viruell miljö där du kan välja vilket skriptspråk du vill köra.

 

Så valet är upp till dig var du vill ha. MySQL-databaser ingår hos alla nämnda webbhotell.

 

Perfekt, då blir det att kolla upp det lite senare ikväll! Domännamn följer med eller måste man köpa det med någon annan tjänst?

Link to comment
Share on other sites

det ingår ibland - det är olika. Har du redan behöver du inte köpa till detta, men du behöver isf peka om domänen till webbhotellet.

Link to comment
Share on other sites

det ingår ibland - det är olika. Har du redan behöver du inte köpa till detta, men du behöver isf peka om domänen till webbhotellet.

 

Det verkar som det blir Axentus. Bra pris och verkar ha en bra tjänst!

 

Web Hosting Small

 

* 2 GB utrymme, 25 GB trafik/månad

* Fri support via telefon, e-post och MSN

* Koppla fritt antal domännamn till kontot

* Fritt antal ftp- och e-postkonton

* Enkel och kraftfull kontrollpanel

* Spam- och virusskydd för e-post

* Inga startavgifter eller dolda avgifter

 

Detta kostar 50kr/månaden i 1år.. Sen 99kr för domännamn!

Jag har en liten fråga kring 25GB trafik/månad. Är det mycket eller lite? Kan man jämföra det med antalet besökare per månad?

Link to comment
Share on other sites

Det är inget du behöver tänka på, är min ståndpunkt.

 

Säg att den vanliga besökaren i genomsnitt kollar på fem sidor per besök.

HTML, CSS, javascript och bilder max 500KB på dessa fem sidor och att du har 1000 unika besökare varje månad. (om besökaren återkommer finns mesta html, css och javascript redan i cachen så då blir det inte lika mycket nerladdat (men vi struntar i det just nu)

 

1000 * 0.5 MB = 500MB trafik / månad.

 

Du klarar dig rätt bra, med andra ord, baserat på höftning.

Link to comment
Share on other sites

Det är inget du behöver tänka på, är min ståndpunkt.

 

Säg att den vanliga besökaren i genomsnitt kollar på fem sidor per besök.

HTML, CSS, javascript och bilder max 500KB på dessa fem sidor och att du har 1000 unika besökare varje månad. (om besökaren återkommer finns mesta html, css och javascript redan i cachen så då blir det inte lika mycket nerladdat (men vi struntar i det just nu)

 

1000 * 0.5 MB = 500MB trafik / månad.

 

Du klarar dig rätt bra, med andra ord, baserat på höftning.

 

Tackar för det! Då borde jag ju klara mig ett bra tag ;)

Du har inga invändningar om Axentus? Jag kan använda allt där som min hemsida behöver? Det vill säga konto-hantering(php?) och sökfunktioner(php?).

Link to comment
Share on other sites

Jag kan inte jag veta vad du kommer att behöva i framtiden men ett konto hos axentus kommer du långt med.

 

Om jag hade haft invändningar mot Axentus hade jag inte rekommenderat dem då jag använder dem själv. Du kan göra det mesta du kommer behöva att göra i deras kundzon.

Link to comment
Share on other sites

Jag har en fundering till!

Jag vet inte riktigt hur jag ska gå tillväga. Jag har en "filmsida" där det finns en massa olika filmer i en lista. När man klickar på en film så vill jag att informationen om den filmen kommer upp under själva "bannern" på index.html sidan.. Alltså vill jag inte skapa en helt ny sida för varje film jag har. Detta borde vara möjligt väl? Men frågan är hur jag går tillväga

Link to comment
Share on other sites

Ja det kan man, men det är inte bra ur användar och sökmotorssynpunkt.

 

Man använder en metod som kallas ajax och hämtar innehåll från en annan sida som man lägger in i en div på sidan.

 

Först och främst måste du ha en sida som returnerar innehållet.

Statisk eller dynamisk sida (som hämtar data från en databas) är upp till dig.

med javascript-biblioteket jQuery kan du enkelt köra ajaxanrop:

<!-- hämta hem jquery från jquery.com eller ladda från googles arkiv -->
<script src="/js/sokvag-till-jquery.js"></script>
<script>
// köra funktionen init när sidan har laddat klart.
$(document).ready(init);

function init()
{
//använder classen ajax-request för att särskilja ajaxlänkar från vanliga länkar
 $(".ajax-request").click(function(e){
   var href = $(this).attr("href");
  $("#movieinfo").load(href);
  e.preventDefault();
});
}
</script>

 

HTML skall se ut så här:

<div id="movieinfo"><!-- här visas filmdatan efter att den har hämtats --></div>

<a href="/url/till/film-infon.html" class="ajax-request">Matrix (1999)</a>

 

 

Något liknande borde fungera.

Link to comment
Share on other sites

Ja det kan man, men det är inte bra ur användar och sökmotorssynpunkt.

 

Får man fråga varför? Ska prova det nu!

Link to comment
Share on other sites

för att sökmotorerna inte använder javascript utan en traditionella länkar och sidor bör finnas som komplement.

Link to comment
Share on other sites

för att sökmotorerna inte använder javascript utan en traditionella länkar och sidor bör finnas som komplement.

 

Okej! Så du rekommenderar alltså att göra en helt ny html sida för varje film?

Link to comment
Share on other sites

Eller en sida som hämtar information om viss film från en databas.

film.php?id=1234

 

Olika id-nummer gör sidan unik.

 

Databas är att föredra för då behöver du bara lägga in en film på ett ställe (dvs endast i databasen) så uppdateras filmlistan och filmdetaljsidan. Det är helt klart en lättare hantering av sajten.

 

Edit:

Dock är det ännu bättre att efter man gjort arbetet med databasen och php-sidorna att köra på mod-rewrite.

Med mod-rewrite gör man att man istället för att anropa "film.php?id=1234" att man kan anropa "film/1234-The_Matrix_(1999)" vilket blir snyggare i adressfältet och viss förbättring mot sökmotorindexering.

 

Scriptet gör då om anropet "film/1234-The_Matrix_(1999)" så att den internt hämtar information från sidan "film.php?id=1234".

 

Kanske lite mycket information nu till en början, men det är lätt att lägga in iaf.

Link to comment
Share on other sites

Tänkte bara berätta att jag valde one.com istället! Detta för att de hade chatsupport dygnet runt vilket jag kommer behöva! Deras pris var perfekt också så fanns inget att tveka på.

 

Nu har jag dock kommit till det steget att jag vill försöka mig på det som du försökte förklara innan med olika id-nummer på filmerna. Jag förstår dock inte riktigt hur jag ska gå tillväga. Vet inte hur jag ska göra med databasen heller!

 

Någon bra tutorial hade varit uppskattad!

Link to comment
Share on other sites

MySQL är en databastyp som används frekvent runt om på internet, vidare är det väldigt lätt att köra PHP och MySQL tillsammans. Dvs skriva PHP kod som ändrar i databasen.

 

Det första du behöver göra är att konfigurera en mysql databas på servern.

 

Själv diggar jag programmet MySQL administrator, där kan du logga in på webhotellet och lägga upp tabeller och det du behöver. Server, inloggning och lösenord borde stå med kontraktet du har med one.com

 

Sen är det till att lägga till data i databasen, och tillslut börja kika på PHP kod för sk querys (förfrågningar) till databasen och sedan visa innehållet.

 

Om du behöver en bra tutorial kan jag varmt rekommendera w3schools.com dom har riktigt bra tutorials. Utöver dem är php-manualen (php.net) är extremt välgjord manual, vidare har mysql en bra manual (även om den inte är lika lättöverskådlig, iaf i mina ögon).

Link to comment
Share on other sites

Jag har kört fast i search.php scriptet!

 

Kan någon ta en titt på det och säga vad jag har gjort fel?

 

index.php

<html>
	<form action="search.php"	method="GET">
       	<font face="sans-serif"	size="5">
           <center>
           		My Search Engine.<br>
                   <input type="text"	size="50"	name="search">	<input type="submit"	name="submit"	value="Search"
                   </center>
                   </font>
           </form>
</html>				

 

search.php

<?php

//get data
$button = $_GET('submit');
$search = $_GET('search');

if (!$button)
echo "Du måste ange ett sökord!";
else
(
		if (strlen($search)<=2)
		echo "Sökningen är för kort."
	else
	(
	 	echo "Du sökte efter <b>$search</b><hr size='1'>";
	)
)

?>

Link to comment
Share on other sites

Jag har för mig man använder funktionen isset($var), istället för ett !. Problemet med att sätta !$button är att sidan kommer generera ett fel men fortsätter köra, detta då $_GET['search'] inte existerar och $button tilldelas något som inte finns.

Återkom om det är luddigt med arrayer, dom kan vara knepiga i början.

 

Har iaf själv för vana när det gäller icke obligatoriska val att köra såhär:

 


if (isset($_GET['var'])) $button = $_GET['var']
else
{
   //annat
}

 

Vidare har du syntax fel märkte jag när jag dubbelkollade...

 


// arrayer använder hak-paranteser (variabler som skickas med metoden GET läggs i en $_GET-array)
$_GET['variabel']
$minArray['1']
$enArray['ett']

// kod-block (if-satser, loopar osv) använder "måsvingar" för kod som skall köras

if ($var == $var)
{
// körbar kod, t ex
echo 'kod som körs';
}


 

Link to comment
Share on other sites

Jag har för mig man använder funktionen isset($var), istället för ett !. Problemet med att sätta !$button är att sidan kommer generera ett fel men fortsätter köra, detta då $_GET['search'] inte existerar och $button tilldelas något som inte finns.

Återkom om det är luddigt med arrayer, dom kan vara knepiga i början.

 

Har iaf själv för vana när det gäller icke obligatoriska val att köra såhär:

 


if (isset($_GET['var'])) $button = $_GET['var']
else
{
   //annat
}

 

Vidare har du syntax fel märkte jag när jag dubbelkollade...

 


// arrayer använder hak-paranteser (variabler som skickas med metoden GET läggs i en $_GET-array)
$_GET['variabel']
$minArray['1']
$enArray['ett']

// kod-block (if-satser, loopar osv) använder "måsvingar" för kod som skall köras

if ($var == $var)
{
// körbar kod, t ex
echo 'kod som körs';
}


 

Du tappade mig nånstans på mitten! Du kan inte visa med hjälp av min kod?

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...