ja!quote:Op zaterdag 20 januari 2007 21:05 schreef JeRa het volgende:
Tijd Voor PHP!
Niet meer of minder eenvoudig dan bij een update.quote:Op zaterdag 20 januari 2007 20:49 schreef ChOas het volgende:
[..]
En eenvoudiger om een SQL-injection uit te voeren.
Als je bv. kolom1 = 'abc', kolom2 = 'xyz' hebt, zie je in één oogopslag in welke kolom abc opgeslaan wordtquote:Op zaterdag 20 januari 2007 20:46 schreef JeRa het volgende:
[..]
Wat is er precies makkelijker aan en over welke overeenkomstige waarden heb je het?
Waarom zou je een wachtwoord in een serverside sessie opslaan?quote:Op zaterdag 20 januari 2007 21:28 schreef super-muffin het volgende:
Is een password encrypten met md5 en dan opslaan in een sessie veilig genoeg of niet?
ongeveer op deze manier?
[ code verwijderd ]
Waarom zou je een password in een sessie willen opslaan? (En waarom gebruik je dan niet $_SESSION ?)quote:Op zaterdag 20 januari 2007 21:28 schreef super-muffin het volgende:
Is een password encrypten met md5 en dan opslaan in een sessie veilig genoeg of niet?
ongeveer op deze manier?
[ code verwijderd ]
Tja, dat is een keuze. Aangezien jouw methode niet in een SQL standaard voorkomt pak ik het liever zo aan:quote:Op zaterdag 20 januari 2007 21:22 schreef fate het volgende:
[..]
Als je bv. kolom1 = 'abc', kolom2 = 'xyz' hebt, zie je in één oogopslag in welke kolom abc opgeslaan wordt :).
1 2 3 | VALUES (1, 'henk', TRUE), VALUES (2, 'piet', FALSE); |
Gaat rapquote:Op zaterdag 20 januari 2007 21:31 schreef Swetsenegger het volgende:
deel 37 alweer.
(ik deed geen $_SESSION omdat ik het ff snel typte, in mijn script staat het wel goedquote:Op zaterdag 20 januari 2007 21:37 schreef Light het volgende:
[..]
Waarom zou je een password in een sessie willen opslaan? (En waarom gebruik je dan niet $_SESSION ?)
Password controle doe je bij het inloggen, en daarna kun je in de sessie aangeven of iemand al dan niet is ingelogd.
Omdat ik een beginner benquote:Op zaterdag 20 januari 2007 21:35 schreef JeRa het volgende:
[..]
Waarom zou je een wachtwoord in een serverside sessie opslaan?
Dat klopt. Bij de serverside sessions kunnen je bezoekers niet komen, bij bv. hun eigen cookies wel.quote:Op zaterdag 20 januari 2007 21:51 schreef super-muffin het volgende:
[..]
Dus met het succesvol inloggen maak ik een sessie ($_SESSION[loggedin] = '1') en controleer op elke pagina of de sessie loggedin de waarde 1 heeft?
Geen excuus!quote:
Hoezo dat dan?quote:Op zaterdag 20 januari 2007 20:49 schreef ChOas het volgende:
[..]
En eenvoudiger om een SQL-injection uit te voeren.
Misschien is dat ook wel overzichtelijk maar toen ik eens voor een loginsysteem zo'n 35 kolommen had, was het toch gemakkelijker op mijn manierquote:Op zaterdag 20 januari 2007 21:43 schreef JeRa het volgende:
[..]
Tja, dat is een keuze. Aangezien jouw methode niet in een SQL standaard voorkomt pak ik het liever zo aan:
[ code verwijderd ]
En dan zie ik ook in één oogopslag bij welke kolommen de waardes horen
Die U-modifier werkt, dank je wel. Ik was er niet opgekomen, daar mijn kennis over regular expressions ook niet ver reikt.quote:Op zaterdag 20 januari 2007 14:58 schreef JeRa het volgende:
@Pelgrim
Waarom escape je de forwardslash? Als je de U-modifier toevoegt hoef je niet overal de greediness te negaten (dan kun je dus .*? schrijven als .*). Verder is het wel handig om te weten waar je op matcht en wat er zou moeten gebeuren, en wat er eventueel al gebeurt.
Ik zou meteen al aan m'n hoofd krabben als ik een query gebruikte waar 35 kolommen uit kwamen rollenquote:Op zondag 21 januari 2007 13:02 schreef fate het volgende:
[..]
Misschien is dat ook wel overzichtelijk maar toen ik eens voor een loginsysteem zo'n 35 kolommen had, was het toch gemakkelijker op mijn manier. Maar ieder zijn mening natuurlijk
.
Ja das wel een boel veelquote:Op zondag 21 januari 2007 16:17 schreef JeRa het volgende:
[..]
Ik zou meteen al aan m'n hoofd krabben als ik een query gebruikte waar 35 kolommen uit kwamen rollen
ligt er aan wat voor eenquote:Op zondag 21 januari 2007 17:37 schreef Swetsenegger het volgende:
Nog mensen opzoek naar een laptop trouwens?
Dan zit je dus vast aan het aantal verschillende typen rechten dat je in je rechtensysteem hebt, dat lijkt me net zo onoverzichtelijk als een INSERT-query schrijven met 35 kolommen die je apart moet gaan benoemenquote:Op zondag 21 januari 2007 17:57 schreef Light het volgende:
[..]
Het is een manier voor een rechtensysteem
ik heb C# geleerd maar geen VB.quote:Op maandag 22 januari 2007 08:59 schreef Swetsenegger het volgende:
Offtopic, maar hier zitten de web experts. ASP.NET met VB.NET of C#.NET? Welke kan ik het beste leren?
Kan je met C# meer dan met VB? Welke wordt het meest gevraagd of maakt dat niet uit?quote:Op maandag 22 januari 2007 09:07 schreef profielnaam het volgende:
[..]
ik heb C# geleerd maar geen VB.
maakt volgens mij niet heel veel uit, maar C# lijkt toch wel de standaard voor .NET development.quote:Op maandag 22 januari 2007 09:10 schreef Swetsenegger het volgende:
[..]
Kan je met C# meer dan met VB? Welke wordt het meest gevraagd of maakt dat niet uit?
Ik open er even een apart topic overquote:Op maandag 22 januari 2007 10:41 schreef GVRuud het volgende:
Vroegah kon je met C(destijds nog gewoon ++) veel meer dan met visual basic. Sinds de komst van het .NET platform zijn de functionaliteiten voor iedere taal hetzelfde, en liggen de mogelijkheden qua programmeertaal IMO ook gelijk.
..quote:Op maandag 22 januari 2007 11:32 schreef hornage het volgende:
jah, iemand nog dringende, moeilijke, hersenbrekende vragen/problemen met php?![]()
Ik sta op scherp, kom maar op!![]()
1 2 3 4 5 | if(isset($_GET['informatie'])){ $informatienaam = $_POST['selectinfo']; //selectinfo is de naam van de dropdown box } ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | if(isset($_GET['informatie'])){ $informatienaam = $_POST['selectinfo']; //selectinfo is de naam van de dropdown box if ((isset ($_GET['informatie'])) and (isset ($_GET['k1']))){ echo "$informatienaam"; echo "keuze 1 gekozen"; } if ((isset ($_GET['informatie'])) and (isset ($_GET['k2']))){ echo "$informatienaam"; echo "keuze 2 gekozen"; } } //sluiting if(isset($_GET['informatie'])) ?> |
dat klinkt als een hele slimme methode, probeer het eensquote:Op maandag 22 januari 2007 16:17 schreef Chandler het volgende:
tvp en tevens een kleine vraag.
Ik wil strings uit een tabel/veld lezen maar wil eerst de langste strings er uit halen? hoe doe ik dat? sorteren op lengte van de varchar?
Dit kan je oplossen door deze waardes in je form te zetten als een input type=hidden. Dan wordt het gewoon doorgestuurdquote:Op maandag 22 januari 2007 17:08 schreef Xevor het volgende:
Ik heb een pagina met een dropdown box, waarin informatie zit (voor het gemaakt info-a en info-b).
Bij het selecteren van info-a blijf je in dezelfde pagina maar komt er achter de pagina ?informatie te staan.
Met behulp van deze code:
[ code verwijderd ]
Maar het probleem komt nu. Ik wil verder gaan met de url in een volgende isset. Wanneer de pagina pagina.php?informatie geopend wordt komen er namelijk nog meer keuzes, voor het gemak keuze 1 en keuze 2.
Keuze 1 leidt naar pagina.php?informatie&k1
Keuze 2 leidt naar pagina.php?informatie&k2
Het probleem komt nu:
[ code verwijderd ]
Het probleem is dat $informatienaam 'vergeten' is bij keuze 1 en keuze 2 en er niks komt bij echo "$informatienaam"; Dus ik vroeg mij af waarom dit zo is en hoe het op te lossen is?
quote:Op maandag 22 januari 2007 17:31 schreef Xevor het volgende:
Dat helpt dus ook nietOverigens wel handig dat input type=hidden want dan gaan de submit knop weg nadat er al op geklikt is
Helaas is mijn probleem nog niet verholpen
Correct, maar hoe sorteer ik op de lengte??quote:Op maandag 22 januari 2007 17:13 schreef hornage het volgende:
[..]
dat klinkt als een hele slimme methode, probeer het eens![]()
heb je wel php draaien op je laptop?quote:Op dinsdag 23 januari 2007 07:16 schreef boeda-76 het volgende:
Hallo allemaal. Ik heb zins kort een Macbook. Draaide daar eerst Opera op, werkte helemaal ok. Heb sinds kort ook Firefox geinstalleerd, en nu kan ik bepaalde bestanden, eindigend op .php, niet meer met voorvertoning openen. Hij opent deze nu automatisch met het ColorSync-hulpprogramma, wat hier helemaal niet ideaal voor is. Heb natuurlijk al geprobeerd mbv toon info het programma te veranderen waar hij mee opent, maar elke keer komt hij toch weer met Colorsync. Iemand ideeen? Heb nu geen idee meer hoe dit op te lossen.
Mac OX 10.4, en Firefox 2.0
Bedankt
Volgens mij wil 'ie ze niet draaien, maar alleen openen met een ander programma (om te editen).quote:Op dinsdag 23 januari 2007 07:56 schreef Swetsenegger het volgende:
[..]
heb je wel php draaien op je laptop?
Nou ken ik Opera niet echt als een PHP editor maar meer als een browser. Er zal vast nog een programma zijn met de naam Opera, maar dan 1 die ik niet ken.quote:Op dinsdag 23 januari 2007 08:58 schreef CraZaay het volgende:
[..]
Volgens mij wil 'ie ze niet draaien, maar alleen openen met een ander programma (om te editen).
Goed puntquote:Op dinsdag 23 januari 2007 09:00 schreef Light het volgende:
[..]
Nou ken ik Opera niet echt als een PHP editor maar meer als een browser. Er zal vast nog een programma zijn met de naam Opera, maar dan 1 die ik niet ken.
Dat dusquote:Op dinsdag 23 januari 2007 09:00 schreef Light het volgende:
[..]
Nou ken ik Opera niet echt als een PHP editor maar meer als een browser. Er zal vast nog een programma zijn met de naam Opera, maar dan 1 die ik niet ken.
bij deze een mooie functie die dat voor je regelt:quote:Op maandag 22 januari 2007 22:32 schreef Chandler het volgende:
[..]
Correct, maar hoe sorteer ik op de lengte?? :D dat is dus de vraag :@
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | function sortByLength($array) { $sortedarray = array(); $index = 0; while ($array != array()) { $max = ""; $maxkey = 0; foreach ($array as $key => $value) { if (strlen($value) > strlen($max)) { $max = $value; $maxkey = $key; } } $sortedarray[$index] = $max; $index++; unset($array[$maxkey]); } return $sortedarray; } ?> |
quote:Op dinsdag 23 januari 2007 11:23 schreef boeda-76 het volgende:
Hoi,
wil inderdaad alleen maar bestanden die eindigen op .php kunnen openen en opslaan op mijn laptop. Ik heb nu Opera (webbrowser) er weer op gezet, en kan de bestanden wel openen, maar niet opslaan?![]()
de slashes zijn verwijderd er komt dus slash-n en slash-r voor in de plaats...quote:Op woensdag 24 januari 2007 11:26 schreef CraZaay het volgende:
"nr codes" ?
strip_tags() voor weergeven en daarna nl2br() bij postenquote:Op woensdag 24 januari 2007 12:04 schreef schwa78 het volgende:
[..]
de slashes zijn verwijderd er komt dus slash-n en slash-r voor in de plaats...
Dat gaat dus niet werken. De newlines zijn er al uit (vervangen door de string 'nr'), waardoor nl2br() niets meer doet. Daarnaast stript strip_tags() de html, en dus niet de string 'nr' afaikquote:Op woensdag 24 januari 2007 12:19 schreef THeeF het volgende:
[..]
strip_tags() voor weergeven en daarna nl2br() bij posten
Dat is één of andere stomme bug in Replique, ik heb me er ook al meermaals aan geërgerd en zeker als je een script post en al je backslashes worden zomaar verwijderdquote:Op woensdag 24 januari 2007 14:28 schreef CraZaay het volgende:
edit: Waarom slikt Fok! geen backslashesWaar 'nr' staat bedoelde ik dus 'backslash n backslash r'.
dat kan veel simpeler. Je weet dat php een aantal mooie array sorteer functies heeft met callback optie?quote:Op dinsdag 23 januari 2007 11:24 schreef hornage het volgende:
[..]
bij deze een mooie functie die dat voor je regelt:
[ code verwijderd ]
1 2 3 4 | FROM tabelX JOIN tabelY ON join_voorwaarde_y JOIN tabelZ ON join_voorwaarde_z |
Tnx, maar is er in MySQL geen functie die dat automatisch kan doen?quote:Op dinsdag 23 januari 2007 11:24 schreef hornage het volgende:
bij deze een mooie functie die dat voor je regelt:
In de documentatie van MySQL staan een hoop stringfuncties waar je met gemak op kunt sorteren. Jij zoekt waarschijnlijk LENGTH(kolom)quote:Op woensdag 24 januari 2007 17:09 schreef Chandler het volgende:
[..]
Tnx, maar is er in MySQL geen functie die dat automatisch kan doen?
Kun je daar een voorbeeld van geven? Heb zelf wat geexperimenteerd, maar schijnbaar wil mysql niet direct sorteren op length(kolom). Ik zou niet weten hoe deze query moet zonder een extra kolom...quote:Op woensdag 24 januari 2007 17:11 schreef JeRa het volgende:
[..]
In de documentatie van MySQL staan een hoop stringfuncties waar je met gemak op kunt sorteren. Jij zoekt waarschijnlijk LENGTH(kolom)let wel op dat dit soort sorteringen niet al te snel zijn omdat ze niet te indexeren zijn.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | if ( $mimetype bij $extensie hoort ) { grant_access ( ); } else { sterf( ); } ?> |
Nou, je gebruikt gewoon die functie in combinatie met een VARCHAR of TEXT kolomquote:Op woensdag 24 januari 2007 17:29 schreef ralfie het volgende:
[..]
Kun je daar een voorbeeld van geven? Heb zelf wat geexperimenteerd, maar schijnbaar wil mysql niet direct sorteren op length(kolom). Ik zou niet weten hoe deze query moet zonder een extra kolom...
1 |
Ik zou idd op mimetype, bestandsextensie en eventueel bestandsgrootte filtreren. Daar heb je ook handige functies voorquote:Op woensdag 24 januari 2007 18:17 schreef wobbel het volgende:
Wat is de beste manier om achter de bestandstype te komen van een geupload bestand? $_FILES['bestand']['type'] is niet veilig genoeg lees ik op php.net, maar wat is dan de beste manier?
Op extensie controleren én op mime-type? Ik ga er vanuit dat zoiets de veiligste manier is.
[ code verwijderd ]
Queries in MySQL zijn atomic, dat wil zeggen dat tijdens het uitvoeren van een SELECT, INSERT, UPDATE of DELETE MySQL garandeert dat de inhoud van de tabellen die je aanspreekt niet wijzigt. Daarvoor moet MySQL de tabellen locken, zodat wanneer jij een SELECT uitvoert die lang duurt er geen andere query tussen kan komen die de tabellen wijzigt. Echter kunnen queries die de tabellen niet wijzigen (andere SELECTs) wél gewoon worden uitgevoerd tijdens een langdurige SELECT.quote:Op woensdag 24 januari 2007 18:52 schreef Chandler het volgende:
Vraag m.b.t. het locken van tabellen? hoe kan een tabel gelocked worden zonder dat je daarvoor speciale queries draait?
vandaag is een website van een opdrachtgever offline gezet op zijn nieuwe hosting omdat de queries (ja het zijn er heel wat per pagina, maar goed en niet door mij gescript) de tabellen zouden locken en problemen zou veroorzaken m.b.t. de preformance van MySQL.
Heeft iemand hier een mooie uitleg voor?
hoe simpelquote:Op woensdag 24 januari 2007 18:50 schreef JeRa het volgende:
[..]
Nou, je gebruikt gewoon die functie in combinatie met een VARCHAR of TEXT kolomeventueel via een apart veld:
[ code verwijderd ]
Tnx, helaas voor mij is de technicus van deze webhosting niet meer aanwezig en moet ik dus wachten tot morgen ochtend om voor deze klant de problemen op te lossen... gelukkig ben ik al weer heel wat kennis rijker (door jouquote:Op woensdag 24 januari 2007 19:02 schreef JeRa het volgende:
[..]
Queries in MySQL zijn atomic, dat wil zeggen dat tijdens het uitvoeren van een SELECT, INSERT, UPDATE of DELETE MySQL garandeert dat de inhoud van de tabellen die je aanspreekt niet wijzigt. Daarvoor moet MySQL de tabellen locken, zodat wanneer jij een SELECT uitvoert die lang duurt er geen andere query tussen kan komen die de tabellen wijzigt. Echter kunnen queries die de tabellen niet wijzigen (andere SELECTs) wél gewoon worden uitgevoerd tijdens een langdurige SELECT.
Je kunt dus last krijgen van verminderde performance bij locking als:
1) Je een SELECT hebt draaien die lang duurt
2) Je gelijktijdig iets in de tabellen die worden aangesproken door de SELECT wilt wijzigen
Kwestie van uitzoeken welke queries er lastig doen, dushint: SHOW FULL PROCESSLIST
Ik ook nietquote:Op woensdag 24 januari 2007 19:28 schreef ralfie het volgende:
[..]
hoe simpel![]()
half uur zitten klooien met ORDER BY length(text) en veel, VEEL varianten daarop...maar er nooit aan gedacht om de LENGTH() in het SELECT deel te zetten
Leuk probleem. Alleen zie ik zo gauw geen oplossing, ook niet met een group by trouwens.quote:Op woensdag 24 januari 2007 17:06 schreef JeRa het volgende:
Ik heb een tabel X [...]
Het rare is dus dat ik helemaal geen vreemd datamodel heb, het is sterk genormaliseerd zelfs. Je zou zeggen dat er meer mensen tegen een dergelijk probleem oplopen als ze twee of meer typen attributen aan één item willen toekennen in een database.quote:Op woensdag 24 januari 2007 21:41 schreef SuperRembo het volgende:
[..]
Leuk probleem. Alleen zie ik zo gauw geen oplossing, ook niet met een group by trouwens.
Dat is wel te doen, maar dan nog vind ik het niet bij het hiërarchische model horen dat ik in m'n database heb vastgelegdquote:Op woensdag 24 januari 2007 22:05 schreef SuperRembo het volgende:
Ik denk niet dat je hoeft te groupen op de tekstvelden zelf. Als het je lukt om (met een eigen aggregate) de juiste id's van tabel X, Y en Z bij elkaar hebt, dan kan je daar wel weer tegenaan joinen om de teksten op te halen.
Ja dat idee dus, maar dan voor DBMS'en als MySQL of PgSQLquote:Op woensdag 24 januari 2007 22:23 schreef Chandler het volgende:
http://en.wikipedia.org/wiki/Dimensional_database zou dit eventueel nog kunnen helpen?
1 2 3 4 5 6 7 8 9 10 11 12 13 | function check($invoer) { $woorden = array('acces' => 'access'); foreach($woorden as $fout => $goed) { $invoer = preg_replace("#".preg_quote($fout,'#')."#i","$goed",$invoer); } return $invoer; } $tekst = 'acces'; echo check($tekst) ?> |
1 2 3 4 5 6 7 | $tekst = 'acces ies vout'; $foute_woorden = array('acces', 'vout', 'ies'); $goede_woorden = array('access', 'goed', 'is'); $tekst = str_replace($foute_woorden, $goede_woorden, $tekst); print $tekst; ?> |
Wil je de rijen random uit de database trekken, of wat?quote:Op vrijdag 26 januari 2007 16:43 schreef wobbel het volgende:
Wat is de beste manier om met de hand de volgorde te bepalen van rijen in de database?
Ik heb nu de volgende rijen:
- Waarde 1
- Waarde 2
- Waarde 3
- Waarde 4
Maar ik wil met de hand bepalen dat het zo wordt weergegeven vanuit de database:
- Waarde 3
- Waarde 2
- Waarde 1
- Waarde 4
Tot hier snapte ik het nogquote:Op vrijdag 26 januari 2007 17:07 schreef hornage het volgende:
de volgorde wordt bepaald door de index. Standaard zit er eentje op je primary key. Als die niet de volgorde geeft die je wilt hebben lijkt mij dat je een extra field aanmaakt en daar een index op maakt.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | $subject = 'Je bent ge-emaild vanaf mijndomein.nl'; $headers .= "From: test <webmaster@mijndomein.nl>n"; $headers .= "Reply-To:webmaster@mijndomein.nln"; $headers .= "Return-Path: <webmaster@mijndomein.nl>n"; $headers .= "MIME-Version: 1.0 n"; $headers .= "Content-Type: text/html; charset=iso-8859-1n"; $message = 'Hallo <b>dit is een testje</b> '; if(!mail('emailadres@tiscali.nl', $subject, $message,$headers)) { echo '<br/><b>De email kon niet worden verzonden.</b><br />'; } else { echo 'Je email is verzonden.'; } |
1 2 3 4 5 6 7 | $headers = "MIME-Version: 1.0\r\n"; $headers .= "Content-Type: text/html; charset=\"iso-8859-1\"\r\n"; $headers .= "From: info@domein.nl\r\n"; $headers .= "Return-Path: info@domein.nl\r\n"; $headers .= "Bcc: iemand@anderdomein.nl"; ?> |
Kortom: extra kolom toevoegen aan je tabel, hier cijfers in zetten en op deze kolom sorteren. Tip: gebruik geen kolomnaam als "order" bijvoorbeeldquote:
Ik vermoed dat er niet consequent wordt omgegaan met $_HTTP_SESSION_VARS en $_SESSION; even de overduidelijke valkuil uit de weg halen: op het begin van het script staat wel session_start()?quote:Op zaterdag 27 januari 2007 09:42 schreef splendor het volgende:
Een vriend van mij heeft een verse windows instalatie en daar Appserv (apache+mysql+php) op geinstaleerd en alles werkt verder goed maar zijn sessies krijgt ie niet aan de gang.
$_HTTP_SESSION_VARS werkt wel maar zodra hij $_SESSION gebruikt wordt het sessie bestandje wel aangemaakt maar niet gevuld met waardes.
Iemand een idee hoe dit kan?
Alle sessie instellingen in php staan waarschijnlijk wel goed want die hebben we vergeleken met die van mij. En de map heeft gewoon schrijfrechten dus dat is het probleem ook niet.
1 2 3 4 5 6 7 8 9 | session_start(); $_SESSION['test'] = "a"; $HTTP_SESSION_VARS['test2'] = "b"; echo $_SESSION['test']; //werkt wel echo $HTTP_SESSION_VARS['test2']; //werkt wel ?> |
1 2 3 4 5 6 7 8 9 | session_start(); //$_SESSION['test'] = "a"; //$HTTP_SESSION_VARS['test2'] = "b"; echo $_SESSION['test']; //werkt niet echo $HTTP_SESSION_VARS['test2']; //werkt wel ?> |
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |