Dat worden user friendly urls genoemd. Met apache (webserver software) is dat vrij eenvoudig te realiseren dmv een zogenaamde mod rewrite.quote:Op zaterdag 19 april 2008 15:11 schreef fate het volgende:
Ik heb 2 vragen maar ben niet eens zeker of het wel onder php zelf valt.
Op een website die ik gemaakt heb gebruikte ik tot nu toe altijd om bijvoorbeeld naar een artikel te gaan een link zoals deze: www.blabla.com/blabla.php?id=965
Op fora zoals hier bijvoorbeeld op fok worden echter links gebruikt zoals bijvoorbeeld: forum.fok.nl/topic/1145006.
Ik vraag me echter af hoe je links maakt zoals de laatste? Dat je dus geen gebruik maakt van ?id=965 maar dat je gewoon /1145006 hebt. Ik zou namelijk de 2e manier willen gebruiken maar heb geen idee hoe je dat moet doen.
M'n vraag is nogal onduidelijk maar hopelijk begrijp je wat ik bedoel.
Mjah, als je via het cms de pagina opslaat schrijft je de url zo weg en dmv een stukje scripting zorg je dat het goed komt.quote:En dan nog een vraagje dat ook over links gaat:
(Als voorbeeld neem ik nu een artikel vanop de frontpage)
Op de FP staat momenteel een artikel dat 'Operatie onder hypnose in plaats van verdoving' noemt. Als je naar de link kijkt van deze pagina zie je dat de pagina -Operatie-onder-hypnose-in-plaats-van-verdoving.html heet. M'n vraag is nu hoe je ervoor zorgt dat een html pagina aangemaakt wordt (of hoe het ook juist werkt) met als naam de titel van je artikel? Het is veel praktischer om de titel in de link te hebben dan louter een id dat verwijst naar je database.
Bedankt alvast!
quote:Op zaterdag 19 april 2008 20:05 schreef Swetsenegger het volgende:
Hmz, eenvoudig wordt het in ieder geval niet.
Sowiezo klinkt bovenstaand verhaal niet iets waar je Excel voor zou moeten gebruiken, een database is dan beter op z'n plaats.quote:Op zaterdag 19 april 2008 19:59 schreef Five_Horizons het volgende:
Stel: er is een Excel-bestand met verschillende werkbladen (ongeveer 15) met daarin alle klantgegevens. De verschillende werkbladen zijn met elkaar gelinkt.
Zo is snel te zien welke producten de klanten hebben. (werkblad 1 -> NAWT-gegevens klant, werkblad 2 geeft product X aan en in dit werkblad staan dus alle verschillende producten X met de klantnummers. Werkblad 3 gaat over product Y, enz. enz.)
Elk product heeft ook nog een bepaalde provisiestructuur. Product X bij producent A geeft 10% van de omzet, product X van producent B geeft 15% van de omzet. Enz. enz.
Elk verkocht product wordt dagelijks toegevoegd en dus automatisch gelinkt aan de klant en alle andere gegevens van deze klant.
<...>
De uiteindelijke vraag is dan ook: is het mogelijk om deze Excel-sheet m.b.v. PHP in te lezen in MySQL, op een dusdanige manier dat alle koppelingen behouden blijven en er nog steeds dezelfde managementsrapportages uit te extraheren zijn?
Nee en nee.quote:Op zaterdag 19 april 2008 20:26 schreef Five_Horizons het volgende:
Ik vermoed dat het louter invullen van de velden niet zo'n probleem is (toch?). Maar dat is slechts een kopie van alle velden op de werkbladen. Er is dan wel een database, maar een hele platte.
Als alle werkbladen op een bepaalde manier aan elkaar gekoppeld zijn, moet het herschrijven van deze koppeling toch relatief eenvoudig zijn? (ik kan me voorstellen dat ik het nu heel erg simplificeer) Dan kunnen de gegevens die in MySQL staan op dezelfde manier gekoppeld worden.
Ik weet wat een database is. Het excel-bestand wordt daadwerkelijk als database gebruikt. Dat het geen database is, is wat anders. Toch is een eenvoudig Excel-bestand in te lezen in MySQL. De centrale vraag hier is dan ook of het in dit geval mogelijk is.quote:Op zaterdag 19 april 2008 20:47 schreef HenryHill het volgende:
[..]
Nee en nee.
Een database is heel wat anders als een Excel-werkblad. De data bestaat in beide gevallen in rijen en kolommen, maar daar houdt de vergelijking ook echt op. Zie bijv. deze link over hoe een database conceptueel opgezet moet worden.
Simpel, het laatste stuk na de / wordt gewoon genegeerd (m.b.v. mod rewrite). Daar kan je dus invullen wat je maar wil.quote:Op zaterdag 19 april 2008 15:11 schreef fate het volgende:
En dan nog een vraagje dat ook over links gaat:
(Als voorbeeld neem ik nu een artikel vanop de frontpage)
Op de FP staat momenteel een artikel dat 'Operatie onder hypnose in plaats van verdoving' noemt. Als je naar de link kijkt van deze pagina zie je dat de pagina -Operatie-onder-hypnose-in-plaats-van-verdoving.html heet. M'n vraag is nu hoe je ervoor zorgt dat een html pagina aangemaakt wordt (of hoe het ook juist werkt) met als naam de titel van je artikel? Het is veel praktischer om de titel in de link te hebben dan louter een id dat verwijst naar je database.
Wat bedoel je hier precies mee? Zijn de gegevens in dat Excel-bestand volledig gestructureerd, en stelt elke rij een apart element voor? Worden de gegevens programatisch toegevoegd en uitgelezen (bijv. via een ODBC koppeling die je Excel-bestand doet voorkomen als een database)?quote:Op zaterdag 19 april 2008 20:58 schreef Five_Horizons het volgende:
[..]
Ik weet wat een database is. Het excel-bestand wordt daadwerkelijk als database gebruikt. Dat het geen database is, is wat anders.
quote:Op zaterdag 19 april 2008 20:42 schreef HenryHill het volgende:
[..]
Sowiezo klinkt bovenstaand verhaal niet iets waar je Excel voor zou moeten gebruiken, een database is dan beter op z'n plaats.
quote:Dan: Ja, het is mogelijk om een Excel-bestand als een ODBC datasource te gebruiken, zodat je vanuit PHP (of MySQL) die data kunt benaderen, maar: deze methode is verre van stabiel en kent behoorlijk wat beperkingen.
Ik zou deze methode afraden, en ervoor kiezen om de data uit Excel te exporteren naar bijvoorbeeld CSV, en deze in MySQL in te lezen.
quote:Houdt er rekening mee dat je de werkbladen niet 1 op 1 over wilt nemen als tabellen in je database, en dat je dus eerst een goed database-schema (= tabelstructuur) zult moeten hebben. Hiervoor zul je de data moeten herschikken zodat het correspondeert met de vorm zoals je het in de database wilt hebben. Dit kan je voor de export (dus in Excel) of na de import (als je de 'ruwe' data in tijdelijke tabellen hebt geladen) doen - ik zou je de eerste optie aanraden.
Ook dat klinkt logisch voor me.quote:Ook zullen de formules die je in je Excel-bestand hebt gedefinieerd verloren gaan tijdens de migratie. Hiervoor zul je een database-oplossing moeten verzinnen (stored procedures, of views met calculated fields, bijv.).
Dat lukt inderdaad sowieso niet. Ik ga er van de week nog eens goed mee stoeien en mocht ik daar iets zinniger antwoorden kunnen geven, dan meld ik me weer.quote:En ik weet niet hoe jullie je management-rapportages nu maken, maar de kans is vrijwel 0% dat je deze 1 op 1 over kunt nemen als je de data in een database hebt zitten.
't Wordt een flinke klus iig.
je zal sowieso de aparte werkbladen als losse bestanden moeten opslaan. Vervolgens is ze stuk voor stuk inlezen niet zo'n probleem, vervolgens zal je de key's moeten aanbrengen. Je moet je alleen wel afvragen of de database structuur optimaal is.quote:Op zaterdag 19 april 2008 20:58 schreef Five_Horizons het volgende:
[..]
Ik weet wat een database is. Het excel-bestand wordt daadwerkelijk als database gebruikt. Dat het geen database is, is wat anders. Toch is een eenvoudig Excel-bestand in te lezen in MySQL. De centrale vraag hier is dan ook of het in dit geval mogelijk is.
Als dat blijkbaar niet zo is, dan is het niet zo.
PHP zou kunnen, maar wat je ook zou kunnen overwegen is een aparte reporting tool te gebruiken zoals Crystal Reports of Microsoft Reporting Services. Van de laatste weet ik iig dat deze in theorie ook overweg kan met andere RDBMSen dan MS SQL, maar in hoeverre dat in de praktijk ook echt praktisch is, durf ik niet te zeggen.quote:Op zaterdag 19 april 2008 21:07 schreef Swetsenegger het volgende:
[..]
je zal sowieso de aparte werkbladen als losse bestanden moeten opslaan. Vervolgens is ze stuk voor stuk inlezen niet zo'n probleem, vervolgens zal je de key's moeten aanbrengen. Je moet je alleen wel afvragen of de database structuur optimaal is.
De rapporten kan je vervolgens in PHP opbouwen.
Dat eerste ga ik even moeten nakijken hoe ik het juist moet doen. Dat tweede is eigelijk logisch, dom dat ik daar niet op kwam hoe je dat kan makenquote:Op zaterdag 19 april 2008 20:07 schreef Swetsenegger het volgende:
[..]
Dat worden user friendly urls genoemd. Met apache (webserver software) is dat vrij eenvoudig te realiseren dmv een zogenaamde mod rewrite.
[..]
Mjah, als je via het cms de pagina opslaat schrijft je de url zo weg en dmv een stukje scripting zorg je dat het goed komt.
Leuk he dat afrikaans... best leuk om te lezen (engels/ oud nederlands door elkaarquote:Op zaterdag 19 april 2008 22:47 schreef wobbel het volgende:
Ik had net m'n PHPMyAdmin op Afrikaans staan per ongeluk![]()
"Jou SQL-navraag is suksesvol uitgevoer"
"Beloer data"
"Kies asb. 'n databasis"
(n)iemand?quote:Op zaterdag 19 april 2008 11:18 schreef qu63 het volgende:
Ik weet dat je met PHP-auth je website kan 'beveiligen' (aub geen discussie of het wel veilig genoeg is, daar gaat het me nu niet om), maar kan je met PHP ook de username en password doorgeven? Zodat je die prompt niet krijgt..
http://nl2.php.net/manual/en/features.http-auth.phpquote:Op maandag 21 april 2008 17:07 schreef jusdOrange het volgende:
Verduidelijk je vraag eens?
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 | /* Check for values in $PHP_AUTH_USER and $PHP_AUTH_PW */ if ((!isset($PHP_AUTH_USER)) || (!isset($PHP_AUTH_PW))) { /* No values: send headers causing dialog box to appear */ header('WWW-Authenticate: Basic realm="My Private Stuff"'); header('HTTP/1.0 401 Unauthorized'); echo 'Authorization Required.'; exit; } else if ((isset($PHP_AUTH_USER)) && (isset($PHP_AUTH_PW))){ /* Values contain some values, so check to see if they're correct */ if (($PHP_AUTH_USER != "validname") || ($PHP_AUTH_PW != "goodpassword")) { /* If either the username entered is incorrect, or the password entered is incorrect, send the headers causing dialog box to appear */ header('WWW-Authenticate: Basic realm="My Private Stuff"'); header('HTTP/1.0 401 Unauthorized'); echo 'Authorization Required.'; exit; } else if (($PHP_AUTH_USER == "validname") || ($PHP_AUTH_PW == "goodpassword")) { /* if both values are correct, print success message */ echo "<P>You're authorized!</p>"; } } ?> |
zo is het dus niet, wel zoals je hieronder beschrijftquote:Op dinsdag 22 april 2008 08:11 schreef RiDo78 het volgende:
Het ligt eraan hoe de pagina zijn authenticatie regelt. Als dat door middel van een form gebeurd, dan zul je de inhoud van dat form moeten versturen en een cookie accepteren voordat je de bewuste pagina kunt downloaden.
en dat werkt dus helaas niet.quote:Als het door middel van de webserver-authenticatie gebeurd (dus met een popup waar je gebruikersnaam/wachtwoord in moet vullen) dan kun je de pagina simpelweg opvragen door alle gegevens in de URL mee te geven: http://username:password@webserver:port/dir/page.html
voordat ik het vertel, wil ik wel weten waarvoor je het wilt wetenquote:Op dinsdag 22 april 2008 10:03 schreef RiDo78 het volgende:
[..]
Bij gebrek aan PM, om welke website gaat het?
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |