Die regels zijn niet veranderdquote:Op maandag 1 januari 2007 23:09 schreef qu63 het volgende:
mogen we in het nieuwe jaar tvp-en?
in dat geval herhaal ik me zelf:quote:
quote:Op zondag 31 december 2006 09:43 schreef mschol het volgende:
ik lees nu dagelijks me post aantal uit vanuit fok, hier wil ik een grafiekje van maken wat het volgende kan:
1 plaatje met grafiek, waarvan de X as in gesteld kan worden (week, maand, jaar) Y moet dynamisch mee gaan met de maximum waarde (dus de laatste dag die wordt getoond) + beetje extra speling (zodat de lijn niet tot aan de rand komt
2 een lijn tussen de dagen trekken. (zodat je dus een mooi verloop krijgt te zien)
iemand een idee hoe ik dit kan aanpakken?
tutorials m.b.t. GD Libary en grafieken maken?
1 2 3 4 5 6 7 | $txt = "Héllo Çårmëñ, hôw àré yõü?"; $txt = htmlentities($txt); $txt = preg_replace('`&(.)(tilde|circ|grave|acute|uml|ring|cedil);`', '$1', $txt); $txt = str_replace(' ', '-', $txt); echo($txt); ?> |
1 2 3 4 5 6 7 8 | $txt = "Héllo Çårmëñ, hôw àré yõü?"; $txt = htmlentities($txt); $txt = preg_replace('`&(.)(tilde|circ|grave|acute|uml|ring|cedil);`', '$1', $txt); $txt = preg_replace('/[^\w\d\s]/', '$1', $txt); $txt = str_replace(' ', '-', $txt); echo($txt); ?> |
Thanks!!quote:Op dinsdag 2 januari 2007 11:35 schreef HuHu het volgende:
Dan zou je dit kunnen gebruiken:
[ code verwijderd ]
Moet die $1 niet gewoon een spatie zijn? Want die reference bestaat nu toch niet?quote:Op dinsdag 2 januari 2007 11:35 schreef HuHu het volgende:
Dan zou je dit kunnen gebruiken:
1 $txt = preg_replace('/[^wds]/', '$1', $txt);
Die reference is datgene wat herkent wordt door de [^\w\d\s] toch? Dus moet er een $1 staan en geen ' '.quote:Op dinsdag 2 januari 2007 12:57 schreef JeRa het volgende:
[..]
Moet die $1 niet gewoon een spatie zijn? Want die reference bestaat nu toch niet?
[^\w\d\s]quote:Op dinsdag 2 januari 2007 13:47 schreef HuHu het volgende:
[..]
Die reference is datgene wat herkent wordt door de [^\w\d\s] toch? Dus moet er een $1 staan en geen ' '.
Owja... je hebt gelijk. Dat was ook de intentie, om er een '' te hebben staan. Copy-paste van de regel erboven en niet helemaal aangepastquote:Op dinsdag 2 januari 2007 13:50 schreef JeRa het volgende:
[..]
[^\w\d\s]
Dat is een character class die alle characters matcht die NIET \w (word character), \d (number character) of \s (whitespace) zijn. Als je die zou vervangen door $1, dus hetgene wat wordt gematcht, dan verandert er niets aan de string.
Maar dat is niet wat er nu gebeurt. Die references werken alleen op $0 (de gematchede string) en $n waarbij n vanaf links gezien het nde aantal haakjes () dat geopend is. Maar die heb je niet, en dus wordt '$1' gelijk aan '', een lege string. En dáárom worden de characters nu verwijderdmaar dan kun je net zo goed die $1 weglaten
1 |
ik snap je nietquote:Op dinsdag 2 januari 2007 16:31 schreef Tiemie het volgende:
kan iemand me even helpen met een regular expression?
In de database staat een veld met daarin de titel en daarachter dit als het aan een artikel gekoppelt is:
[ code verwijderd ]
Van dit ene veld wil ik 2 aparte maken (titel en artikel_id) en nu zoek ik een expression om dat ID eruit te vissen.
1 2 3 4 5 6 7 8 | while(<>) { chomp(); # perl, kan je verder ignoren $line = $_; # perl, kan je verder ignoren while ($line =~ m/\b(?:section|id)=((?:\w|\d)+)\b/g) { print $1 . "n"; } }' |
Probeer eens zoiets? (niet getest)quote:Op dinsdag 2 januari 2007 16:31 schreef Tiemie het volgende:
kan iemand me even helpen met een regular expression?
In de database staat een veld met daarin de titel en daarachter dit als het aan een artikel gekoppelt is:
[ code verwijderd ]
Van dit ene veld wil ik 2 aparte maken (titel en artikel_id) en nu zoek ik een expression om dat ID eruit te vissen.
1 2 3 | preg_match('#(<a href="http://www.website.nl/index.php?section=article&action=show&id=(\d+)"><i>(.*)</i></a>)#Ui', $string, $matches); print_r($matches); |
1 2 3 4 | $matches = array(); preg_match('#(<a href="http://www.website.nl/index.php?section=article&action=show&id=(d+)"><i>(.*)</i></a>)#Ui', $string, $matches); print_r($matches); |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | RewriteRule ^fforum/[a-z0-9-]+-([pt])([0-9]+).html$ /fforum/viewtopic.php?$1=$2 [L] RewriteRule ^fforum/[a-z0-9-]+-f([0-9]+).html$ /fforum/viewforum.php?f=$1 [L] RewriteRule ^fforum/[a-z0-9-]+-c([0-9]+).html$ /fforum/index.php?c=$1 [L] RewriteRule ^fforum/[a-z0-9-]+-u([0-9]+).html$ /fforum/profile.php?mode=viewprofile&u=$1 [L] RewriteRule ^fforum/([a-zA-Z0-9_]+),([^/,]+),([^/,] RewriteRule ^fforum/[a-z0-9-]+-([pt])([0-9]+),([^/,]+),([^/,] RewriteRule ^fforum/[a-z0-9-]+-f([0-9]+),([^/,]+),([^/,] RewriteRule ^fforum/([a-zA-Z0-9_]+).html$ /fforum/$1.php [L] ## fforum/filename.html => forum/filename.php ## preg_replace("#fforum/([a-zA-Z0-9_]+).html#sie","'fforum/\1.php'", $text); */ //RewriteRule ^fforum/[a-z0-9-]+-f([0-9]+).html$ /fforum/viewforum.php?f=$1 $text = 'fforum/viewforum,f,1.html'; $textt = preg_replace("#fforum/[a-z0-9,-]+-f([0-9]+).html#sie","'/fforum/viewforum.php?f=$1'", $text); echo $textt; |
Ja, je moet wel een voorbeeld pakken zoals je hem eerder gafquote:
Ik zie geen eregi_replace() in je code hoor.quote:Op dinsdag 2 januari 2007 19:48 schreef Darkomen het volgende:
ff iets stoms, ik wil deze rewrite rules omzetten naar eregi replace.
1) Een min-teken in een character class heeft een speciale betekenis (range). Escapen dus (geen komma).quote:en dacht dat op de onderstaande manier te doen, maar werkt helaas niet.
[ code verwijderd ]
Waarom is er nou niet een tooltje dat waar je je string kan ingeven, aan kan geven wat je wilt dat gereplaced word, en dat je dan een goede regex krijgt
1 |
1 2 3 4 5 6 7 8 9 10 11 | ## fforum/viewforum,f,1.html => fforum/viewforum.php?f=1 ## preg_replace('/fforum/([a-z]+),f,([0-9]+).html/i','/fforum/viewforum.php?f=$2', $text); RewriteRule ^fforum/[a-z0-9-]+-c([0-9]+).html$ /fforum/index.php?c=$1 [L] ## fforum/general-c1.html => => /fforum/index.php?c=1 ## preg_replace('/fforum/[a-z0-9-]+-c([0-9]+).html/i','/fforum/index.php?c=$1', $text); RewriteRule ^fforum/([a-zA-Z0-9_]+).html$ /fforum/$1.php [L] ## fforum/filename.html => fforum/filename.php ## preg_replace("#fforum/([a-zA-Z0-9_]+).html#sie","'fforum/\1.php'", $text); |
1 2 3 4 5 6 | RewriteRule ^fforum/[a-z0-9-]+-([pt])([0-9]+).html$ /fforum/viewtopic.php?$1=$2 [L] RewriteRule ^fforum/[a-z0-9-]+-u([0-9]+).html$ /fforum/profile.php?mode=viewprofile&u=$1 [L] RewriteRule ^fforum/([a-zA-Z0-9_]+),([^/,]+),([^/,]*)([^/]*.html)$ fforum/$1$4?$2=$3 [QSA,N] RewriteRule ^fforum/[a-z0-9-]+-([pt])([0-9]+),([^/,]+),([^/,]*)([^/]*.html)$ fforum/viewtopic$5?$1=$2&$3=$4 [QSA,N] RewriteRule ^fforum/[a-z0-9-]+-f([0-9]+),([^/,]+),([^/,]*)([^/]*.html)$ fforum/viewforum$4?f=$1&$2=$3 [QSA,N] |
PHP is daar niet de handigste taal voor, aangezien PHP server-side wordt uitgevoerd, terwijl je iets wil weten wat alleen op de client aanwezig is. Misschien kun je beter een JavaScriptje zoeken ofzo die het lokale IP achterhaalt.quote:Op woensdag 3 januari 2007 15:22 schreef zovty het volgende:
Ik bedoel juist het lokale adres van de gebruiker/browser computer, niet van de server.
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 | $sql = "SELECT * FROM prijsav_catering WHERE status = 'Aanvraag'"; $result = mysql_query($sql); if (mysql_num_rows($result) == 0) { echo "Geen aanvragen gevonden."; exit; } while ($row = mysql_fetch_assoc($result)) { //Datum maken $dd = substr($row[date],6,2); $mm = substr($row[date],4,2); $yyy = substr($row[date],0,4); $HH = substr($row[date],8,2); $MM = substr($row[date],10,2); $SS = substr($row[date],12,2); $date = "$mm/$dd/$yyy $HH:$MM:$SS"; $sql = "SELECT * FROM prijsav_klant WHERE date = $date"; $result2 = mysql_query($sql); while ($row2 = mysql_fetch_assoc($result2)) { } } ?> |
Dat laatste werkt inderdaad niet in mijn situatie. (forwarded for is meer iets dat proxy servers toevoegen.)quote:Op woensdag 3 januari 2007 15:33 schreef Tijn het volgende:
Misschien kun je beter een JavaScriptje zoeken ofzo die het lokale IP achterhaalt.
Wat je zou kunnen proberen is getenv('HTTP_X_FORWARDED_FOR'). Maar dat is niet erg betrouwbaar.
Welke data-type gebruik je voor de datum in de tabellen?quote:Op woensdag 3 januari 2007 15:35 schreef dnzl het volgende:
Ik probeer met een het ene mysql celwaarde een andere mysql rij te laden maar dit lukt niet.
[ code verwijderd ]
Waarom werkt dit zo niet?
persoonlijk heb ik nooit problemen gehad hiermee. Zolang het maar tussen quotes staat gaat het goed, het kan natuurlijk voor jezelf onoverzichtelijk worden. Ik denk dat het qua functionaliteit verder niet uitmaakt.quote:Op woensdag 3 januari 2007 16:19 schreef beerten het volgende:
En nog iets: je hebt de kolom "date" genoemd. NIET DOEN!!! PHP kent ook een functie date(). Dit gaat je absoluut problemen opleveren. Kies voor je variabelen altijd namen welke NIET voorkomen in PHP of MySQL commando's/functies.
Misschien dat dat ook de fout is in jou stukje code. $row[date] Naast de reeds genoemde enkele quotes zou ik zeker ook de kolomnaam veranderen. row['datum'] is prima.
1 2 3 | exec("g:/windows/system32/notepad.exe"); ?> |
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 | header("Content-type: image/png"); $avatars[] = "avatars/1.png"; $avatars[] = "avatars/2.png"; $avatars[] = "avatars/3.png"; $avatars[] = "avatars/4.png"; $avatars[] = "avatars/5.png"; $avatars[] = "avatars/6.png"; $avatars[] = "avatars/7.png"; $avatars[] = "avatars/8.png"; $avatars[] = "avatars/9.png"; $avatars[] = "avatars/10.png"; $avatar = $avatars[mt_rand(0, count($avatars)-1)]; $string = $_GET['text']; $im = imagecreatefrompng("$avatar"); $black = imagecolorallocate($im, 255, 25, 25); $px = (imagesx($im) - 7 * strlen($string)) / 2; imagestring($im, 4, $px, 44, $string, $black); $newavatar = imagecreatefrompng($avatar); imagepng($im); imagedestroy($im); ?> |
1 |
Dit klopt in grote lijnen, maar je moet geen functie date willen definieren. Dan kom je in problemen met PHP (als je de datefunctie van PHP wilt aanspreken). Een variable $date of $bla['date'] zal echt geen impact op de functie date hebben.quote:Op woensdag 3 januari 2007 16:19 schreef beerten het volgende:
En nog iets: je hebt de kolom "date" genoemd. NIET DOEN!!! PHP kent ook een functie date(). Dit gaat je absoluut problemen opleveren. Kies voor je variabelen altijd namen welke NIET voorkomen in PHP of MySQL commando's/functies.
Misschien dat dat ook de fout is in jou stukje code. $row[date] Naast de reeds genoemde enkele quotes zou ik zeker ook de kolomnaam veranderen. row['datum'] is prima.
direct path opgeven van het font?quote:Op woensdag 3 januari 2007 21:17 schreef IkWasHier het volgende:
Dat heb ik al geprobeerd dan krijg ik een witte pagina. (Ja de font staat op m'n server)
[ code verwijderd ]
Heb ik dan als code. Is hier iets mis mee?
Door de MySQL query GRANT uit te voeren.quote:Op donderdag 4 januari 2007 09:29 schreef Theamerican het volgende:
weet iemand hoe ik een user rechten kan geven aan een database door middel van een script?
oke zal eens proberenquote:Op donderdag 4 januari 2007 09:34 schreef HuHu het volgende:
[..]
Door de MySQL query GRANT uit te voeren.
google 1ste hit:quote:Op donderdag 4 januari 2007 10:22 schreef Theamerican het volgende:
iemand zei dat ik dit moest gebruiken MySQL query GRANT
maar ik ben helemaal niet thuis in dit gebeuren maar hoe moet ik dat typen? dat gaat er eigenlijk om
Ik heb nu gewoon die laatste parameter weggehaald met HTTP_HOST erin en nu werkt het wel goedquote:Op donderdag 4 januari 2007 10:18 schreef Desdinova het volgende:
ah ok. dan zou alleen cookie stelen een liability zijn. maar persoonlijk weet ik daar het fijne niet van.
als het goed is kan je de HTTP_HOST ook weglaten.. probeer dat eerst maar even
mijn bericht was ook voor chandler, ff voor de duidelijk erbij gezet.quote:Op donderdag 4 januari 2007 10:57 schreef Theamerican het volgende:
ik werk met ms sql
Correct, echter blijft mijn IE gewoon naar www.project.nl gaan (de echte domein, ipv naar 127.0.0.1/projectquote:Op donderdag 4 januari 2007 10:50 schreef Desdinova het volgende:
ja in je c:windowssystem32driversetchosts
dan moet je iets neerzetten van 127.0.0.1/project www.project.nl
Alle browsers afsluiten.quote:Op donderdag 4 januari 2007 11:36 schreef Chandler het volgende:
[..]
Correct, echter blijft mijn IE gewoon naar www.project.nl gaan (de echte domein, ipv naar 127.0.0.1/project
Of moet ik mijn laptop daar voor booten?
tenzij je op hetzelfde uitgaande IP zit. of je de cookie aanpast met je eigen IP.quote:Op donderdag 4 januari 2007 11:38 schreef HuHu het volgende:
Door cookies te jatten kun je altijd een sessie overnemen. Een oplossing daarvoor is om de sessie te koppelen aan een IP adres. Een gejat cookie wordt dan nutteloos.
Uiteraard het IP server-side opslaanquote:Op donderdag 4 januari 2007 11:52 schreef Desdinova het volgende:
[..]
tenzij je op hetzelfde uitgaande IP zit. of je de cookie aanpast met je eigen IP.
Gedaan, soms moet ik dan nog een minuut wachten voordat het veranded isquote:Op donderdag 4 januari 2007 11:39 schreef HuHu het volgende:
[..]
Alle browsers afsluiten.
Eventueel explorer.exe herstarten.
1 2 3 4 5 6 7 8 | function replaceLinks($text) { $text = ereg_replace('[-a-z0-9!#$%&'*+/=?^_`{|}~]+@([.]?[a-zA-Z0-9_/-])*', '<a href="mailto:\0">\0</a>',$text); $text = ereg_replace("[a-zA-Z]+://([.]?[a-zA-Z0-9_/-])*", "<a href="\0" target="_blank">\0</a>", $text); $text = ereg_replace("(^| )(www([.]?[a-zA-Z0-9_/-])*)", "\1<a href="http://\2" target="_blank">\2</a>", $text); return $text; } ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | $lines = file($textpath[0]); $title = $lines[0]; $intro = $lines[1]; $body = ""; for ($i=2;$i < sizeof($lines);$i++) $body = $body.$lines[$i]; if ($body == "") { $body = $intro; $intro = ""; } $body = replaceLinks($body); $intro = replaceLinks($intro); $body = nl2br($body); $intro = nl2br($intro); $title = addslashes($title); $body = addslashes($body); $intro = addslashes($intro); ?> |
Heb alles al geprobeerd, hele path, hele path zonder ".ttf".quote:Op donderdag 4 januari 2007 09:10 schreef Darkomen het volgende:
[..]
direct path opgeven van het font?
vul ditquote:Op donderdag 4 januari 2007 12:27 schreef Chandler het volgende:
[..]
Gedaan, soms moet ik dan nog een minuut wachten voordat het veranded is
Maar nu weer het zelfde probleem
ik heb
127.0.0.1 LOCALHOST
127.0.0.1/project www.newproject.nl
nu pakt hij newproject.nl maar localhost werkt dan niet meer
Ziet iemand de fout?
1 2 3 4 | # localhost 127.0.0.2 *.newproject.nl # test bedrijf |
1 2 3 4 5 6 | ServerAdmin info@newproject.nl ServerName newproject.nl ServerAlias *.newproject.nl DocumentRoot d:/www/bedrijf/www.newproject.nl </VirtualHost> |
Je bent niet echt duidelijk.quote:Op donderdag 4 januari 2007 14:28 schreef Theamerican het volgende:
goed ik zal wat duidelijker uitleggen
ik werk met ms sql 2005
wat ik wil is dit.
ik heb een gebruiker die al bestaat die gebruiker wil ik rechten geven tot mijn database en ik wil dat sql ziet om welke gebruiker het gaat.
heb via google gezocht krijg ik wel termen wat je moet gebruiken zoals grant maar ik weet ook dat er , en ; moet komen enzo maar waar dan en hoe?
iemand een voorbeeld van een script die ik alleen maar hoef aan te passen
velen dank![]()
% is de modulus-operator, die geeft je de rest na deling (en ja, dat komt neer op het net zolang verminderen totdat het niet meer kan)quote:Op donderdag 4 januari 2007 12:07 schreef Desdinova het volgende:
Wat doet $string &1 precies?
Ik weet dat $string % 2 door blijft gaan met het verminderen van 2 totdat het niet meer kan, bij een onevengetal hou je dus een 1 over, en anders een 0. maar wat doet die & 1?
1 2 3 4 5 6 7 8 9 10 11 | function replaceLinks($ret) { $ret = ' ' . $ret . ' '; $ret = preg_replace("#([sn>])(https?|ftp)://([^s<>{}()]+[^s.,<>{}()])#i", "$1<a href='$2://$3' rel='nofollow'>$2://$3</a>", $ret); $ret = preg_replace("#([sn>])(www|ftp).([a-z0-9-]+).([a-z0-9-.~]+)((?:/[^ <>{}()nr]*[^., <>{}()nr]?)?)#i", "$1<a href='http://$2.$3.$4$5' rel='nofollow'>$2.$3.$4$5</a>", $ret); $ret = preg_replace("#([sn>])([a-z0-9-_.]+)@([a-z0-9-_.]+).([^,< nr]+)#i", "$1<a href="mailto:$2@$3.$4">$2@$3.$4</a>", $ret); $ret = preg_replace("#(<a [^>]+)<a [^>]+([^>]+?)</a></a>#i", "$1$2</a>", $ret); $ret = trim($ret); return $ret; } ?> |
Nee dat is juist het probleem, ik moet ook controleren of subdomeinen werken (in het script dan!) maar dat ga ik nu tijdelijk even oplossen door voor gedefenieerde variabelen.. Had het alleen graag anders geprobeerdquote:Op donderdag 4 januari 2007 13:13 schreef Desdinova het volgende:
maakt dat zoveel uit dan momenteel?
ik ging er eigenlijk vanuit dat je gewoon de linkjes wilde checken ofzo, of afbeeldingen.
ik had daar gekeken, daar heb ik ook mijn kennis (quote:Op donderdag 4 januari 2007 15:50 schreef JeRa het volgende:
[..]
% is de modulus-operator, die geeft je de rest na deling (en ja, dat komt neer op het net zolang verminderen totdat het niet meer kan)
& is een bit-operator, en die moet je dus zeker niet (net zoals bij % trouwens) op een string toepassenelke bit van beide getallen wordt dan met elkaar vergeleken. 1 & 1 = 1, 1 & 0 = 0, 0 & 0 = 0.
Voor meer leesplezier: http://nl2.php.net/operators
Binary operators werken op de binaire getallenquote:Op vrijdag 5 januari 2007 09:02 schreef Desdinova het volgende:
[..]
ik had daar gekeken, daar heb ik ook mijn kennis () over % vandaan.
maar momenteel test ik bijvoorbeeld of een getal even of oneven is door $string&1 te gebruiken (ooit eens ergens gevonden op een tutorialsite ofzo), maar ik kan nu niet verklaren wat het doet (behalve dat het werkt).
voorheen gebruikte ik %2, en die is mij nu wel duidelijknu de &1 nog
Even een situatie waar je binary operators héél goed kunt gebruiken.quote:Op vrijdag 5 januari 2007 09:52 schreef Desdinova het volgende:
aaah oke is mij enigszins duidelijk
ik kan me alleen even geen situatie indenken waarbij je dat zou moeten gebruikenbehalve het checken of het even of oneven is
thanks!
1 2 3 4 5 6 7 | SELECT *, DATE_FORMAT(datum,'%d %M %Y') AS nldate FROM news WHERE lang = '" . $_COOKIE['language'] . "' AND zichtbaar = 1 ?> |
1 2 3 | date("j M Y", $timestamp); ?> |
Ik had 'm nog ge-edit. Er zit verschil in de benaming tussen UNIX en Windows.quote:Op vrijdag 5 januari 2007 16:41 schreef super-muffin het volgende:
dank je wel
Het gaat wel lukken zo. Alleen heb ik deze setlocale gebruikt:
setlocale (LC_ALL, 'nl_NL');
Trouwens, die cookie gaat nog wel gecontroleerd worden, maar dat komt later pas
1 2 3 4 5 6 7 | SELECT *, DATE_FORMAT(datum,'%d %b %Y') AS nldate FROM news WHERE lang = '" . $_COOKIE['language'] . "' AND zichtbaar = 1 ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | $result = mysql_query("SELECT datum FROM news WHERE lang = '" . $_COOKIE['language'] . "' AND zichtbaar = 1"); $datum = mysql_result($result,0,0); $timestamp = strtotime($datum); setlocale(LC_ALL, 'nl_NL'); echo strftime('%e %b %Y', $timestamp); ?> |
Niemand?quote:Op donderdag 4 januari 2007 05:26 schreef wonderer het volgende:
Ik wil mijn nieuwe site object georienteerd programmeren, maar ik heb er weinig ervaring mee. Weet iemand een site (nl/en) voor beginners waar ik wat houvast aan heb? Ik heb in het verleden wel iets gedaan met OOP in PHP, maar dat is allang weggezakt (en eerlijk gezegd begreep ik toen geen flikker van wat ik aan het doen was). Ik heb wel wat ervaring in PHP verder.
Iemand een leuk linkje?
1 2 3 4 | <a class="list" href="/loggedin/torrent.do?info_hash=7af1f52fe37cfce27f64157538a714be24aea012">Season 6 Prequel</a><br> <a class="admin" href="/loggedin/TorrentLoaderServlet?info_hash=7af1f52fe37cfce27f64157538a714be24aea012">download</a></td> ?> |
1 2 3 4 | $html = file_get_contents(LINK ZET IK HIER NIET NEER NATUURLIJK); if(preg_match_all('/loggedin/TorrentLoaderServlet?info_hash=([a-f0-9]{40,})/',$html,$matches)) ?> |
Dank u. Ik moet helaas voorlopig nog met PHP4 werken, maar dat eerste artikel heeft wel het een en ander verduidelijkt.quote:Op vrijdag 5 januari 2007 18:58 schreef beerten het volgende:
http://www.phpfreakz.nl/artikelen.php?aid=99
http://www.phpfreakz.nl/artikelen.php?aid=116
Moet die {40,} geen {40} zijn? Mijn editor vind hem dan lief.quote:Op vrijdag 5 januari 2007 22:09 schreef qu63 het volgende:
stukje code wat op een website staat:
[ code verwijderd ]
mijn regexp om de download-link er uit te vissen:
[ code verwijderd ]
ergens gaat het fout..
mn regexp moet de hash-code van 40 tekens uit de link vissen en deze uitspugen.
iemand tips waar de fout zit/hoe het beter kan?
1 2 3 4 5 6 | count(weblog_posts.subdomein) AS totalPost FROM weblogs LEFT JOIN weblog_posts ON weblog_posts.subdomein = weblogs.subdomein HAVING totalPost > 0 GROUP BY weblogs.subdomein |
1 2 3 4 5 | weblogs.subdomein 2 weblog_posts weblogs.subdomein, weblogs.datumtijd |
"Unknown modifier 'T' " krijg ik dan..quote:Op vrijdag 5 januari 2007 23:06 schreef fokME2 het volgende:
[..]
Moet die {40,} geen {40} zijn? Mijn editor vind hem dan lief.
In posts staat het aantal postings? Waarom ga je dan in vredesnaam group by uitvoeren als je al een tabel met de aantallen hebt?quote:Op zaterdag 6 januari 2007 12:09 schreef Chandler het volgende:
Klein vraagje
[ code verwijderd ]
als ik having er in zet werkt het niet! maar ik wil graag alle resultaten hebben waar de count groter is dan 0 of in een andere query gelijk aan 0
Wat doe ik fout?
uitleg:
ik heb 2 tabellen.
[ code verwijderd ]
in weblogs staan de gebruikers en in posts staan het aantal postings. nu wil ik van iedere weblogger weten hoeveel postings er zijn en op welke datum de laaste is aangemaakt...
/i erachter en /T ipv /T werktquote:Op vrijdag 5 januari 2007 22:09 schreef qu63 het volgende:
stukje code wat op een website staat:
[ code verwijderd ]
mijn regexp om de download-link er uit te vissen:
[ code verwijderd ]
ergens gaat het fout..
mn regexp moet de hash-code van 40 tekens uit de link vissen en deze uitspugen.
iemand tips waar de fout zit/hoe het beter kan?
quote:Ik was aan het zoeken naar informatie over mysql beveiligingen en vond wat ik zoch. Heb er een kleine samenvatting van gemaakt met vooral code voorbeelden (klein beetje uitleg) en wilde het hier even delen. Heb je toevoegingen post het!
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 38 39 40 41 42 43 44 45 46 47 48 | /* Dit kleine documentje gaat over het beveiligen van data m.b.t. het hacken van databases! gebruik: $_GET maar $_POST kan ook ;) (of zelfs $_FILES :P) ** validatie checks */ // Nummeriek if (isSet($_GET['voorbeeld']) && is_numeric($_GET['voorbeeld'])) // textueel en cijfers if (!ereg("^[_a-zA-Z0-9]*$", $_POST['voorbeeld']) ) // alleen text if (!ereg("^[_a-zA-z]*$",$_POST['voorbeeld'])) { /* !eregi("[_a-z0-9-]+@[a-z0-9-]+.[a-z0-9-]", $_POST['email']) LET OP; simpele versie, betere varianten op internet te vinden.!) nu het stukje om mysql injection te voorkomen. ** injectie beveiliging */ // verwijderen van foutieve elementen uit variabel, slechts een voorbeeld. $str_replace(array("(", ")", ";", "'", "%27", "="), "", $_GET['voorbeeld']); // omzetten naar= htmlspecialchars($_GET['voorbeeld']); // of verwijderen van slashes (kan bter ;)) stipslashes($_GET['voorbeeld']) /* en zo zijn er nog meerdere, anyone more? */ ?> |
forum:quote:Op zondag 7 januari 2007 00:12 schreef X-fi het volgende:
Weet iemand hoe ik het volgende moet scripten?
Ik heb twee images:
(http://www.worldracing.nl/images/download/wallpapers/pspworldracingwallpaper.jpg (480×272))
(http://www.worldracing.nl/images/download/wallpapers/pspworldracingwallpapersmall.jpg (240×138))
De "pspworldracingwallpapersmall.jpg" is de afbeelding die je te zien krijgt in de download sectie. En als je daarop klikt krijg je de grotere versie van te zien. (dus de "pspworldracingwallpaper.jpg").
Kan iemand mij helpen daarmee aub?
1 |
1 |
Dank je, dit werk!quote:
1 2 3 4 5 6 7 8 | { } else { $id = ID /='". $_GET['id'] ."'; } |
1 |
quote:Op maandag 8 januari 2007 11:55 schreef Darkomen het volgende:
$id = 'ID = '. $_GET['id'];
1 |
1 |
1 2 3 | $string = "dit is een string"; ?> |
1 2 3 4 5 6 | //dit kan niet $string = 'test".$var."string'; //zo werkt ie wel $string = "test".$var."string"; ?> |
1 2 3 4 5 | $string1 = "dit is string1"; $string2 = " en dit is string2"; $string = $string1.$string2; ?> |
1 2 3 | $sql = "SELECT * FROM problementabel WHERE id = ".$id." AND Korte_Omschrijving LIKE "1""; ?> |
of als iemand voor mij de tabel er wil uitvissen is dat natuurlijk ook mooi, meer is het namelijk niet! sql is gezipt maar 11 mb groot, kan deze op mijn server plaatsen voor degene die mijn redder wil zijn!quote:Op maandag 8 januari 2007 13:38 schreef Spockjuh_ het volgende:
zit met een probleem. heb een sql backup gemaakt die ik lokaal moet aanpassen. reden hiervoor is dat uiploaden niet mogelijk is omdat ik de max overstijg van 51.600. nu ga ik er vanuit dat ik mysql en apache server lokaal heb moeten draaien om een aanpassing te maken in de sql database, maar beide softwarepakketten heb ik niet. iemand die mij hiermee kan helpen? d sql is 360 mb groot, gezipt maar 11mb. er moet 1 tabel worden uitgehaald.
http://www.apachefriends.org/en/xampp.html doet het altijd prima bij mij,quote:Op maandag 8 januari 2007 16:09 schreef Spockjuh_ het volgende:
[..]
of als iemand voor mij de tabel er wil uitvissen is dat natuurlijk ook mooi, meer is het namelijk niet! sql is gezipt maar 11 mb groot, kan deze op mijn server plaatsen voor degene die mijn redder wil zijn!
Je kunt de SQL backup dan gewoon importeren in je MySQL database via bijvoorbeeld PHPMyAdmin of MySAL Administrator (van mysql.org) en dan de juiste tabel eruit vissen.quote:Op maandag 8 januari 2007 16:50 schreef Spockjuh_ het volgende:
ok, geinstalleerd en het draait. alleen het stapje van mijn sql openen en aanpassen kan ik nog even niet vinden, ook niet na het doorlezen van de help
Daar werk ik niet meequote:Op dinsdag 9 januari 2007 10:25 schreef super-muffin het volgende:
Ja die query is goed.
(je kunt trouwens ook die query in PHPmyAdmin invoeren en kijken wat dat terug geeft.)
Het is niet verstandig om de variabele $id zo in een SQL query te zetten. Beter is het om de GET variabele id te valideren om SQL injectie te voorkomen. Je wilt er zeker van zijn dat de opgegeven id-waarde numeriek is en dus zou je op de volgende manier de waarde kunnen valideren:quote:Op maandag 8 januari 2007 11:55 schreef Darkomen het volgende:
$id = 'ID = '. $_GET['id'];
1 2 3 4 5 | { $id = 'ID = ' . $_GET['id']; // Verdere code waaronder uitvoeren van de SQL query. } |
klopt maar aangezien beide pc's op het zelfde netwerk staan kan ik met een unc pad in php ook andere pc's in het netwerk benaderen..quote:Op donderdag 11 januari 2007 00:05 schreef hornage het volgende:
php is serverside dus daarmee kan je op de server waarop hij draait files browsen.
javascript is clientside, als je dus op de client naar files wilt zoeken oid moet dat met javascript. De gevonden info kan daarna altijd met een form doorgestuurd worden naar php
ik had inmiddels zelf ook wel iets in gedachte waarmee ik het in php kon doen (ik heb immers al een functie die directory's langs gaat voor bestanden) die kan ik aanpassen voor alleen directory'squote:Op donderdag 11 januari 2007 10:07 schreef ralfie het volgende:
Je kunt vast wel iets verzinnen met php en javascript? Is nog niet eens zoveel werk om van een aantal directories zoiets te maken
[afbeelding]
Je moet alleen goed met css en javascript alles uitlijnen en klikbaar maken.
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 | function getdir($path) { $dirStack = array($path); $dirs = array(); while (null !== ($dir = array_pop($dirStack))) { $dh = opendir($dir) or die('Error: Could not open directory: '.$dir); while (false !== ($file = readdir($dh))) { $skipDirs = array('.', '..', 'System Volume Information', 'Temporary Internet Files', 'Temp', 'WINDOWS','$RECYCLE.BIN','RECYCLER'); if (!in_array($file,$skipDirs)) { $fullFile = $dir . $file; if (is_dir($fullFile)) { $dirs[] = $fullFile. '\'; $dirStack[] = $fullFile . ''; } } } closedir($dh); } return $dirs; } ?> |
.quote:Op donderdag 11 januari 2007 19:04 schreef mschol het volgende:
ahh thnx voor de voorbeelden, inmiddels ook me php functie verbouwd zodat ik alleen directory's terug krijg
nu beide zien te combineren...
mijn php functie ziet er zo uit:
[ code verwijderd ]
ik krijg dus nu een array met alle sub directory's behalve de mappen die in $skipdirs voor komen
hmmm ik krijg het niet voor elkaar om een level te generenen (wat mij sneller lijkt dan met regex'en te checken hoeveel \ erin de directory staan (en ik dus kan bepalen waar de directory zich bevind, de root, 1 map diep of 2 of 3 mappen diep.)
1 2 3 | $dirs[] = $fullFile. '\'; ?> |
Jij doet het ook niet.quote:Op vrijdag 12 januari 2007 17:31 schreef fate het volgende:
[..]
.
In je code zit in elk geval een fout zoals je kan zien aan de highlighting.
[ code verwijderd ]
Je moet de \ escapen.
aha, in me source stond hij wel goedquote:Op vrijdag 12 januari 2007 17:31 schreef fate het volgende:
[..]
.
In je code zit in elk geval een fout zoals je kan zien aan de highlighting.
[ code verwijderd ]
Je moet de \ escapen.
Ja, dat wel...quote:Op vrijdag 12 januari 2007 21:21 schreef JeRa het volgende:
Staat die regel 585 toevallig in een for(each)- of while-loop?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | if(is_dir("$path/$file")) { // Its a directory, so we need to keep reading down... $dirs[] .= "$level|$Parentnode|$path$file"; $Parentnode = array_search(array_search($level."|".$Parentnode."|".$path.$file, $dirs), array_keys($dirs)); $temp_dir = getDirectory("$path$file/", ($level+1),$Parentnode); if(is_array($temp_dir)) { foreach($temp_dir as $key => $data) { $dirs[] .= $data; } } // Re-call this same function but on a new directory. // this is what makes function recursive. } ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | [1] => 2|0|d:/Apache/bin [2] => 2|0|d:/Apache/cgi-bin [3] => 2|1|d:/Apache/conf [4] => 3|2|d:/Apache/conf/ssl [5] => 2|2|d:/Apache/htdocs [6] => 3|4|d:/Apache/htdocs/manual [7] => 4|0|d:/Apache/htdocs/manual/howto [8] => 4|0|d:/Apache/htdocs/manual/images [9] => 4|1|d:/Apache/htdocs/manual/misc [10] => 4|2|d:/Apache/htdocs/manual/mod [11] => 4|3|d:/Apache/htdocs/manual/programs [12] => 4|4|d:/Apache/htdocs/manual/vhosts [13] => 2|4|d:/Apache/icons [14] => 3|12|d:/Apache/icons/small [15] => 2|12|d:/Apache/include |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | [1] => 2|0|d:/Apache/bin [2] => 2|0|d:/Apache/cgi-bin [3] => 2|0|d:/Apache/conf [4] => 3|3|d:/Apache/conf/ssl [5] => 2|0|d:/Apache/htdocs [6] => 3|5|d:/Apache/htdocs/manual [7] => 4|6|d:/Apache/htdocs/manual/howto [8] => 4|6|d:/Apache/htdocs/manual/images [9] => 4|6|d:/Apache/htdocs/manual/misc [10] => 4|6|d:/Apache/htdocs/manual/mod [11] => 4|6|d:/Apache/htdocs/manual/programs [12] => 4|6|d:/Apache/htdocs/manual/vhosts [13] => 2|0|d:/Apache/icons [14] => 3|13|d:/Apache/icons/small [15] => 2|0|d:/Apache/include |
Waarschijnlijk krijg je onder bepaalde voorwaarden een oneindige loop.quote:Op vrijdag 12 januari 2007 21:27 schreef wonderer het volgende:
[..]
Ja, dat wel...
Maar dan snap ik nog niet waarom hij dan soms loopt te mieren en meestal niet. Hij wordt wel vaak aangeroepen, kan het daaraan liggen?
En proberen te ontdekken welke voorwaarden is zeker onbegonnen werk?quote:Op vrijdag 12 januari 2007 21:42 schreef Light het volgende:
[..]
Waarschijnlijk krijg je onder bepaalde voorwaarden een oneindige loop.
Ik blijf bij een oneindige loop. Het aantal keren dat je die regel aanroept is niet zozeer het probleem, een loop die 1 keer oneindig wordt (while(true)) wel.quote:Op vrijdag 12 januari 2007 21:27 schreef wonderer het volgende:
[..]
Ja, dat wel...
Maar dan snap ik nog niet waarom hij dan soms loopt te mieren en meestal niet. Hij wordt wel vaak aangeroepen, kan het daaraan liggen?
Wat voor problemen? En wat is de query? En wat doe je met $result?quote:Heb ook problemen met $result=mysql_db_query($myDB,$query,$dblink); en een aantal dingen die daaruit voortvloeien... waar kan dat op duiden?
Neuh. Hoe is die loop? Dus wat is de for(each) of while regel van die loop waarin regel 585 zit?quote:Op vrijdag 12 januari 2007 21:44 schreef wonderer het volgende:
[..]
En proberen te ontdekken welke voorwaarden is zeker onbegonnen werk?
quote:Op vrijdag 12 januari 2007 21:45 schreef Light het volgende:
[..]
Ik blijf bij een oneindige loop. Het aantal keren dat je die regel aanroept is niet zozeer het probleem, een loop die 1 keer oneindig wordt (while(true)) wel.
[..]
Wat voor problemen? En wat is de query? En wat doe je met $result?
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 | $d=connectDB(); $qroom=quote_smart($kamer,$d); $qroom=make_room($qroom); $success=settype($ID,"int"); $res=runquery("SELECT * FROM chat_kamer_".$qroom." WHERE ID > '".$ID."'",$d); if(mysql_num_rows($res)!=0){ while($row=mysql_fetch_array($res)){ $id=$row["ID"]; $username=$row["username"]; $chatname=parse_chatname($row["chatname"], $username); $kleur=$row["kleur"]; $sentence=parse_sentence($row["sentence"],$row["systemmess"]); $line=lineformat($id, $chatname, $kleur, $sentence, $row["adminmess"], $username, $row["systemmess"]); $lines.=$line.'<%split%>'; $lid=$row["ID"]; } $lines=substr($lines,0,-9); $callback=$lid.'<%split%>'.$lines; return $callback; } else{ return ''; } ?> |
Hmm... ik heb hier eens naar gekeken, maar ik kan niet vinden hoe die loop oneindig kan worden.quote:Op vrijdag 12 januari 2007 22:01 schreef wonderer het volgende:
[..]
[ code verwijderd ]
$ID wordt meegegeven in de functie. Functie wordt gebruikt om te zien of er nieuwe dingen gezegd zijn en zo ja, laat ze dan zien. Wordt elke twee seconden aangeroepen via een javascript.
$result is dezelfde als $d. 't Is mijn databaseverbindingsfunctie, die dus eerst aangeroepen wordt en gebruikt voor de query en de magic quotes gedoe.
Correct. En er zijn een paar mogelijke redenen waarom 30 seconden niet genoeg is. Zo kun je gewoon zoveel code hebben gemaakt dat het niet meer binnen 30 seconden uit te voeren is door de pc. Maar da's niet waarschijnlijk.quote:Op zaterdag 13 januari 2007 00:10 schreef hornage het volgende:
jongens,
Fatal error: Maximum execution time of 30 seconds exceeded in /var/www/path/to/chatscript.php
betekent simpelweg dat alles bewerkingen die gedaan worden om de pagina te laden meer dan 30 seconden in beslag nemen. Vanaf het moment dat de pagina aangevraagd wordt totdat ie klaar met laden is mag niet meer dan 30 seconden in een standaardinstelling.
1 2 3 4 5 6 7 | $i=0; while (true) { $i++; } echo $i; ?> |
Queries controleren is idd ook een goed plan.quote:Als dit alle code is waarin hij blijft hangen kan je even de query testen in bijvoorbeeld phpmyadmin. Als je daarin wel gewoon snel output krijgt ligt het aan je script.
Kijk wat er allemaal geladen en geiclude wordt. Dan moet je vast en zeker wel wat vinden.
Hmm.. goed puntquote:Op vrijdag 12 januari 2007 23:34 schreef wonderer het volgende:
Zijn er andere manieren om een database verbinding aan te maken?
En wat zou er bijvoorbeeld gebeuren als ID 0 was? De huidige meest recente IDs liggen rond de 500.000 (niet dat er zoveel records in zitten, maar ik laat hem doortellen).
1 2 3 4 5 6 7 8 | ( [0] => 054 [1] => 121 [2] => 232 [3] => 45822 [4] => 12 } |
quote:Op zaterdag 13 januari 2007 11:11 schreef SuperRembo het volgende:
Zoeken in een array, gokje: array_search()
Dan moet het hele OO concept beter verwerkt worden in PHP.quote:Op zaterdag 13 januari 2007 12:25 schreef JeRa het volgende:
Arrays zijn nou typisch van die dingen in PHP waarvan ik zou willen dat ze net zoals in Java als extendable class werden geïntroduceerd. Dan had je niet overal meer die losse functies als sort() en count() liggen en was bovenstaand probleem gereduceerd tot Array.indexOf() of desnoods gewoon Array.findKey().
Ik vind dat ze al een redelijke basis hebben voor OOP in PHPquote:Op zaterdag 13 januari 2007 17:19 schreef Light het volgende:
[..]
Dan moet het hele OO concept beter verwerkt worden in PHP.
Ze maken wel een nieuwe verbinding aan (zelfde weer, $d=connectDB();) in de functies... hoeft dat niet? Kan dat anders? Misschien kan ik in de functie runquery inbouwen dat ie alleen verbinding moet maken als er geen verbinding is, maar dan weet ik niet hoe ik die magic_quotes_gpc moet doen...quote:Op zaterdag 13 januari 2007 10:55 schreef JeRa het volgende:
Met die loop lijkt me zo niets mis. Doen parse_chatname() en parse_sentence() nog iets vreemds, zoals verbindingen maken met de DB en trage queries executen ofzo?
Een goede start is het doorgeven van de $db uit het hoofdscript. Die verbinding heb je namelijk al gemaakt dus dan hoeven die functies dat niet telkens opnieuw te doen. Ik heb sterk het vermoeden dat die twee functies zo slecht in elkaar zitten dat zij de oorzaak zijn van die 30+ seconden runtimequote:Op zaterdag 13 januari 2007 18:34 schreef wonderer het volgende:
[..]
Ze maken wel een nieuwe verbinding aan (zelfde weer, $d=connectDB();) in de functies... hoeft dat niet? Kan dat anders? Misschien kan ik in de functie runquery inbouwen dat ie alleen verbinding moet maken als er geen verbinding is, maar dan weet ik niet hoe ik die magic_quotes_gpc moet doen...
Heb je een linkje naar een tut waar goed wordt uitgelegd hoe je functies (en database dingen) opbouwt? Er moet best wel een hoop gedaan worden voor de zin er mooi leesbaar uit komt rollen...quote:Op zaterdag 13 januari 2007 18:49 schreef JeRa het volgende:
[..]
Een goede start is het doorgeven van de $db uit het hoofdscript. Die verbinding heb je namelijk al gemaakt dus dan hoeven die functies dat niet telkens opnieuw te doen. Ik heb sterk het vermoeden dat die twee functies zo slecht in elkaar zitten dat zij de oorzaak zijn van die 30+ seconden runtime
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | if($_POST['submit']="submit") { $id = $_POST['ID']; $datum = $_POST['datum']; $offertenummer = $_POST['offertenummer']; $ordernummer = $_POST['ordernummer']; $order = $_POST['order']; $bedrag = $_POST['bedrag']; if (is_array($id) && (count($id))) { $query = 'UPDATE (ID,datum,offertenummer,ordernummer,offerte,bedrag) VALUES (' . $id[0] . ', ' . $datum[0] . ', ' . $offertenummer[0] . ', ' . $ordertenummer[0] . ', ' . $order[0] . ', ' . $bedrag[0] . ')'; $num = count($id); for ($i = 0; $i < $num; $i++) { $query .= ',(' . $id[$i] . ', ' . $datum[$i] . ', ' . $offertenummer[$i] . ', ' . $ordernummer[$i] . ', ' . $order[$i] . ', ' . $bedrag[$i] . ')'; } mysql_query($query); } } ?> |
Waarom niet gewoon een loop schrijven die per array-regel een volledige query uitvoert? En waarom gebruik je daarvoor de update query en niet de insert query?quote:Op zondag 14 januari 2007 10:39 schreef qu63 het volgende:
[ code verwijderd ]
hoe kan ik deze query nou goed laten gaan?
$id t/m $bedrag moeten meerdere waarden krijgen (een array dus) en die moeten allemaal de database in. Er komen geen nieuwe rijen bij, het wordt dus alleen maar geupdate.
ik keek al bij Multiple Queries op dev.mysql.com maar ik weet niet of dat allemaal goed werkt enzo..
iemand tips?
mij leek een enkele query makkelijker om uit te voeren, maar dat was idd mijn optie als dit niet werktequote:Op zondag 14 januari 2007 10:43 schreef zwambtenaar het volgende:
[..]
Waarom niet gewoon een loop schrijven die per array-regel een volledige query uitvoert?
ik haal de waarden uit mn database, daar bouw ik een mooi update-formulier omheen. Dit formulier kan dus ge-submit worden en de nieuwe waarden moeten weer de database inquote:Op zondag 14 januari 2007 10:43 schreef zwambtenaar het volgende:
[..]
Waarom niet gewoon een loop schrijven die per array-regel een volledige query uitvoert? En waarom gebruik je daarvoor de update query en niet de insert query?
Ik begrijp het inderdaad. Als een soort tabel-/spreadsheetoverview waarmee je in één keer vele records kunt editten.quote:Op zondag 14 januari 2007 10:49 schreef qu63 het volgende:
[..]
ik haal de waarden uit mn database, daar bouw ik een mooi update-formulier omheen. Dit formulier kan dus ge-submit worden en de nieuwe waarden moeten weer de database in
juistemquote:Op zondag 14 januari 2007 10:50 schreef zwambtenaar het volgende:
[..]
Ik begrijp het inderdaad. Als een soort tabel-/spreadsheetoverview waarmee je in één keer vele records kunt editten.
Volgens mij doe je de eerste regel (met index 0) nu dubbel.quote:Op zondag 14 januari 2007 10:39 schreef qu63 het volgende:
[ code verwijderd ]
hoe kan ik deze query nou goed laten gaan?
[...]
iemand tips?
ohja 8)7quote:Op zondag 14 januari 2007 12:27 schreef SuperRembo het volgende:
[..]
Volgens mij doe je de eerste regel (met index 0) nu dubbel.
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 | <table width="50%" border="0" cellspacing="0" cellpadding="0"> <tr> <td>Datum</td> <td>Naam</td> <td>Offertenummer</td> <td>Ordernummer</td> <td>Order</td> <td>Bedrag</td> </tr> <tr><input type="hidden" name="id" value="1"> <td>vandaag</td> <td>Ik</td> <td><input name="offertenummer" value="" size="10"></td> <td><input name="ordernummer" value="" size="10"></td> <td><input name="order" value="ja" size="10">ja/nee</td> <td>¤<input name="bedrag" value="352,79" size="10"></td> </tr> <tr><input type="hidden" name="id" value="2"> <td>5</td> <td>5</td> <td><input name="offertenummer" value="" size="10"></td> <td><input name="ordernummer" value="5" size="10"></td> <td><input name="order" value="5" size="10">ja/nee</td> <td>¤<input name="bedrag" value="5" size="10"></td> </tr> </table> <input type="submit" name="submit" value="submit"> </form> |
1 2 3 | <input type="text" name="offertenummer[]" value="" size="10"> <input type="text" name="offertenummer[]" value="" size="10"> |
1 2 3 4 5 6 7 | $offertenummer = $_POST["offertenummer"]; echo $offertenummer[0]; echo $offertenummer[1]; echo $offertenummer[2]; ?> |
dat komt omdat ik er al een id uit heb geknikkerdquote:Op zondag 14 januari 2007 12:44 schreef HuHu het volgende:
Dan moet je van die input names een array maken.
[ code verwijderd ]
[ code verwijderd ]
Let op dat een array bij 0 begint met tellen en jij je ID's bij 1 laat beginnen.
Aha...quote:Op zondag 14 januari 2007 12:45 schreef qu63 het volgende:
[..]
dat komt omdat ik er al een id uit heb geknikkerd
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 38 39 40 41 42 43 44 | //dit poept dus alle waarden in een tabelletje.. while ($row = mysql_fetch_assoc($result)) { echo "<tr>n<td>".$row['tijd']."</td>n"; echo "<td>".$row['km']."</td>n"; echo "<td>n<input type="text" name="prijs[".$row['tijd']."][".$row['km']."]" value="".$row['prijs']."">n"; echo "<input type="hidden" name=oud[".$row['tijd'].']['.$row['km']."] value="".$row['prijs']."">n</td>n</tr>n"; } //en dit is de update functie. de rest vavn het script heb ik achterwege gelaten omdat dat alleen maar checks zijn of er iets anders gedaan moet worden.. function update() { //nieuwe waarden? $km = $_POST['km_nieuw']; $prijs = $_POST['prijs_nieuw']; $tijd = $_POST['tijd_nieuw']; if (is_array($km) && is_array($prijs) && is_array($tijd) && (count($km) == count($prijs)) && (count($km) == count($tijd))) { $query = 'INSERT INTO qu63 (tijd, km, prijs) VALUES (' . $tijd[0] . ', ' . $km[0] . ', ' . $prijs[0] . ')'; $num = count($km); for ($i = 0; $i < $num; $i++) { $query .= ',(' . $tijd[$i] . ', ' . $km[$i] . ', ' . $prijs[$i] . ')'; } mysql_query($query); } //if(($_POST['km_nieuw'] > 0) && ($_POST['tijd_nieuw'] > 0) && ($_POST['prijs_nieuw'] > 0)) { //mysql_query('INSERT INTO qu63 (prijs, tijd, km) VALUES ('.$_POST['prijs_nieuw'].','.$_POST['tijd_nieuw'].','.$_POST['km_nieuw'].'),('.$_POST['prijs_nieuw'].','.$_POST['tijd_nieuw'].','.$_POST['km_nieuw'].'),('.$_POST['prijs_nieuw'].','.$_POST['tijd_nieuw'].','.$_POST['km_nieuw'].'),('.$_POST['prijs_nieuw'].','.$_POST['tijd_nieuw'].','.$_POST['km_nieuw'].'),('.$_POST['prijs_nieuw'].','.$_POST['tijd_nieuw'].','.$_POST['km_nieuw'].')'); //mysql_query('INSERT INTO qu63 (prijs, tijd, km) VALUES ('.intval($_POST['prijs'][$tijd][$km]).','.$tijd.','.$km.')'); //$aangepast++; //} //Bij het begin beginnen :) reset($_POST['oud']); //De array bevat tijd, afstand en prijs. //Dat is niet in 1 lus uit te lezen, dus doen we het met twee. while (list($tijd, $tmp) = each($_POST['oud'])) { while (list($km, $prijs) = each($tmp)) { //Als er een andere prijs staat dan zetten we die in de database if($_POST['prijs'][$tijd][$km] != $prijs) { mysql_query('UPDATE qu63 SET prijs = '.intval($_POST['prijs'][$tijd][$km]).' WHERE tijd = '.$tijd.' AND km = '.$km); $aangepast++; } } } } ?> |
dat werkt iig ja..quote:Op zondag 14 januari 2007 12:44 schreef HuHu het volgende:
Dan moet je van die input names een array maken.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | mysql_connect(DB_HOST, DB_USER, DB_PASS); mysql_select_db(DB_DATABASE); $id = $_POST['ID']; $datum = $_POST['datum']; $naam = $_POST['naam']; $offertenummer = $_POST['offertenummer']; $ordernummer = $_POST['ordernummer']; $order = $_POST['order']; $bedrag = $_POST['bedrag']; $nieuw = array($id,$datum,$naam,$offertenummer,$ordernummer,$order,$bedrag); //print_r($nieuw); //echo $nieuw[3][1]; if (is_array($nieuw) && (count($nieuw))) { $num = count($nieuw); for ($i = 0; $i < $num; $i++) { // foreach($id as $k => $w) { mysql_query("REPLACE 'order' ('ID', 'datum', 'naam', 'offertenummer', 'ordernummer', 'order', 'bedrag') VALUES('" . $nieuw[0][$i] . "', '" . $nieuw[1][$i] . "', '" . $nieuw[2][$i] . "', '" . $nieuw[3][$i] . "', '" . $nieuw[4][$i] . "', '" . $nieuw[5][$i] . "', '" . $nieuw[6][$i] . "')"); } } ?> |
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 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | ( [0] => Array ( [1] => 1 [2] => 2 [3] => 3 ) [1] => Array ( [vandaag] => vandaag [5] => 5 [123] => 123 ) [2] => Array ( [1] => Ik [2] => 5 [3] => 123 ) [3] => Array ( [1] => [2] => [3] => 12 ) [4] => Array ( [1] => [2] => 5 [3] => 789 ) [5] => Array ( [1] => ja [2] => 5 [3] => 55 ) [6] => Array ( [1] => 352,79 [2] => 5 [3] => 333 ) ) |
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 38 39 40 41 | <table width="50%" border="0" cellspacing="0" cellpadding="0"> <tr> <td>Datum</td> <td>Naam</td> <td>Offertenummer</td> <td>Ordernummer</td> <td>Order</td> <td>Bedrag</td> </tr> <tr><input type="hidden" name="ID[1]" value="1"> <td><input type="hidden" name="datum[vandaag]" value="vandaag">vandaag</td> <td><input type="hidden" name="naam[1]" value="Ik">Ik</td> <td><input name="offertenummer[1]" value="" size="10"></td> <td><input name="ordernummer[1]" value="" size="10"></td> <td><input name="order[1]" value="ja" size="10">ja/nee</td> <td>€<input name="bedrag[1]" value="352,79" size="10"></td> </tr> <tr><input type="hidden" name="ID[2]" value="2"> <td><input type="hidden" name="datum[5]" value="5">5</td> <td><input type="hidden" name="naam[2]" value="5">5</td> <td><input name="offertenummer[2]" value="" size="10"></td> <td><input name="ordernummer[2]" value="5" size="10"></td> <td><input name="order[2]" value="5" size="10">ja/nee</td> <td>€<input name="bedrag[2]" value="5" size="10"></td> </tr> <tr><input type="hidden" name="ID[3]" value="3"> <td><input type="hidden" name="datum[123]" value="123">123</td> <td><input type="hidden" name="naam[3]" value="123">123</td> <td><input name="offertenummer[3]" value="12" size="10"></td> <td><input name="ordernummer[3]" value="789" size="10"></td> <td><input name="order[3]" value="55" size="10">ja/nee</td> <td>€<input name="bedrag[3]" value="333" size="10"></td> </tr> </table> <input type="submit" name="submit" value="submit"> </form> |
Ja natuurlijk is dit mogelijkquote:Op zondag 14 januari 2007 21:14 schreef broodmonkeh het volgende:
Ik heb een datum opgeslagen in de database , nu wil ik zeg maar een overzicht maken van alle gegevens met die datum ouder als een jaar
Dus ik sla het zo op: 2007-01-14 en ik wil zeg maar alle data na 2008-01-14 in een overzicht hebben.
Is dit mogelijk?
met NOW() komt er ook 2007-01-14 uit , dus maakt opzich niet zoveel uit toch? Dat INTERVAL-statement ga ik nu even uitzoeken.quote:Op zondag 14 januari 2007 21:24 schreef fate het volgende:
[..]
Ja natuurlijk is dit mogelijk.
Heb je je data als now() opgeslaan? Dan is het heel wat handiger dan als je het er letterlijk 2007-01-14 inzet...
Je moet maar eens zoeken mbv het INTERVAL-statement in MySQL hoe je data er zo het best gaat uithalen. (Ik geef niet de code omdat je er anders niets van leert)
Jawel, want op DATE en DATETIME velden kan je sql datum en tijd functies gebruiken. op een varchar veld niet.quote:Op zondag 14 januari 2007 22:47 schreef broodmonkeh het volgende:
[..]
met NOW() komt er ook 2007-01-14 uit , dus maakt opzich niet zoveel uit toch?
ik had hem al als DATE veld , gebruikte alleen geen NOW() maar ik had de datum al bepaald met date() en dat in de database gezet.quote:Op zondag 14 januari 2007 22:48 schreef Swetsenegger het volgende:
[..]
Jawel, want op DATE en DATETIME velden kan je sql datum en tijd functies gebruiken. op een varchar veld niet.
Als het maar een DATE veld is. Dan lijkt je methode me nog steeds nodeloos ingewikkeld, mits je een andere datum dan *nu* in de database wil hebben.quote:Op zondag 14 januari 2007 22:55 schreef broodmonkeh het volgende:
[..]
ik had hem al als DATE veld , gebruikte alleen geen NOW() maar ik had de datum al bepaald met date() en dat in de database gezet.
jep dat is ook het gevalquote:Op zondag 14 januari 2007 22:59 schreef Swetsenegger het volgende:
[..]
Als het maar een DATE veld is. Dan lijkt je methode me nog steeds nodeloos ingewikkeld, mits je een andere datum dan *nu* in de database wil hebben.
1 2 3 4 5 6 7 8 | function delete_cookie ( cookienaam ) { var cookie_date = new Date ( ); // current date & time cookie_date.setTime ( cookie_date.getTime() - 1 ); document.cookie = cookienaam += "=; expires=" + cookie_date.toGMTString(); } </script> |
http://www.sitemasters.be/?pagina=tutorials/tutorials&cat=4&id=160quote:Op zondag 14 januari 2007 23:38 schreef profielnaam het volgende:
Ik probeerde in eerste instantie mbv javascript een cookie te verwijderen, maar dit werkt niet zo te zien. de situatie is als volgt:
ik heb een domein waarop de meeste mensen binnenkomen via de index.html op deze pagina wordt een cookie gezet. als de user verder browsed naar een van de andere sites bijv. subdomein.hoofdomein.com dan moet de cookie die eerder op de mainpage gezet is verwijderd worden,
ik probeer dit nu wel met javascript te doen, omdat ik geen PHP ondersteuning heb ik op deze server, misschien dat ik dit er nog bij ga nemen..
ik kwam uit op deze javascript code, welke de cookie expiration time in het verleden zou moeten zetten en daardoor automatisch verwijdert.
De cookie blijft wel staan dus ik doe iets fout..
hopen maar dat iemand me anders wel kan helpen met PHP code hiervoor.
dit is de javascript code iedergeval
[ code verwijderd ]
oké ik heb dit op een andere server gezet als waar de site op draait..quote:Op zondag 14 januari 2007 23:42 schreef Tiemie het volgende:
[..]
http://www.sitemasters.be/?pagina=tutorials/tutorials&cat=4&id=160
Probeer dit eens:quote:Op maandag 15 januari 2007 00:03 schreef profielnaam het volgende:
[..]
oké ik heb dit op een andere server gezet als waar de site op draait..
<?php
// was er in de eerste plaats een cookie geset?
if(isset($_COOKIE['cookienaam'])) {
// verwijder het cookie
setcookie("cookienaam", "description", time()-3600);
}
?>
de cookie >> cookienaam, wordt niet uit de cookies folder verwijderd, wat dus de bedoeling is.
1 2 3 4 5 6 7 | // was er in de eerste plaats een cookie geset? if(isset($_COOKIE['cookienaam'])) { // verwijder het cookie setcookie ("cookienaam", "", time() - 3600); } ?> |
oke heb ik ook geprobeerd net, de cookie blijft nog in de cookies folder staan helaas.quote:
Hoezo heb je dat op een andere server gezet als ik vragen mag? Het lijkt me logisch dat je geen cookies van andere sites mag overschrijven en lezenquote:Op maandag 15 januari 2007 00:03 schreef profielnaam het volgende:
[..]
oké ik heb dit op een andere server gezet als waar de site op draait..
<?php
// was er in de eerste plaats een cookie geset?
if(isset($_COOKIE['cookienaam'])) {
// verwijder het cookie
setcookie("cookienaam", "description", time()-3600);
}
?>
de cookie >> cookienaam, wordt niet uit de cookies folder verwijderd, wat dus de bedoeling is.
oke, de cookie is geset op het hoofddomein maar als de user op een bepaald subdomein van mij komt dan wil ik de cookie verwijderen.quote:Op maandag 15 januari 2007 21:26 schreef Tiemie het volgende:
[..]
Hoezo heb je dat op een andere server gezet als ik vragen mag? Het lijkt me logisch dat je geen cookies van andere sites mag overschrijven en lezen![]()
Dat kan wel, mits je de juiste path info toevoegt.quote:Op maandag 15 januari 2007 21:26 schreef Tiemie het volgende:
[..]
Hoezo heb je dat op een andere server gezet als ik vragen mag? Het lijkt me logisch dat je geen cookies van andere sites mag overschrijven en lezen![]()
Het kan (gelukkig) alleen voor de domeinnaam waar de host waar het script op draait. En subdomeinen daarvan.quote:Op maandag 15 januari 2007 21:49 schreef Swetsenegger het volgende:
[..]
Dat kan wel, mits je de juiste path info toevoegt.
http://nl3.php.net/manual/en/function.setcookie.php Kijk hier even naar de informatied over domeinen en paths, profielnaam
Maar als jij het beter weet, graag meer infoquote:Only hosts within the specified domain can set a cookie for a domain
ah, je had het hiervoor over een andere server. Om dat te doen moet je ervoor zorgen dat het cookie-path goed staatquote:Op maandag 15 januari 2007 21:30 schreef profielnaam het volgende:
[..]
oke, de cookie is geset op het hoofddomein maar als de user op een bepaald subdomein van mij komt dan wil ik de cookie verwijderen.
Ja...?quote:Op maandag 15 januari 2007 22:25 schreef Tiemie het volgende:
[..]
Het kan (gelukkig) alleen voor de domeinnaam waar de host waar het script op draait. En subdomeinen daarvan.
-edit- Ah ok, je had zijn laatste post nog niet gelezen.quote:Op maandag 15 januari 2007 21:30 schreef profielnaam het volgende:
[..]
oke, de cookie is geset op het hoofddomein maar als de user op een bepaald subdomein van mij komt dan wil ik de cookie verwijderen.
1 2 3 4 5 6 7 8 9 10 | $image_path="avatars/".$_POST["soort"]."/"; $_POST["file"]=$file_name; if($_POST["action"]){ $image_path="avatars/".$_POST["soort"]."/"; if ($file_name == "") { echo "No file found. Check if you entered the path to your local file in the text field of the upload form."; } else { ?> |
$file_name krijgt nergens een waarde in de code die je hebt gepost.quote:Op maandag 15 januari 2007 22:41 schreef wonderer het volgende:
Even iets anders:
[ code verwijderd ]
Dit werkt ineens niet meer. Niks veranderd verder... Hij komt dus uit op de foutmelding terwijl ik niks anders doe dan anders. Waar ligt dat aan?
Daar geef je aan $_POST["file"] een waarde. Andersom werkt het vast beter. Overigens ontbreekt dan hier nog wel de input-controle, wat weer voor veiligheidsproblemen kan zorgen.quote:Op maandag 15 januari 2007 22:56 schreef wonderer het volgende:
$_POST["file"]=$file_name;
Moet dat andersom dan? Het heeft tot op heden altijd gewerkt... Ik snap het even niet meer.
quote:Op maandag 15 januari 2007 23:17 schreef wonderer het volgende:
Ik heb even op php.net rondgeneusd en het bleek dat ik weer een beetje achterliep wat betreft dingen. $_FILES enzo schijnt beter te werken en mijn script doet het weer. Met je tijd meegaan is blijkbaar belangrijk
In ieder geval bedankt voor het meedenken.
Super globals werken niet eens meer op mijn server, dus ik moet een zooi scripts aanpassenquote:Op dinsdag 16 januari 2007 09:12 schreef Swetsenegger het volgende:
[..]
eh, ik denk dat je nu aan super globals refereerd en juist die zijn niet aanbevolen. Gewoon $_POST['formuliernaam'] gebruiken dus inplaats van $formuliernaam
-edit- wel het script bekijken swets. Ja voor geuploade bestanden gebruik je $_FILES[name][tempname]
De 'snelheid' is afhankelijk van de queries die je draait dus het zou nogal handig zijn als je die even laat zienquote:Op dinsdag 16 januari 2007 17:42 schreef Chandler het volgende:
Klein vraagje.
Een website werkt een database die tabellen linkt met varchars ipv id's en nu heb ik de tabellen omgezet naar id's ipv varchars... echter is de snelheid met 100% gedaald... het gaat om vele tabellen en natuurlijk heel veel data (50.000 records voor 1 tabel, in totaal meer dan 100.000 records).
Waar zou dit aan kunnen liggen? de ID's zijn geindexeerd....
Superglobals zijn dingen als $_POST en $_GET, het lijkt me dat die nog wel werkenquote:Op dinsdag 16 januari 2007 16:44 schreef wonderer het volgende:
[..]
Super globals werken niet eens meer op mijn server, dus ik moet een zooi scripts aanpassen
Een gebrek aan juiste indices en MySQL die om één of andere bizarre reden besluit dat een JOIN op een VARCHAR 4x zo snel dient te gaan als een JOIN op een INT, beiden zonder gerelateerde index.quote:Op dinsdag 16 januari 2007 23:02 schreef SuperRembo het volgende:
Wat was 't probleem nou uiteindelijk,
Het aanmaken van de juiste indices.quote:en wat de oplossing?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | if (is_dir("gallery/".$_POST['gallery_name'])){ error("Deze map bestaat al. Kies een andere naam."); }else{ $new_dir = "gallery/".$_POST['gallery_name']; // hoofdmap aanmaken mkdir($new_dir, 0777); // gallery bestanden kopieren chmod($new_dir, 0777); copy("files/gallery.xml", $new_dir."/"); // mappen thums en images aanmaken mkdir($new_dir."/thumbs", 0777); mkdir($new_dir."/images", 0777); } } |
Wat voor 'fout over rechten' krijg je precies?quote:Op woensdag 17 januari 2007 23:05 schreef markiemark het volgende:
ok, probleempje met chmod en zo.
Via een formuliertje kan men een naam opgeven voor een nieuwe map, wanneer dit fomulier gepost wordt, wordt de map aangemaakt, inclusief twee standaard submappen. dit gaat allemaal goed. nu wil ik in de nieuw aangemaakte map drie bestanden laten kopieren met de functie copy, maar deze geeft een fout over rechten. terwijl ik toch echt de rechten voor de map op 777 heb staan. iemand die dit probleem kent, en vooral een oplossing weet?! Hieronder de code
[ code verwijderd ]
quote:<script type="text/javascript">
<!--
var Tree = new Array;
// nodeId | parentNodeId | nodeName | nodeUrl
Tree[0] = "1|0|Page 1|#";
Tree[1] = "2|1|Page 1.1|#";
Tree[2] = "3|1|Page 1.2|#";
Tree[3] = "4|3|Page 1.2.1|#";
Tree[4] = "5|1|Page 1.3|#";
Tree[5] = "6|2|Page 1.1.1|#";
Tree[6] = "7|6|Page 1.1.1.1|#";
Tree[7] = "8|6|Page 1.1.1.2|#";
Tree[8] = "9|1|Page 1.4|#";
Tree[9] = "10|9|Page 1.4.1|#";
Tree[10] = "11|0|Page 2|#";
//-->
</script>
Ah, chmodden op een Windows-systeem, altijd leuk.quote:Op woensdag 17 januari 2007 23:10 schreef markiemark het volgende:
PHP Warning: copy(gallery/dfgdsfg/) [function.copy]: failed to open stream: Permission denied in c:webfotoindex.php on line 39
Dáár zit het hele probleem, in de regel met die functie. Zorg er eerst eens voor dat $dirs in alle gevallen (dus ook als je de functie niet-recursief aanroept bijvoorbeeld) een array is. Vervolgens moet je eens gaan debuggen: waar zoek je eigenlijk op met array_search(), wat staat er op dat moment in de array, etcquote:Op woensdag 17 januari 2007 23:45 schreef mschol het volgende:
met array_search krijg ik de melding dat het 2de argument een verkeerde datatype is
hmmz ohja dat levert nogal problemen op he, op een windows server.. het kutte is dat de server van mijn hosting bedrijf ook op windows draait..quote:Op woensdag 17 januari 2007 23:49 schreef JeRa het volgende:
[..]
Ah, chmodden op een Windows-systeem, altijd leuk.
Ik heb niet veel verstand van bestandsrechten op NTFS, maar weet je zeker dat de webserver als een gebruiker draait die in die nieuwe mappen kan? Je kunt bij de eigenschappen van die mappen in het tabblad Security zien welke gebruikers(groepen) toegang hebben tot de mappen.
Ik heb 0,0 ervaring met Windows-servers, dus het enige wat ik je op dit moment kan aanraden is contact opnemen met je hoster om gezamenlijk tot een oplossing te komenquote:Op woensdag 17 januari 2007 23:56 schreef markiemark het volgende:
[..]
hmmz ohja dat levert nogal problemen op he, op een windows server.. het kutte is dat de server van mijn hosting bedrijf ook op windows draait..
is er een andere oplossing?
Het probleem is dat die modes normaal gesproken worden gebruikt in combinatie met de systeemfunctie (niet PHP dus) chmod(). Windows heeft die functie niet, dus er moet in PHP een conversie plaats vinden van octal mode number naar rechtenquote:Op donderdag 18 januari 2007 00:03 schreef markiemark het volgende:
De nieuw gemaakte mappen staan inderdaad op alleen lezen in windows, terwijl ik toch aangeef dat deze bij het aanmaken op 777 moeten staan..
met 666 werkt het ook niet. als ik een octale vertaling van 666 of 777 invoer, moet het dan wel werken dacht jij?quote:Op donderdag 18 januari 2007 00:07 schreef JeRa het volgende:
[..]
Het probleem is dat die modes normaal gesproken worden gebruikt in combinatie met de systeemfunctie (niet PHP dus) chmod(). Windows heeft die functie niet, dus er moet in PHP een conversie plaats vinden van octal mode number naar rechten
Ik lees in de comments van chmod() dat voor iemand het alleen werkte als je 0666 gebruikte op een Windows machine. Dat zou je eventueel nog kunnen proberen.
Nee, je moet sowieso octale getallen gebruiken (dus 0666 en 0777), dan voert PHP die omzetting naar decimale representatie zelf uit.quote:Op donderdag 18 januari 2007 00:10 schreef markiemark het volgende:
[..]
met 666 werkt het ook niet. als ik een octale vertaling van 666 of 777 invoer, moet het dan wel werken dacht jij?
hehe geeft inderdaad dezelfde fout als ik de 0 weg laat..quote:Op donderdag 18 januari 2007 00:16 schreef JeRa het volgende:
[..]
Nee, je moet sowieso octale getallen gebruiken (dus 0666 en 0777), dan voert PHP die omzetting naar decimale representatie zelf uit.
Echter schrijft die persoon in de comments dat het voor Windows alleen werkte als je het zonder die 0 schreef, maar die comment komt uit 2001 dus de kans is ontzettend groot dat dat in ieder geval niet meer klopt.
Kom op zeg... klikkkquote:Op donderdag 18 januari 2007 08:44 schreef wobbel het volgende:
Hoe wis ik alle opties die ik heb opgeslagen in $_SESSION?
1 2 3 | $_SESSION=array(); ?> |
wat een lelijke while lus. Als je een teller hebt dan maak je een for lus, geen while lus,quote:Op donderdag 18 januari 2007 10:13 schreef super-muffin het volgende:
Werkt dit? (tis gewoon een wilde gok hoor)
Misschien kun je die 40 ook laten tellen met count($_SESSION) als je niet zeker weet of het er precies 40 zijn.
[ code verwijderd ]
Oke, dan weet ik datquote:Op donderdag 18 januari 2007 10:48 schreef hornage het volgende:
[..]
wat een lelijke while lus. Als je een teller hebt dan maak je een for lus, geen while lus,
mensen, session_destroy() is natuurlijk het mooiste, waarom iets maken als het er al inzit
1 2 3 4 5 6 7 | regel 1 2 eind |
ok, toch even iets anders bedacht. werk nu op een server waar wel linux en apache draait.. 8-)quote:Op donderdag 18 januari 2007 00:20 schreef markiemark het volgende:
[..]
hehe geeft inderdaad dezelfde fout als ik de 0 weg laat..
het moet toch wel mogelijk zijn om betrekkelijk eenvoudig bestanden te kopieren op een windows server?
1 |
hij hoeft ook geen directory te kopieren, ik geef alleen aan waar deze naartoe gekopieerd moet worden. mapstructuur is als volgtquote:Op donderdag 18 januari 2007 12:34 schreef Tijn het volgende:
Ik denk dat het copy-commando alleen bestanden kopieert, geen directories.
http://www.w3schools.com/php/func_filesystem_copy.aspquote:Op donderdag 18 januari 2007 12:34 schreef Tijn het volgende:
Ik denk dat het copy-commando alleen bestanden kopieert, geen directories.
wacht even, had een klein foutje gemaakt... :@quote:Op donderdag 18 januari 2007 12:38 schreef markiemark het volgende:
[..]
hij hoeft ook geen directory te kopieren, ik geef alleen aan waar deze naartoe gekopieerd moet worden. mapstructuur is als volgt
-/files
-/gallery
----/album1
--------/thumbs
--------/images
--------bestand.xml
wanneer er een nieuwe gallery wordt aangemaakt, wordt er in de map gallery een map aangemaakt, inclusief de twee submappen. dat gaat allemaal goed.
het punt is dat het bestand (bestand.xml) waarvan het origineel in /files staat gekopieerd moet worden naar de nieuwe map (/album1). dit werkt alleen niet, krijg ik die fout..
1 |
1 |
wie mij neer wil slaan, mag dat nu doen!quote:Op donderdag 18 januari 2007 12:53 schreef hornage het volgende:
mooi dat je het zelf zegt
Ahjoh, hoort erbij. Das programmeren/ontwikkelen/scripten
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | //arrays $getallen = array("nul", "een", "twee", "drie", "vier", "vijf", "zes", "zeven", "acht", "negen"); $plusmin = array("plus", "min"); //randomizen $getal1 = rand(1, 9); $getal2 = rand(0, $getal1-1); $plusofmin = rand(0, 1); //de sommen if($plusofmin == "0") $antwoord = $getal1+$getal2; elseif($plusofmin == "1") $antwoord = $getal1-$getal2; echo $getallen[$getal1]." ".$plusmin[$plusofmin]." ".$getallen[$getal2]." is:"; ?> |
1 2 | <input type="hidden" name="goed" value="<? echo $antwoord ?>" /><br><br><input type="submit" value="Plaats bericht" /></form> |
Uit een goeie captcha kunnen ze nog steeds geen code afleiden volgens mij?quote:Op donderdag 18 januari 2007 18:54 schreef Chandler het volgende:
Tja maar ook door Captcha komen spambots heenheb zelf nog geen versie gevonden die écht spambots tegenhoud
idd. Ik denk dat je snel veilig zit, zolang je systeem maar niet te veel gebruikt wordt op andere plaatsen. Simpele vragen als "kopieer het adres vanuit de adresbalk in dit textvak","welke groente vind je meestal in worteltjestaart","welk apparaat zie je op bovenstaand figuur"(met een plaatje van een trein oid) willen het wel eens beter doen als ingewikkelde plaatjes met cijfers en kleurtjes die je moet gaan overtypen.quote:Op donderdag 18 januari 2007 19:42 schreef fokME2 het volgende:
Hahaha, mijn spambeveiliging werkt nogsteeds. Gewoon een fixed vraag met "Welke kleur heeft een gele banaan?". Laat die eventueel nog cyclen met "Welke kleur heeft een groene appel?" etc, en volgens mij zit je veilig![]()
Ik heb zoiets ook ooit gemaakt voor een gratis e-maildienst a la Hotmail om Nigeriaanse scammers buiten te houden. Waren 100 vragen waarvan je er bij registratie 2 goed moest beantwoorden (bij 1 fout kwam er een derde voor de herkansing). Multiple choice, met voor iedere vraag 6 foute antwoorden en 2 goede, waarvan at random 3 foute en 1 goede getoond werden als opties.quote:Op donderdag 18 januari 2007 19:42 schreef fokME2 het volgende:
Hahaha, mijn spambeveiliging werkt nogsteeds. Gewoon een fixed vraag met "Welke kleur heeft een gele banaan?". Laat die eventueel nog cyclen met "Welke kleur heeft een groene appel?" etc, en volgens mij zit je veilig![]()
quote:Op donderdag 18 januari 2007 22:19 schreef JeRa het volgende:
Het is toch jammer dat we de legitieme bezoekers moeten gaan lastigvallen met dat soort vragen en CAPTCHA's terwijl we eigenlijk de instanties die niets aan de spammers en scammers doen zouden moeten afstraffen. Niet realistisch, maar wat mij betreft mogen ISPs en hosting providers wel eens gaan samenwerken om diverse subnets stelselmatig toegang te weigeren tot de Nederlandsche netwerken.
Dat is nog geen reden om de gebruikers aan te pakken. Je zou bijvoorbeeld ook geposte berichten door spamassassin kunnen jagen en berichten met een te hoog spamgehalte weigeren. De versimpelde versie; berichten met teveel 'slechte' woorden een foutmelding geven.quote:Op vrijdag 19 januari 2007 09:22 schreef Chandler het volgende:
Het blijft vervelend dat we inderdaad Captcha's moeten blijven gebruiken maar het probleem blijft nu eenmaal dat er ook een hoop spambots zijn, en dat kan het voor genoeg gebruikers vergallen om nog op je website te komen...
quote:Op vrijdag 19 januari 2007 14:02 schreef JeRa het volgende:
[..]
Dat is nog geen reden om de gebruikers aan te pakken. Je zou bijvoorbeeld ook geposte berichten door spamassassin kunnen jagen en berichten met een te hoog spamgehalte weigeren. De versimpelde versie; berichten met teveel 'slechte' woorden een foutmelding geven.
De overige posts die door het systeem heen glippen kun je alsnog verwijderen en je spamdetectie zo aanpassen dat die posts ook worden tegengehouden.
1 2 3 4 5 6 7 8 9 | $verboden= array('airline','airplane','anal','asian','bikini','blogspot','bloggen','bridgestone','buy','butt','car','carisoprodol','card' ,'casino','cash','cheap','cheep','click','Content-Type','cool','credit','cqq','debt','derf','diet','discount','empire','estate','facial','flight', 'flights','free','funding','furniture','gallery','gay','girl','generic','goodyear','handbag','handjob','hardcore','have','hot','hold', 'hydrocodone','infogami','insurance','invited','lolita','loans','loan','mature','milf','mobile','modular','morgage','multipart/mixed;' ,'mustang','naked','nice','nothing','oil','order','pharmacy','photo','picture','pizza','prescription','projector','poker','porn','quick' ,'ringtones','ringtone','.ru','russian','roulette','sales','search','sex','soft','string','stud','squirt','television','texas','ticket','tire', 'tires','topless','tramadol','try','tv','ultram','urlcutter','valium','very','viagra','voyeur','wallpaper','welcome','you'); ?> |
Taalherkenning is vrij accuraat toe te passen door te scannen op het aantal voorkomens van elke letter. De Nederlandse en Engelse taal verschillen daarin dusdanig dat vrij nauwkeurig gezegt kan worden of een tekst Nederlands of Engels is.quote:Op vrijdag 19 januari 2007 14:51 schreef Swetsenegger het volgende:
[..]
[ code verwijderd ]
en de lijst werd langer en langer. Pas na een captcha EN deze lijst EN een ip banlist is het redelijk spamvrij. Het zou makkelijk zijn als er taal herkenning module was. Dan weer je gewoon engelse berichten.
quote:Op vrijdag 19 januari 2007 15:13 schreef HuHu het volgende:
[..]
Taalherkenning is vrij accuraat toe te passen door te scannen op het aantal voorkomens van elke letter. De Nederlandse en Engelse taal verschillen daarin dusdanig dat vrij nauwkeurig gezegt kan worden of een tekst Nederlands of Engels is.
Zie: http://www.cs.uu.nl/docs/vakken/imp/. Bij college's ga je naar week 43, hoofdstuk 14.3. Dat is een college over Automatische Taalherkenning. Je kan ook het dictaat downloaden van die site, waarin dacht ik de broncode van het programma ook staat uitgelegd.
Het algoritme is in Java, maar je kan het ook wel omzetten naar PHP. Het gaat er dus om dat je het programma voert met een voorbeeld teksten in elke taal. Daarvan de voorkomens van elke letter turfen. Vervolgens scan je de echte tekst en turf je ook het aantal voorkomens. Vervolgens ga je die vergelijken met de voorbeeldteksten en kun je vrij nauwkeurig bepalen welke taal je invoer is.
Maar dat is niet helemaal wat ik bedoel. Je hebt bijvoorbeeld ook open source implementaties van spam detectie met Bayes learning, zodat je zelf bijvoorbeeld echte spamberichten kunt laten 'leren' detecteren. Dat soort detectiealgoritmes worden bv. ook in het spamfilter van Mozilla Thunderbird gebruikt, en die kreeg ik tot zo'n 95% effectief. Voor die 5%, tja, ik heb liever 5% spam die ik moet opruimen dan 100% bezoekers die ik moet hinderenquote:Op vrijdag 19 januari 2007 14:51 schreef Swetsenegger het volgende:
[..]
[ code verwijderd ]
en de lijst werd langer en langer. Pas na een captcha EN deze lijst EN een ip banlist is het redelijk spamvrij. Het zou makkelijk zijn als er taal herkenning module was. Dan weer je gewoon engelse berichten.
Daar heb je dan weer niet de Nigeriaanse scammers mee, die zelf ook wel even een spamaccount kunnen registreren en die vervolgens doorspelen naar hun spambotjesquote:Op vrijdag 19 januari 2007 15:45 schreef ralfie het volgende:
En dat is dan weer het voordeel als je je gebruikers in laat loggen, je hoeft ze eigenlijk alleen bij het registreren lastig te vallen met een captha of iets dergelijks. Ik kan me niet voorstellen dat voor die ene keer iemand dat hinderlijk vindt...Lijkt me erger als ze posts moeten gaan herschrijven omdat er een verboden woord instaat ofzo.
Maar daarvoor heb je dan weer de activatie van een registratie door een admin. Zodat die een handmatige controle kan uitvoeren. Meestal zie je aan het mailadres al snel genoeg of het een spammer is of niet.quote:Op vrijdag 19 januari 2007 15:55 schreef JeRa het volgende:
[..]
Daar heb je dan weer niet de Nigeriaanse scammers mee, die zelf ook wel even een spamaccount kunnen registreren en die vervolgens doorspelen naar hun spambotjes
true, maar dat soort users merk je snel genoeg op, en het is niet zodanig massaal dat je die als admin niet zomaar op kunt ruimen. Temninste, ik heb nog geen enkel forum gezien waar nigeriaanse stamspam overvloedig wasquote:Op vrijdag 19 januari 2007 15:55 schreef JeRa het volgende:
[..]
Daar heb je dan weer niet de Nigeriaanse scammers mee, die zelf ook wel even een spamaccount kunnen registreren en die vervolgens doorspelen naar hun spambotjes
Werk hier wat mee voor het eerste, het tweede ongeveer analoogquote:Op vrijdag 19 januari 2007 16:58 schreef wobbel het volgende:
Hoe zorg ik ervoor dat de laatste 10 tekens van een string met onbekende lengte worden verwijderd?
En de eerste 10 tekens? < substr ( $string, 10 );
quote:Op vrijdag 19 januari 2007 15:43 schreef JeRa het volgende:
[..]
Maar dat is niet helemaal wat ik bedoel. Je hebt bijvoorbeeld ook open source implementaties van spam detectie met Bayes learning, zodat je zelf bijvoorbeeld echte spamberichten kunt laten 'leren' detecteren. Dat soort detectiealgoritmes worden bv. ook in het spamfilter van Mozilla Thunderbird gebruikt, en die kreeg ik tot zo'n 95% effectief. Voor die 5%, tja, ik heb liever 5% spam die ik moet opruimen dan 100% bezoekers die ik moet hinderen
quote:Op vrijdag 19 januari 2007 15:22 schreef Swetsenegger het volgende:
[..]Ik heb een fucking gastenboekje op mijn hoompeets... dit is misschien een brug te ver, ze krijgen wel een captcha voorgeschoteld
quote:Op vrijdag 19 januari 2007 18:18 schreef Swetsenegger het volgende:
Hoe kan ik sender in de mail header aanpassen? gewoon sender: <mail adres>?
1 2 | Reply-To: "HuHu HuHu" <huhu@huhu.hu> |
Nee, dit past dus de From: aan, maar niet Sender.quote:Op vrijdag 19 januari 2007 18:34 schreef HuHu het volgende:
[..]
[ code verwijderd ]
De Reply-To is niet verplicht dacht ik, maar kun je eventueel dus aanpassen mocht je de reply ergens anders naar toe willen hebben.
Je zou dus gewoon Sender: kunnen gebruiken als header.quote:Sender: This header is unusual in email (X-Sender: is usually used instead), but appears occasionally, especially in copies of Usenet posts. It should identify the sender; in the case of Usenet posts, it is a more reliable identifier than the From: line.
X-Sender: The usual email analogue to the Sender: header in Usenet news, this header purportedly identifies the sender with greater reliability than the From: header. In fact, it is nearly as easy to forge, and should therefore be viewed with the same sort of suspicion as the From: header.
quote:Op zaterdag 20 januari 2007 13:26 schreef Pelgrim het volgende:
Ik heb een foutje zitten in een preg_replace. Maar ik kan hem niet vinden.
1
2
3
4<?php
$input = preg_replace("_\[quote=(.*?)\](.*?)\[\/quote\]_ise",
"$this->quotebox( '$1', '$2' )", $input);
?>
Ik vermoed zelf dat het ligt aan het tweede veld van de functie.
Dat snap ik, maar misschien wil hij wel iets compleets anders, weten wij veel.quote:Op zaterdag 20 januari 2007 15:01 schreef Swetsenegger het volgende:
zo te zien wil hij [quote=naam]de quote[/qote] patronen herkennen waarbij hij de naam en de quote wil hebben
REPAIR TABLE {tabelnaam} en de laatste versie van PMA gebruiken (als je die niet al had)?quote:Op zaterdag 20 januari 2007 17:09 schreef BlueCurl het volgende:
probleempje ik had mysql 4.(x) nu heb ik mysql 5.0 geinstalleerd enkel het probleem is dat als ik de PK aangeef dat ie gewoon NOT NULL moet zijn dat ie dat niet doet. Daarnaast werkt AUTO INCREMENT dus niet.. die geeft errors als ik record toevoeg. En als ik het wil aanpassen kan ik dat gewoon doen netzoals me create met NOT NULL maar dan blijft ie gewoon NULL weergeven na de query..
[afbeelding]
iemand een idee hoe dit te verhelpen is?
Is dat correcte syntax voor een insert?quote:Op zaterdag 20 januari 2007 19:28 schreef fate het volgende:
Probeer dit eens?;
INSERT INTO server SET serip = '24.132.29.55', serdateadded = '2007-01-20 18:41:12'
of
INSERT INTO server SET serip = '24.132.29.55', serdateadded = NOW()
Je moet hem inderdaad niet opnemen in de kolomlijst in een INSERT-query, of NULL meegeven.quote:Op zaterdag 20 januari 2007 19:13 schreef CraZaay het volgende:
Je probeert een lege string te gebruiken als serid zo te zien? Moet je deze niet gewoon leeg laten?
Vziw mag het allebei in MySQL.quote:Op zaterdag 20 januari 2007 19:41 schreef CraZaay het volgende:
[..]
Is dat correcte syntax voor een insert?
Moet het niet dit zijn:
INSERT INTO server (serip, serdateadded) VALUES ('24.132.29.55', '2007-01-20 18:41:12')
Maar mijn methode is eenvoudiger om de overeenkomstige waarden te vindenquote:Op zaterdag 20 januari 2007 20:08 schreef JeRa het volgende:
[..]
Je moet hem inderdaad niet opnemen in de kolomlijst in een INSERT-query, of NULL meegeven.
[..]
Vziw mag het allebei in MySQL.
Wat is er precies makkelijker aan en over welke overeenkomstige waarden heb je het?quote:Op zaterdag 20 januari 2007 20:42 schreef fate het volgende:
[..]
Maar mijn methode is eenvoudiger om de overeenkomstige waarden te vinden.
En eenvoudiger om een SQL-injection uit te voeren.quote:Op zaterdag 20 januari 2007 20:42 schreef fate het volgende:
[..]
Maar mijn methode is eenvoudiger om de overeenkomstige waarden te vinden.
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |