Dat komt omdat je een server session aan een client kunt koppelen door middel van het session ID, die je vrijwel altijd opslaat als cookie bij de clientquote:Op dinsdag 29 mei 2007 20:07 schreef Geqxon het volgende:
Trouwens, mij persoonlijke ervaring onder FireFox is dat als cookies uitgeschakeld zijn, dat sessies het dan ook niet doen.
Kijk, dan weet ik ook weer waarom dat in het bejaarde osCommerce zo gebeurd, de sessie-ID in de URL.quote:Op dinsdag 29 mei 2007 20:10 schreef JeRa het volgende:
[..]
Dat komt omdat je een server session aan een client kunt koppelen door middel van het session ID, die je vrijwel altijd opslaat als cookie bij de clienteen workaround hiervoor is het opnemen van het session ID in de URL (niet aan te raden though).
Absoluut niet niet aan te raden. Al helemaal niet als je sid niet aan een IP gelocked is want dan kan iedereen de sessie kapenquote:Op dinsdag 29 mei 2007 20:10 schreef JeRa het volgende:
[..]
Dat komt omdat je een server session aan een client kunt koppelen door middel van het session ID, die je vrijwel altijd opslaat als cookie bij de clienteen workaround hiervoor is het opnemen van het session ID in de URL (niet aan te raden though).
-edit: onzinquote:Op dinsdag 29 mei 2007 20:21 schreef Geqxon het volgende:
[..]
Wat ik mij dan wel weer afvraag: Is het not-done om de username en het password (in MD5) in een sessie op te slaan?
Ik las cookiequote:Op dinsdag 29 mei 2007 20:40 schreef Geqxon het volgende:
[..]
Maar wordt de inhoud van de sessie dan lokaal opgeslagen? Ik dacht dat de data van een sessie puur en alleen serverside gehouden werdt, afgeschermd van kwaadwillende personen?
1 2 3 4 | $arr = array(123 => "Regel 1 waar XXX vervangen moet worden maar ook YYY en ZZZ"); // etc ?> |
quote:Op dinsdag 29 mei 2007 21:35 schreef Chandler het volgende:
tvp + een vraagje.
Ik wil voor een site taal bestanden gaan gebruiken!, echter zit ik ook met teksten waarin stukjes vervangen moeten worden.
Nu heb ik al deze teksten in een array gezet en wil alle stukjes die vervangen moeten worden vervangen. Hoe kan ik deze het beste laten vervangen!.
Ik las over printf met %s maar hoe werkt dat precies? of is er een betere manier!?
1 2 3 4 5 6 | $en_taal_filenotfound = 'The file %s could not be found.'; // ... // ... echo sprintf($nl_taal_filenotfound, "'/tmp/test'"); echo sprintf($en_taal_filenotfound, "'/tmp/test'"); |
Dat vraagt ie niet.quote:Op dinsdag 29 mei 2007 21:36 schreef Geqxon het volgende:
In je database een extra veld per taal?
1 2 3 4 5 | $txt = "Haha %s hehe %s woei %s"; printf($txt, array("ABC", "DEF", "GHI")); ?> |
1) Met javascript (zie ook cookieCheck() in de .js van het FOK!forum)quote:Op woensdag 30 mei 2007 11:00 schreef super-muffin het volgende:
hoe kun je checken of je bezoeker cookies aan heeft staan?
In de Ubuntu repositories zitten wél PHP, Apache én MySQL. Heb je al naar de packages in je package management system gekeken?quote:Op woensdag 30 mei 2007 11:18 schreef Tuvai.net het volgende:
Ubuntu draait inmiddels maar vreemd genoeg zit d'r geen PHP, apache of MySQL in; vreemd want ik las op verscheidene plaatsen, waaronder heir op Fok!, dat alles daarvoor standaard d'r in zou zitten.
Dus, wat next? Hoe ga ik nu aan de slag? Is er geen kant en klaar apache + PHP + MySQL pakket (uiteraard met de laatste PHP en MySQL versies) wat ik op Ubuntu kan draaien zodat ik een daadwerkelijke PHP server heb?
Is het niet apache2 ipv apache?quote:Op woensdag 30 mei 2007 11:39 schreef Tuvai.net het volgende:
Ik zie by Synaptics Pakketbeheer inderdaad apache en php5 staan. Echter als ik deze wil 'checken' en vervolgens op 'Mark for installation' wil klikken, krijg ik alleen de foutmelding 'Could not mark package for installation'. -_-
quote:Op woensdag 30 mei 2007 11:40 schreef Piles het volgende:
Ik ben nog ff opzoek naar een PHP-functie (die er niet is volgens mij). Hoe filter ik alles behalve cijfers en letters uit een string?
1 2 3 | $string = preg_replace('#[^a-z0-9]#i', '', $string); ?> |
quote:Op woensdag 30 mei 2007 13:52 schreef super-muffin het volgende:
lol, moet je kijken, een handige tool om je HTML om te zetten naar PHP:
http://www.html-site.nl/htmltophp.php
Enige wat die site doet is dus alle " vervangen door \", en er <? print " voor en "; ?> achter zetten. Niets meer dan wat je ook met kladblok kunt doen dus.quote:Op woensdag 30 mei 2007 13:52 schreef super-muffin het volgende:
lol, moet je kijken, een handige tool om je HTML om te zetten naar PHP:
http://www.html-site.nl/htmltophp.php
Nog niet eens gewoon javasciptjequote:Op woensdag 30 mei 2007 14:08 schreef Chandler het volgende:
[..]
l33t man
oftewel gewoon een print met addslashes!
quote:\" . phpinfo() . \"
Inderdaad, vandaar dat je browser half hangt als je een flinke lap HTML code daar in pleurt.quote:Op woensdag 30 mei 2007 14:23 schreef WyriHaximus het volgende:
[..]
Nog niet eens gewoon javasciptjehttp://www.html-site.nl/htmltophp.js
* JortK mompelt iets met regsrv32quote:Op woensdag 30 mei 2007 17:01 schreef Tuvai.net het volgende:
Goed, na flink wat irritaties Ubuntu weet d'r vanaf geflikkerd en toch voor Windows 2003 server gekozen. IIS is fijn geïnstalleerd en de computer is helemaal ge-update en geconfigureerd. Ik meteen daarna op php.net PHP 5.2.2 gedownload en de MSI installer uitgevoerd. PHP was goed geïnstalleerd volgens de installer/wizard. Ik heb het overigens in de map C:\PHP geïnstallerd en niet in C:\PROGRAM FILES\PHP in verband met whitespaces.
Ga ik echter php.exe opstarten, krijg ik een stuk of 20 foutmeldingen van DLLs die niet gevonden kunnen worden. Terwijl deze zich echt wel in de c:\php\ext folder bevinden. :/
http://www.bartendavid.be/doc/howto/netwerk/servers/apache.htmlquote:Op woensdag 30 mei 2007 11:18 schreef Tuvai.net het volgende:
Ubuntu draait inmiddels maar vreemd genoeg zit d'r geen PHP, apache of MySQL in; vreemd want ik las op verscheidene plaatsen, waaronder heir op Fok!, dat alles daarvoor standaard d'r in zou zitten.
Dus, wat next? Hoe ga ik nu aan de slag? Is er geen kant en klaar apache + PHP + MySQL pakket (uiteraard met de laatste PHP en MySQL versies) wat ik op Ubuntu kan draaien zodat ik een daadwerkelijke PHP server heb?
Jammer, zo moeilijk was het niet.quote:Op woensdag 30 mei 2007 17:01 schreef Tuvai.net het volgende:
Goed, na flink wat irritaties Ubuntu weet d'r vanaf geflikkerd en toch voor Windows 2003 server gekozen. IIS is fijn geïnstalleerd en de computer is helemaal ge-update en geconfigureerd. Ik meteen daarna op php.net PHP 5.2.2 gedownload en de MSI installer uitgevoerd. PHP was goed geïnstalleerd volgens de installer/wizard. Ik heb het overigens in de map C:\PHP geïnstallerd en niet in C:\PROGRAM FILES\PHP in verband met whitespaces.
Ga ik echter php.exe opstarten, krijg ik een stuk of 20 foutmeldingen van DLLs die niet gevonden kunnen worden. Terwijl deze zich echt wel in de c:\php\ext folder bevinden. :/
1 2 3 4 5 6 7 8 9 10 11 12 | $row_color = 1; while($al = mysql_fetch_assoc($list)) { $title = str_replace(" ","_",rtrim($al['title']," ")); $row_color = ($row_color % 2)?$cfg['color1'] : $cfg['color2']; $row .= "<tr bgcolor="".$row_color.""><td><a href='http://".$_SERVER['HTTP_HOST']."/".$_GET['c']."/detail/".$title.".html'>".$al['title']."</a></td></tr>"; $row_color++; } ?> |
regsvr32 C:PHPextphp_mbstring.dll geeft:quote:
Lijkt wel of die nog steeds heen PHP kan uitvoeren. What to do?quote:You are not authorized to view this page
The URL you attempted to reach has an ISAPI or CGI application installed that verifies user credentials before proceeding. This application cannot verify your credentials.
Please try the following:
* Contact the Web site administrator if you believe you should be able to view this directory or page.
* Click the Refresh button to try again with different credentials.
HTTP Error 401.5 - Unauthorized: Authorization failed by an ISAPI/CGI application.
Internet Information Services (IIS)
Ja, in Ubuntu vond ik gewoon meerdere dingen raar en ik was d'r in z'n geheel niet echt weg van, niet alleen vanwege de PHP kwestie. Jammer want ik vond het wel soepel draaien en gelikt uitzien. Als ik niet zo veel met Visual Studio en andere Ms programma's zou werken zou ik 't zeer zeker een keer overwegen.quote:Op donderdag 31 mei 2007 10:12 schreef JeRa het volgende:
Gelukkig heb je onder Windows niet hetzelfde doorzettingsvermogen als je onder Ubuntu had, Tuvai.net
Gewoon allebij op een apparte poort draaien lijk mij ...quote:Op donderdag 31 mei 2007 13:18 schreef Hmail het volgende:
Als ik het goed begrijp wil je nu Apache en IIS naast elkaar laten draaien? Dan is het niet zo gek dat die dwars met elkaar gaan liggen.
Ik zou eerst een keuze maken: Of Apache, of IIS. Als je voor Apache gaat, IIS eraf gooien, ga je voor IIS, Apache eraf. Dat scheelt alvast een hoop troubleshooten
Ik ben ook niet zo heel erg thuis met phpMyAdmin, maar je kunt gebruikers rechten geven op een specifieke database. Dat betekent wel dat je eerst alle rechten weer even weg moet halen, en dan per database op moet geven welke rechten hij hiervoor heeft. Het is even knutselen, maar ik heb het pas nog werkend gekregen, dus ik kan wel even uitvogelen hoe het precies zit als je wiltquote:Op donderdag 31 mei 2007 13:36 schreef Tuvai.net het volgende:
Maar goed, volgende probleem. stel ik wil voor MySQL een gebruiker aanmaken, die we voor het gemak effe 'pietje' noemen, deze heb ik zojuist toegevoegd en alleen maar de privileges gegeven om data en structuur te beheren, géén administratieve privileges dus. Gebruiker heb ik op die manier toevoegen en ik kan ook al als die gebruiker inloggen. Echter, ik blijf als die gebruiker, die maar beperkte rechten zou moeten hebben, bijvoorbeeld de 'mysql' database zien; ook kan ik als die gebruiker andere gebruikers wijzigen, wat natuurlijk niet de bedoeling is. Help?
Dat kan, maar of het nuttig is is maar de vraag. Als je gewoon wat wil knutselen met php en mysql, dan heeft het niet zoveel zin om daar ook nog eens een aparte webserver naast te gaan draaien.quote:Op donderdag 31 mei 2007 13:36 schreef WyriHaximus het volgende:
[..]
Gewoon allebij op een apparte poort draaien lijk mij ...
Dan kan je dat ook gewoon allemaal onder apache draaien dacht ik. Weet het niet zeker werk nooit met ASPquote:Op donderdag 31 mei 2007 13:42 schreef Hmail het volgende:
[..]
Dat kan, maar of het nuttig is is maar de vraag. Als je gewoon wat wil knutselen met php en mysql, dan heeft het niet zoveel zin om daar ook nog eens een aparte webserver naast te gaan draaien.
Als je echt een professionele webserver wilt draaien, met diverse sites (php, asp, noem maar op), dan is het misschien iets om over na te denken.
Wat voor type user is het? Dat kun je in PHPMyAdmin checken onder Database->Privileges. In mijn geval is het een Database-specific user. Check dat evenquote:Op donderdag 31 mei 2007 13:55 schreef Tuvai.net het volgende:
Ik heb gebruiker 'pietje' nu alle rechten ontnomen (niks aangevinkt) maar wel op één specifieke tabel rechten gegeven, het is dus de bedoeling dat gebruiker 'pietje' maar één database krijgt. Dat doet het ook.
Probleem is echter dat ik wel tabel 'information_schema' blijf zien als ik als 'pietje' in log, terwijl ik hier niks specifieks voor heb ingesteld.
Ik werk ook niet met ASP, en ik heb het (thank god) nog nooit werkend hoeven te krijgen onder Apache, maar het schijnt niet makkelijk te zijn. Daarom kies ik ook liever voor een combinatie IIS & PHP dan Apache & ASP. Gewoonweg omdat er meer mensen IIS en PHP werkend willen hebben dan Apache en ASP. (dit kan ik uiteraard niet gehinderd door enige kennis van zaken makkelijk zeggen, ik weet de specifieke aantallen niet)quote:Op donderdag 31 mei 2007 14:04 schreef WyriHaximus het volgende:
[..]
Dan kan je dat ook gewoon allemaal onder apache draaien dacht ik. Weet het niet zeker werk nooit met ASP.
* WyriHaximus sluit zich hier volledig bij aanquote:Op donderdag 31 mei 2007 14:25 schreef Hmail het volgende:
[..]
Ik werk ook niet met ASP, en ik heb het (thank god) nog nooit werkend hoeven te krijgen onder Apache, maar het schijnt niet makkelijk te zijn. Daarom kies ik ook liever voor een combinatie IIS & PHP dan Apache & ASP. Gewoonweg omdat er meer mensen IIS en PHP werkend willen hebben dan Apache en ASP. (dit kan ik uiteraard niet gehinderd door enige kennis van zaken makkelijk zeggen, ik weet de specifieke aantallen niet)
Bij database specifieke rechten stond alleen de tabel die de gebruiker 'pietje' ook daadwerkelijk mag gebruiken. Deze heb ik voor te testen even weggehaald, met als resultaat dat wanneer je als 'pietje' inlogt, nu alléén maar database information_schema ziet.quote:Op donderdag 31 mei 2007 14:23 schreef Hmail het volgende:
[..]
Wat voor type user is het? Dat kun je in PHPMyAdmin checken onder Database->Privileges. In mijn geval is het een Database-specific user. Check dat even
Dat heb ik ook staan bij de betreffende database waar de betreffende user wél toegang toe moet hebben. Maar bij 'information_schema' staat niks verdachts, toch is deze gewoon toegankelijk door de betreffende user terwijl dat niet de bedoeling zou moeten zijn.quote:Op donderdag 31 mei 2007 15:07 schreef Hmail het volgende:
In mijn geval ziet het database-privleges scherm er zo uit. Het gaat om de gemaskeerde naam:
[afbeelding]
Verrek, dat heb ik ook nog gelezen ook nog.quote:Op donderdag 31 mei 2007 15:51 schreef JeRa het volgende:
INFORMATION_SCHEMA is een speciale database waarvan de inhoud verandert aan de hand van de rechten die de gebruiker heeft. Die blijf je dus altijd zien, is sinds MySQL 5 als ik me niet vergis
Je kunt hem wel gebruiken, en INFORMATION_SCHEMA geeft informatie over je rechten, databases, tabellen, etceteraquote:Op donderdag 31 mei 2007 16:05 schreef Chandler het volgende:
Wat is dan de functie van die database als je die toch (niet kan) gebruik(t/en)...
Ik ben niet bekend met hashen, maar je zet deze vijf variabelen tot een lange string tekst om, wat je vervolgens weer terugdecodeerd naar vijf losse variabelen?quote:Op donderdag 31 mei 2007 20:46 schreef Chandler het volgende:
je kunt wel een hash maken waarbij je de username + ip + id hasht.. deze controlleer je dan weer met de usernaam + $_SERVER['REMOTE_ADDR'] + id oid..
Zat mogelijkheden
Waarna de "hacker" vervolgens een hash maakt van de username + ip + id van "het slachtoffer" hasht, en vervolgens dus niet eens de moeite hoeft te doen voor het stelen van een cookiequote:Op donderdag 31 mei 2007 20:46 schreef Chandler het volgende:
je kunt wel een hash maken waarbij je de username + ip + id hasht.. deze controlleer je dan weer met de usernaam + $_SERVER['REMOTE_ADDR'] + id oid..
Zat mogelijkheden
Exact. Iets a la:quote:Op donderdag 31 mei 2007 20:51 schreef Geqxon het volgende:
[..]
Ik ben niet bekend met hashen, maar je zet deze vijf variabelen tot een lange string tekst om, wat je vervolgens weer terugdecodeerd naar vijf losse variabelen?
1 2 3 | $cookievar = md5($username.$userid.$_SERVER['REMOTE_ADDR']); ?> |
Nee, een hash is one-way. Terugcoderen vanuit een hash naar de losse variabelen is nagenoeg niet mogelijk; terugcoderen naar een wachtwoord is soms wel mogelijk met behulp van reverse lookup tablesquote:Op donderdag 31 mei 2007 20:51 schreef Geqxon het volgende:
[..]
Ik ben niet bekend met hashen, maar je zet deze vijf variabelen tot een lange string tekst om, wat je vervolgens weer terugdecodeerd naar vijf losse variabelen?
Of gewoon mktime() gebruiken zodat je mooi een UNIX timestamp krijgt.quote:Op zondag 3 juni 2007 16:18 schreef Skorpija het volgende:
Weet iemand het volgende:
Wanneer ik drie stringen heb in php
dag = 2
maand = 4
jaar = 1971
Hoe kan ik deze dan inserten in MySql in een veld gedecrlareerd als datetime?
-edit-
Gevonden, gewoon met 1971-4-2
Maar dat past niet in een datetime (of date) veld in MySQL.quote:Op zondag 3 juni 2007 19:53 schreef Tuvai.net het volgende:
[..]
Of gewoon mktime() gebruiken zodat je mooi een UNIX timestamp krijgt.
Naast de overduidelijk positieve dingen zijn er mijns inziens ook wat negatieve:quote:Op zondag 10 juni 2007 01:24 schreef Geqxon het volgende:
PHP 6 gaat ruig worden. Clean-slate style, rotzooiscripts van de PHP4 tijd gaan dus mooi niet werken. Niks te ge register-globals, of safe-mode.
Nice!
OK goede reden zou ik zeggenquote:Op zondag 10 juni 2007 10:40 schreef Hmail het volgende:
Omdat je ook wel een de grootte van een array of string wil berekenen, die je niet uit mysql haalt?
Java is dan ook OO. Op een handjevol uitzonderingen na is het altijd nodig om een object te maken. Dan kun je dus in de class van het object ook de bijbehorende functies zetten. Of het daardoor minder flexibel wordt, weet ik zo niet.quote:Op zondag 10 juni 2007 01:36 schreef Geqxon het volgende:
Wat OOP betreft zijn de functies als strlen() en count() vrij "achterlijk", aangezien dat naar mijn mening methodes moeten zijn die bij een string/int/array horen. Dus de string "$filename", de length daarvan moet op te vragen zijn door "$filename.getLength()".
Goed, dat is tenminste hoe ik met Java werk, en wat ik in PHP erg fijn zou vinden. Het enige nadeel hiervan is dat het in zijn totaliteit minder flexibel wordt, maar qua structuur een stuk strakker.
Java is inderdaad 99% OO, al snap ik niet exact wat je bedoeld met: "Dan kun je dus in de class van het object ook de bijbehorende functies zetten.". Ooit al eens van overerven gehoord?quote:Op zondag 10 juni 2007 11:11 schreef Light het volgende:
[..]
Java is dan ook OO. Op een handjevol uitzonderingen na is het altijd nodig om een object te maken. Dan kun je dus in de class van het object ook de bijbehorende functies zetten. Of het daardoor minder flexibel wordt, weet ik zo niet.
Ik denk dat als ik elke keer een MySQL count uit zou moeten voeren, terwijl de data al in een array staat, mijn website erg traag wordtquote:Op zondag 10 juni 2007 10:33 schreef JortK het volgende:
Functies als count() enzo, waarom zou je die op PHP niveau gebruiken, en niet op MySQL niveau?
Ja hoor, ik ben niet helemaal onbekend met OO, hoewel het jaren geleden is dat me serieus met Java bezig heb gehouden. In Java heb je een object van class Array, en aan dat object kun je dan vragen "zeg, hoeveel elementen bevat je?quote:Op zondag 10 juni 2007 16:17 schreef Geqxon het volgende:
[..]
Java is inderdaad 99% OO, al snap ik niet exact wat je bedoeld met: "Dan kun je dus in de class van het object ook de bijbehorende functies zetten.". Ooit al eens van overerven gehoord?
Dat loosely typed van PHP heeft voor- en nadelen. Je kunt makkelijker vergelijkingen doen, maar function overloading gaat in Java weer beter.quote:Wat de flexibiliteit betreft, mijn persoonlijke mening is dat PHP flexibeler is dan Java. Je niet naar ints, doubles en strings hoeft te casten en je in een boolean strings kan comparen, en je niet de methode equals() uit de class String nodig hebt. Daarnaast hoef je niet voor ieder pietluttig dingetje een object aan te maken, enz. enz.
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 32 33 34 35 36 37 | $img_size = 100; $img_width = $img_size; $img_height = $img_size; if(function_exists("ImageCreateTrueColor")){ $image = ImageCreateTrueColor($img_width, $img_height); }else{ $image = ImageCreate($img_width, $img_height); } imageantialias($image,true); // trans background $bg_color = imagecolorallocate($image, 255, 255, 255); // white imagefill($image, 0, 0,$bg_color ); imagecolortransparent($image,$bg_color ); // set white as transparent colo // colored bg (green) $c = imagecolorallocate($image, 28, 118, 80); // green imagefill($image, 0, 0,$c); imagefilledrectangle($image, 0, 0, $img_size, $img_size, $c); // draw the white/trans ellipse imagefilledellipse($image, $img_size, $img_size, $img_size*2, $img_size*2, $bg_color); imageSaveAlpha($image, true); ImageAlphaBlending($image, false); header("Content-type: image/png"); ImagePNG($image); ImageDestroy($image); ?> |
1 2 3 | ImageAlphaBlending($image, false); ?> |
1 2 3 | ImageAlphaBlending($image, true); ?> |
IE7 doet dat goed afaik.quote:Op zondag 10 juni 2007 23:02 schreef Hmail het volgende:
Met welke browser doe je dat? Als ik me niet vergis doet IE geen transparante png's. Maar ik weet niet of IE7 dat ook nog steeds weigert..
IE7 doet inmiddels alphachannel PNG, bij IE6 krijg je op de plekken waar je transparancy hebt een grijs vlak.quote:Op zondag 10 juni 2007 23:02 schreef Hmail het volgende:
Met welke browser doe je dat? Als ik me niet vergis doet IE geen transparante png's. Maar ik weet niet of IE7 dat ook nog steeds weigert..
1 2 3 4 | echo '<td><input name="en_tagging[]" type="checkbox" class="input_fix" id="en_tagging[]" value="'. $list_row['en_link'].'" />'. $list_row['en_link'].'</td>'; echo '<td><input name="nl_tagging[]" type="checkbox" class="input_fix" id="nl_tagging[]" value="'. $list_row['nl_link'].'" />'. $list_row['nl_link'].'</td>'; ?> |
1 2 3 4 5 6 7 | $en_tag = explode(" ", $_POST['en_tagging']); $nl_tag = explode(" ", $_POST['nl_tagging']); $sql = "INSERT INTO `subpages` (id, nl_link, en_link, nl_headline, en_headline, nl_content, en_content, en_tag, nl_tag, draft, autobreak, bbcode, special,hits) VALUES ('', '$nl_link', '$en_link', '$nl_headline', '$en_headline', '$nl_content', '$en_content', '$en_tag', '$nl_tag', '$draft', '$autobreak', '$bbcode', '$special', '1');" ; mysql_query($sql) or die(mysql_error()) ; ?> |
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |