1 2 | <?php function order($test){ echo 'as'.$page[$test];} order("1"); |
dankjewel, had global nodig. Er stond niet bij waarom variabelen standaard niet globaal zijn, wel dat het in andere talen wel zo kan zijn. Weet je ook waarom dit is?quote:
Nee, je hebt een parameter nodig. Global gebruiken is in normale omstandigheden niet nodig en m.i. ook niet netjes. Als je overal global gebruikt en in functies variabelen overal wijzigt wordt het debuggen van je applicatie binnen de kortste keren een hel.quote:
om het even te zeggen zoals ik het geleerd heb:quote:Op dinsdag 11 januari 2011 22:25 schreef Intrepidity het volgende:
[..]
Nee, je hebt een parameter nodig. Global gebruiken is in normale omstandigheden niet nodig en m.i. ook niet netjes. Als je overal global gebruikt en in functies variabelen overal wijzigt wordt het debuggen van je applicatie binnen de kortste keren een hel.
Ook in procedureel programmeren is het een ramp. Na 10 van dergelijke functies weet je gewoon niet meer waar die variabele nou ookalweer gewijzigd werd, wat voor heel onverwacht gedrag van je applicatie kan zorgen.quote:Op woensdag 12 januari 2011 00:21 schreef minibeer het volgende:
[..]
om het even te zeggen zoals ik het geleerd heb:
globale variabelen gebruiken gaat in tegen de objectgeorienteerde gedachte
Hetzelfde als bij een ad-rotator:quote:Op donderdag 13 januari 2011 01:00 schreef boem-dikkie het volgende:
Weer een vraagje.
Ik ben bezig met een website waar een kop op moet komen met 'uitgelicht'. Het is de bedoeling dat er onder die kop een drietal artiesten komen te staan. Die drie artiesten moeten om de zoveel tijd door wisselen. De gehele rotatie bestaat uit ongeveer 10 artiesten.
Iemand enig idee hoe ik dit een beetje handig kan aanpakken?
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 | <?php session_start(); //Adkeuze (begin) if (isset($_SESSION['lastBanner'])){ $bannerNo = $_SESSION['lastBanner'] + 1; if ($bannerNo > 3){ //'Bannergetal hoger dan 3? Dan terugzetten.' $bannerNo = 1; } else { //'Kies een getal tussen 1 en 3' mt_srand((int) microtime() * 10000); $bannerNo = mt_rand(1,3); } switch ($bannerNo) { //'Welke banner wordt het?' case 1: $bannerCode = 'sth1.jpg'; break; case 2: $bannerCode = 'sth2.jpg'; break; case 3: $bannerCode = 'sth3.jpg'; break; } } //Adkeuze (einde) $_SESSION['lastBanner'] = $bannerNo; //Sessienummer krijgt een bannernummer toegewezen echo $bannerCode ?> |
1 2 3 4 | <?php mysql_connect("sqladres", "databasenaam", "xxxxxxx"); mysql_select_db("databasenaam"); ?> |
1 2 3 4 5 6 7 8 9 10 | <?php if(isset($_COOKIE['CookieName'])) { echo "Ingelogd"; } else { echo "Uitgelogd"; } ?> |
http://nl3.php.net/setcookiequote:Op donderdag 13 januari 2011 18:50 schreef Habork het volgende:
Ik heb hier een klein probleem wat betreft cookies, ik heb een inlogscript gemaakt met behulp van cookies. Nu wil ik controleren of iemand ingelogd is met het volgende stukje script
[ code verwijderd ]
Dit werkt goed zolang ik dit probeer vanuit een map (of 'lager' gelegen map) waarin de cookie gemaakt is. Als ik een maplevel hoger zit dan werkt dit niet. Iemand enig idee hoe ik dit oplos?
quote:path
The path on the server in which the cookie will be available on. If set to '/', the cookie will be available within the entire domain. If set to '/foo/', the cookie will only be available within the /foo/ directory and all sub-directories such as /foo/bar/ of domain. The default value is the current directory that the cookie is being set in.
quote:Op donderdag 13 januari 2011 17:01 schreef Mirel het volgende:
Ik heb ooit een klein beetje php moeten doen, was toen een complete leek en nu nog steeds. Ik heb wat vraagjes.
Ik heb een drietal tekstboxjes en een submit knop. Moet de action tag naar m'n action.php in de form tag of in de submit knop tag?
1 2 3 | <form action="action.php"> <input type="submit" /> </form> |
Op de pagina waar je gegevens uit de database wilt lezen of erin wilt schrijven.quote:Ik heb een database aangemaakt en daarin zit een tabel met de 3 velden van de tekst (heb ik overigens gewoon VARCHAR gelaten). Op deze manier dacht ik te connecten:
[ code verwijderd ]
Ik heb dit nu staan op de pagina waar de form staat. Is het daar goed, of moet het in de action.php waar de knop of form dus naar verwijst? Of allebei?
Tabel selecteren doe je in de query zelf.quote:En hier selecteert hij de database op de 2e regel. Moet ik hier ook de tabel selecteren of moet dat in de action.php?
Vergeet niet dat een gebruiker zelf ook cookies kan aanmaken en op die manier heel makkelijk (onterecht) kan inloggen.quote:
Ligt eraan wat er in die cookie staat. Alleen een "ja" of "nee" om te controleren of iemand is ingelogd is een beetje dom. Als je er een hash van 64+ karakters in zet die per gebruiker uniek is, wordt het al een stuk lastiger om te misbruiken.quote:Op donderdag 13 januari 2011 22:35 schreef FastFox91 het volgende:
[..]
Vergeet niet dat een gebruiker zelf ook cookies kan aanmaken en op die manier heel makkelijk (onterecht) kan inloggen.
Wil je A.U.B wel letten op beveiligings problemen als je alleen werkt met COOKIES want je controleert op deze manier de inhoudt niet!quote:
in principe zou de gebruiker die toch ook kunnen kopiëren en terugzetten? Behalve als het om een hash gaat die iedere keer dat er ingelogd is wordt aangemaakt. (of begrijp ik er weer helemaal niks van ?)quote:Op vrijdag 14 januari 2011 10:54 schreef mstx het volgende:
[..]
Ligt eraan wat er in die cookie staat. Alleen een "ja" of "nee" om te controleren of iemand is ingelogd is een beetje dom. Als je er een hash van 64+ karakters in zet die per gebruiker uniek is, wordt het al een stuk lastiger om te misbruiken.
Normaal gebruik je ook alleen cookies als je data heb die je weer in een volgende sessie wilt gebruiken, dus dan is het ook de bedoeling dat je die de volgende sessie weer kunt terugzetten.quote:Op vrijdag 14 januari 2011 14:11 schreef minibeer het volgende:
[..]
in principe zou de gebruiker die toch ook kunnen kopiëren en terugzetten? Behalve als het om een hash gaat die iedere keer dat er ingelogd is wordt aangemaakt. (of begrijp ik er weer helemaal niks van ?)
Met de voorbeeld code van w3schools is het gelukt, maar met mijn eigen strings niet. Daarnaast had je in het voorbeeld 'Peter' en 'Griffin'. In de database zie ik alleen de eerste letters.quote:Op donderdag 13 januari 2011 18:55 schreef mstx het volgende:
[..]
[ code verwijderd ]
[..]
Op de pagina waar je gegevens uit de database wilt lezen of erin wilt schrijven.
[..]
Tabel selecteren doe je in de query zelf.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <? $name = $_POST["name"]; $credits = $_POST["credits"]; $description = $_POST["description"]; $con = mysql_connect("xxx", "xxx", "xxx"); if (!$con) { die('Could not connect: ' . mysql_error()); } mysql_select_db("xxx", $con); mysql_query("INSERT INTO challenges (name, credits, description) VALUES ($name, $credits, $description)"); ?> |
In een cookie alleen de sessie ID opslaan, en de sessiedata zelf op een server (bijvoorbeeld in de database) bijhouden en inderdaad koppelen aan IP en regelmatig laten verlopen. Zo werkt het hier op fok ook. Als ik op uitloggen klik heb ik de mogelijkheid om alle aan mijn account gekoppelde sessies te beëindigen en een eventueel gehijackte cookie nutteloos te maken.quote:Op vrijdag 14 januari 2011 14:46 schreef mstx het volgende:
[..]
Normaal gebruik je ook alleen cookies als je data heb die je weer in een volgende sessie wilt gebruiken, dus dan is het ook de bedoeling dat je die de volgende sessie weer kunt terugzetten.
Als iemand anders jouw cookie kopieert en in zijn browser plakt (dat bedoel jij?) heb je dan wel een probleem, daarom is het ook beter om het aan een IP te koppelen. Dat is waarschijnlijk ook niet 100% safe dus als iemand daar een betere methode voor heeft hoor ik het graag, dat vind ik ook wel interessant namelijk.
Dan kan toch ook met SESSIONID?quote:Op vrijdag 14 januari 2011 14:51 schreef Intrepidity het volgende:
[..]
In een cookie alleen de sessie ID opslaan, en de sessiedata zelf op een server (bijvoorbeeld in de database) bijhouden en inderdaad koppelen aan IP en regelmatig laten verlopen. Zo werkt het hier op fok ook. Als ik op uitloggen klik heb ik de mogelijkheid om alle aan mijn account gekoppelde sessies te beëindigen en een eventueel gehijackte cookie nutteloos te maken.
1 2 3 | <?php $map = 'fotoalbum'; |
Daar kan je vrij weinig aan zienquote:Op vrijdag 14 januari 2011 18:47 schreef Gitaarmat het volgende:
Heb een fotoalbum van het net geplukt om op mijn site te gebruiken maar volgens phpmyadmin is de eerste regel fout?
[ code verwijderd ]
of het komt omdat er nog geen map "fotoalbum" bestaat.
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |