Heb je nog wat kunnen vinden?quote:Op donderdag 7 mei 2009 22:19 schreef beerten het volgende:
Weet iemand nog een goede freeware/open source teksteditor voor Windows xp?
Highlighting, functieherkenning, accolades herkenning, regelnummering, met een soort van verkenner aan boord die een directory/filestructuur toont.
Ik had er ooit een maar ik kan niet meer op de naam komen. Helaas...
Ja, gebruik Notepad++ Werkt perfect, alleen kan ik nog geen directory/file structuur - presentatie-ding vinden voor aan de zijkant van het progje. Zodat ik snel kan switchen en zoeken naar bestanden.quote:
Is de functie mail() niet makkelijker?quote:Op dinsdag 12 mei 2009 00:20 schreef cablegunmaster het volgende:
[ code verwijderd ]
gewoon omdat het lastig is een goed SMTP script te vinden dat goed werkt![]()
zal vast wel een andere manier zijn maar deze werkte als enige voor me
1 2 3 4 5 | $_LANG['members'] = "Leden"; $_LANG['welcome'] = "Welkom op deze site!"; etc... ?> |
1 2 3 4 5 | $_LANG['members'] = "Members"; $_LANG['welcome'] = "Welcome at this site!"; etc... ?> |
Dat kan idd, voor korte statische teksten. Voor volledige berichten is dat geen handige optie.quote:Op donderdag 14 mei 2009 00:22 schreef Sar2007 het volgende:
Als ik meertalig programmeer, doe ik dit meestal met een language bestand.
Gewoon een standaad php bestand, met variabelen erin.
ex nl.php:
[ code verwijderd ]
ex en.php:
[ code verwijderd ]
Ik heb wat linkjes gevonden:quote:Op woensdag 13 mei 2009 12:35 schreef Likkende_Lassie het volgende:
Slechte ervaringen met memcache? Waar lees je die?Ik heb vooralsnog, alleen maar goede ervaringen hiermee!
Korte woorden kunnen ook in een taalbestand.quote:Maar betreffende pagina's dus in meer talen opslaan, hiermee doel ik ook op meng pagina's van html & PHP.
Dus ook korte woorden etc.....
1 |
1 |
Dat zijn twee problemen in één.quote:Op vrijdag 15 mei 2009 11:21 schreef Pizzahut het volgende:
Vraagje:
Ik werk momenteel met index.php?page=1 bijv. Dit wordt door een switch opgehaald die dan de juiste pagina include.
Nu wil ik graag weten hoe ik die ?page=1 om kan zetten naar /titel van de pagina
Kan iemand mij dit uitleggen?
1 2 | REWRITERULE ^pagina/([^/\.]+)/$ index.php?page=$1 |
1 2 3 4 5 6 7 8 | $sql = "SELECT * FROM kalender WHERE (kalender.month='$month' AND kalender.year='$year') || (kalender.month='*' AND kalender.year='$year') || (kalender.month='$month' AND kalender.year='*') || (kalender.month='*' AND kalender.year='*') JOIN kalendertype ON kalender.type = kalendertype.id ORDER BY kalender.day,kalender.vanafuur,kalender.vanafmin DESC "; ?> |
stom, idd zo krijg ik geen foutmelding meer... echter pakt hij de WHERE clausule dan niet meer... (het maakt dan geen verschil meer of ik de WHERE er bij zet of niet..quote:Op zaterdag 16 mei 2009 21:16 schreef GlowMouse het volgende:
WHERE komt na JOIN, zie http://dev.mysql.com/doc/refman/5.0/en/select.html
probleem opgelost, had te maken met niet ingevulde waardes in de databasequote:Op zaterdag 16 mei 2009 21:25 schreef GlowMouse het volgende:
Elke rij die je terugkrijgt, voldoet toch echt aan je WHERE.
1 2 3 4 5 6 7 8 9 | $sql = "SELECT kalender.link,kalender.id,kalender.day,kalender.month,kalender.year,kalender.type,kalendertype.id,kalendertype.kleur FROM kalender JOIN kalendertype ON kalendertype.id = kalender.type WHERE (month='$month' AND year='$year') || (month='*' AND year='$year') || (month='$month' AND year='*') || (month='*' AND year='*') ORDER BY kalender.day,kalender.vanafuur,kalender.vanafmin DESC "; ?> |
Volgens mij zou $row['kalender.id'] niets mogen opleveren en moet je $row['id'] gebruiken. Als je een id van twee (of meer) tabellen leest, zul je met aliassen moeten werken.quote:Op zaterdag 16 mei 2009 22:53 schreef BaggerUser het volgende:
Ik haal nu op deze manier de gegevens op:
[ code verwijderd ]
echter als ik nu kalender.id wil opvragen
(echo $row["kalender.id"];) dan komtie altijd terug met kalendertype.id hoe kan dit ?
1 2 3 | $sql = "SELECT kalender.id, kalender.type, kalendertype.id AS typeid, kalendertype.kleur FROM kalender ... "; ?> |
quote:Op zondag 17 mei 2009 00:27 schreef Light het volgende:
[..]
Volgens mij zou $row['kalender.id'] niets mogen opleveren en moet je $row['id'] gebruiken. Als je een id van twee (of meer) tabellen leest, zul je met aliassen moeten werken.
(Incomplete code)
[ code verwijderd ]
Als kalender.type en kalendertype.id gelijk zijn (volgens JOIN ... ON ... ) dan kun je je ook afvragen of je ze beide nodig hebt.
1 2 3 4 5 6 7 8 | $query['domains'][1] = $dbh->prepare("SELECT * FROM domains WHERE (domain = :domainname AND status = 1) LIMIT 1"); $query['domains'][1]->bindParam(':domainname', $domain, PDO::PARAM_STR, 12); $query['domains'][1]->execute(); if ($domain_info = $query['domains'][1]->fetch(PDO::FETCH_ASSOC)){ ?> |
Ik gebruik een aangepaste versie van dbFacile. Erg handige class.quote:Op zondag 17 mei 2009 12:03 schreef Likkende_Lassie het volgende:
Tot nu toe programmeer ik altijd zo dat de queries (mysql_query(), mysql_fetch_assoc()), altijd direct in de code worden meegenomen.
Ik zie wel eens dat mensen hier handgeschreven functies voor hebben, iemand die zin heeft dit te delen?
Ik ga er eens naar kijken, weet jij misschien het probleem van een aantal postst hierboven? Ik kom niet verder zo!quote:Op maandag 18 mei 2009 10:12 schreef Scorpie het volgende:
[..]
Ik gebruik een aangepaste versie van dbFacile. Erg handige class.
Het kan wel middels gebruik van subqueriesquote:Op maandag 18 mei 2009 10:09 schreef Chandler het volgende:
Helaas Likkende_Lassie, ik ben nog niet bekend met PDO
Verder heb ik een vraag, voor een systeem wil ik een vorige / volgende optie inbouwen om naar een vorige / volgende item te kunnen gaan zonder eerst terug naar de categorie te hoeven gaan.
Nu doe ik dit middels 3 queries, 1 voor de huidige, dan 1 voor de vorige en 1 voor de volgende, maar volgens mij moet dit ook mogelijk zijn met 1 óf 2 queries ipv 3?
Weet iemand of dit mogelijk is? google kon mij geen antwoorden verschaffen!
1 2 3 4 5 6 | FROM articles WHERE id IN ( SELECT id FROM articles WHERE id > ? ORDER BY id ASC LIMIT 1)) OR id IN ( SELECT id FROM articles WHERE id < ? ORDER BY id DESC LIMIT 1); |
Post je query eens. Ik vermoed dat je even een "GROUP BY" moet toevoegen.quote:Op maandag 18 mei 2009 16:46 schreef Pizzahut het volgende:...
Volgens mij gaat de query wel goed en is het gewoon een kwestie van op de juiste manier weergeven. Iedere maand maar 1 keer noemen, dus bijhouden welke maand je weergeeft.quote:Op maandag 18 mei 2009 19:09 schreef beerten het volgende:
[..]
Post je query eens. Ik vermoed dat je even een "GROUP BY" moet toevoegen.
Van dat tweede kun je vrij eenvoudig maken wat je hebben wilt, zonder extra queries. Gewoon bijhouden welke maand je weergeeft, en als het bericht uit die maand is dan meld je de maand niet nog een keer. Als het een andere maand is, zet je de maand weer neer.quote:Op maandag 18 mei 2009 20:06 schreef Pizzahut het volgende:
Als ik de GROUP BY gebruik krijg ik dus de 2e.
Ik moet dus 12 query's aanmaken? Een voor elke maand?
Wordt het dan niet ontiegelijk langzaam?
Post je query eens. Dit is gelul in de lucht. Jij denkt dat er geen fout zit, ik vermoed van wel. Je hebt geen codevoorbeeld, niets.quote:Op maandag 18 mei 2009 19:47 schreef Light het volgende:
[..]
Volgens mij gaat de query wel goed en is het gewoon een kwestie van op de juiste manier weergeven. Iedere maand maar 1 keer noemen, dus bijhouden welke maand je weergeeft.
Ik vroeg nietsquote:Op maandag 18 mei 2009 21:34 schreef beerten het volgende:
Daar vraag je om, maar je geeft ons geen enkel handvat.
Laat maar, ik haak af. Ik was bereid je te helpen. Je bent godverdomme te lui om te knippen en te plakken. Dan niet.quote:
Ja, of je leest even terug wie wat heeft gepost.quote:Op maandag 18 mei 2009 21:45 schreef beerten het volgende:
[..]
Laat maar, ik haak af. Ik was bereid je te helpen. Je bent godverdomme te lui om te knippen en te plakken. Dan niet.
Volgens mij moet ik je mijn excuses aanbieden. Ik haal 2 dingen door elkaar...quote:Op maandag 18 mei 2009 21:48 schreef Light het volgende:
[..]
Ja, of je leest even terug wie wat heeft gepost.
En dan? Dan heb je een lijstje met de maanden. Niet echt nuttig.quote:Op maandag 18 mei 2009 21:31 schreef cablegunmaster het volgende:
kan er geen distinct bij worden gebruikt dat hij de maanden distinct?
dan zou de maand geval wel werken.
SELECT DISTINCT maand FROM nieuws
bron:
http://www.1keydata.com/sql/sqldistinct.html
Kan gebeurenquote:Op maandag 18 mei 2009 21:54 schreef beerten het volgende:
[..]
Volgens mij moet ik je mijn excuses aanbieden. Ik haal 2 dingen door elkaar...
Sorry, ik zie dat je WEL code hebt gepost.
Die code mis ik ook.quote:Damn, Deutsche Bratwurst brengt niet alleen mijn darmen van slag merk ik....
Ik mis de code van de pizzahut...
alsof je daar niet een select met nieuws erbij kan halenquote:Op maandag 18 mei 2009 22:13 schreef Light het volgende:
[..]
En dan? Dan heb je een lijstje met de maanden. Niet echt nuttig.
zo deed ik het vroeger, is in de praktijk rete-onpraktischquote:Op donderdag 14 mei 2009 00:22 schreef Sar2007 het volgende:
Als ik meertalig programmeer, doe ik dit meestal met een language bestand.
Gewoon een standaad php bestand, met variabelen erin.
ex nl.php:
[ code verwijderd ]
ex en.php:
[ code verwijderd ]
1 2 | <a href="#eenurl"><?php echo translate('actions.done') ?></a> |
1 2 3 4 | $query = ('SELECT id, datum, titel FROM nieuws WHERE actief = 1 GROUP BY datum ORDER BY datum DESC') or die ('Query Error'); ?> |
Je zit dan nog steeds met het punt dat je al je tekst in variabelen moet gaan zetten, en dat vind ik nogal onpraktisch....quote:Op maandag 18 mei 2009 23:48 schreef super-muffin het volgende:
Ook raar. Ik heb gewoon een template voor alles, een centrale Translate class die een key => value bij houd van de huidige taal.
Die roep ik in mijn viewController of soms zelfs in de view:
[ code verwijderd ]
1 2 3 4 5 6 7 8 | $query['domains'][1] = $dbh->prepare("SELECT * FROM domains WHERE (domain = :domainname AND status = 1) LIMIT 1"); $query['domains'][1]->bindParam(':domainname', $domain, PDO::PARAM_STR, 12); $query['domains'][1]->execute(); if ($domain_info = $query['domains'][1]->fetch(PDO::FETCH_ASSOC)){ ?> |
quote:
1 |
1 2 3 4 5 6 7 8 9 10 11 12 | $sql = "SELECT distinct datum FROM nieuws"; $uitvoer = mysql_query($sql); $maand = mysql_assoc_fetch($uitvoer) for($i = 0; 12;$i++) { foreach($maand == $maand){ $squuel = "SELECT id,datum,titel from nieuws where actief = 1 and datum = $maand } } ?> |
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 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 | <head> <title>vrienden agenda</title> <link rel="stylesheet" type="text/css" href="kalender.css"> </head> <body> <? if(isset($_POST['hmaand'])) { $maand = $_POST['hmaand']; // Maand dat wordt ingegeven $jaar = $_POST['hjaar']; // Jaar dat wordt ingegeven } else { $maand = date('m'); // Maand NU $jaar = date('Y'); // Jaar NU } if(isset($_POST['volgende'])) { $maand++; // Volgende Maand if($maand == 13) // Als maand 13 is dan +1 jaar { $maand = 1; $jaar++; } } if(isset($_POST['vorige'])) { $maand--; // Vorige Maand if($maand == 0) // Als maand 0 is dan -1 jaar { $maand = 12; $jaar--; } } if(isset($_POST['naarvandaag'])) // Naar de Juiste maand gaan { $maand = date('m'); $jaar = date('Y'); } $maanden = array (1 => "Januari", "Februari", "Maart", "April", "Mei", "Juni", "Juli", "Augustus", "September", "Oktober", "November", "December"); // Maanden $datum = mktime(0, 0, 0, $maand, 1, $jaar); // functie time() bereken $datum = $maanden[date('n', $datum)].' '.date('Y', $datum); // Nederlandse Maand Jaar $srv = $_SERVER['PHP_SELF']; // Link naar waar hij moet gaan in ons geval deze pagina ?> <form action="<? echo $srv; ?>" method="post"> <table id="navigatie"> <tr> <td><input type="submit" name="vorige" value="<<" /></td> <td></td> <td><? echo $datum; ?></td> <td><input type="submit" name="naarvandaag" value="Nu" /></td> <td><input type="submit" name="volgende" value=">>" /></td> </tr> </table> <input type="hidden" name="hmaand" value="<? echo $maand; ?>"/> <input type="hidden" name="hjaar" value="<? echo $jaar; ?>"/> </form> <? function eersteDagInMaand($maand, $jaar) { // Functie Eerste Dag In De Maand $eerste = mktime(0, 0, 0, $maand, 0, $jaar); $edag = date('w', $eerste); return $edag; } function dagenInMaand($maand, $jaar) { // Functie totaal aantal dagen in de maand $laatste = mktime(0, 0, 0, $maand, 1, $jaar); $ldag = date('t', $laatste); return $ldag; } function restDagen($edag, $ldag) { // De rest van de dagen de lege vakjes berkenen $rest = ( $edag + $ldag ) % 7; if($rest != 0) { $rest = 7 - $rest; } return $rest; } function printMaand($maand, $jaar) // Maand laten zien { $edag = eersteDagInMaand($maand, $jaar); $ldag = dagenInMaand($maand, $jaar); $rest = restDagen($edag, $ldag); $vandaag = mktime(0,0,0,date('n',time()),date('d', time()), date('Y', time())); $weekdag = array('Ma', 'Di', 'Wo', 'Do', 'Vr', 'Za', 'Zo'); echo "\n".'<table id="agenda"><tr>'; foreach($weekdag as $dag) { echo '<td class="dagen">'.$dag.'</td>'; } echo '</tr><tr>'."\n"; for($i = 0; $i < ( $edag + $ldag + $rest ); $i++) { if($i < $edag || $i >= ( $edag + $ldag )) { echo '<td> </td>'."\n"; } else { if(date('d', $vandaag) == ($i - ($edag - 1)) && date('m') == $maand && date('Y') == $jaar) { echo '<td bgcolor="#651a9a">'. ($i -($edag - 1)) .'</td>'."\n"; } else { echo '<td>'. ($i -($edag - 1)) . "<textarea id='nieuwetekst'" . ($i -($edag - 1)) . "> tekstblablabla </textarea>" . '</td>'."\n"; } if(($i + 1) % 7 == 0) { echo '</tr><tr>'."\n"; } } } echo '</tr></table>'; } printMaand( $maand, $jaar ); ?> </body> </html> |
Je probleem ligt dus bij het database-ding?quote:Op dinsdag 19 mei 2009 12:03 schreef saaw het volgende:
Ik ben voor school bezig met een kalender in PHP waar je data kunt toevoegen.
Heb ondertussen wel iets bij elkaar dat de maand goed berekent en een textarea aanmaakt maar hoe ik de tekst die je daar in vult ook daadwerkelijk in de database krijgt, die deze bij herladen ook weer uitleest, is mij een raadsel.
[ code verwijderd ]
Zie hier voor de css en hier voor hoe het er tot nu toe uitziet.
Hopelijk kunnen jullie mij helpen.
ja ik zie voor me dat die textarea's van nu klikbaar zijn zodat je kan typen [is nu ook al het geval] en dan een submit knop oid zodat het idd opgeslagen word in de database. alleen tekst, geen naam of andere data.quote:Op dinsdag 19 mei 2009 12:18 schreef beerten het volgende:
[..]
Je probleem ligt dus bij het database-ding?
Voorbeeld: maak een link met "toevoegen"
Bijvoorbeeld een button.
Als er op geklikt wordt topon je een venster met invoervelden. Naam, omschrijving, jaar, maand, dag, uur, minuut. whatever.
Als de gebruiker op "opslaan" klikt vang je de gegevens af en stop je die in een database
Weet je iets van mysql?
De Group By levert de problemen op. Die heb je alleen nodig als je de database wilt laten tellen hoeveel items er aan een bepaalde voorwaarde voldoen. Je krijgt dan per datum 1 rij (dat gebeurt met DISTINCT() ook, dus die moet je ook niet gebruiken) en de velden id en titel worden wel gevuld met een artikel die bij die datum hoort, maar je kunt vooraf niet voorspellen welk artikel wordt gekozen (aangenomen dat je meer artikelen op een dag hebt).quote:
1 2 3 4 | $query = ('SELECT id, datum, titel FROM nieuws WHERE actief = 1 ORDER BY datum DESC') or die ('Query Error'); ?> |
Je zou ook kunnen overwegen een .txt bestandje te gebruiken.quote:Op dinsdag 19 mei 2009 16:01 schreef Darkomen het volgende:
Ja maar je weet de dag, de maand en het jaar, die zet je om naar een unix timestamp
Btw, ik ben ook maar een php-hobby-prutser :d
Chandler, WyriHaximus, Light en lassie hebben vast veel betere ideen
Ja dat weet ik, maar dan krijg ik niet:quote:Op dinsdag 19 mei 2009 16:35 schreef Light het volgende:
[..]
De Group By levert de problemen op. Die heb je alleen nodig als je de database wilt laten tellen hoeveel items er aan een bepaalde voorwaarde voldoen. Je krijgt dan per datum 1 rij (dat gebeurt met DISTINCT() ook, dus die moet je ook niet gebruiken) en de velden id en titel worden wel gevuld met een artikel die bij die datum hoort, maar je kunt vooraf niet voorspellen welk artikel wordt gekozen (aangenomen dat je meer artikelen op een dag hebt).
[ code verwijderd ]
Zo krijg je wel alle nieuwsberichten uit de database.
Kan je je databasestructuur voor de betreffende tabellen eens posten?quote:Op woensdag 20 mei 2009 15:09 schreef Pizzahut het volgende:
[..]
Ja dat weet ik, maar dan krijg ik niet:
April
- 1
- 2
Maart
- 1
- 2
id intquote:Op woensdag 20 mei 2009 19:20 schreef beerten het volgende:
[..]
Kan je je databasestructuur voor de betreffende tabellen eens posten?
Scripts die je vanaf de commandline uit moet voeren ja (veelal cronjobs), interactieve shell scripts nee.quote:Op vrijdag 22 mei 2009 21:10 schreef WyriHaximus het volgende:
Zeg vraagje bouwt iemand van jullie wel een shell scripts in PHP? (Gewoon puur intresse aangezien het hier vooral over websites gaat.)
Cronjobs doe ik erg veel tegenwoordig ipv het tijdens een page request te doen werkt veel beter. Interactieve nog nooit gedaanquote:Op vrijdag 22 mei 2009 21:13 schreef GlowMouse het volgende:
[..]
Scripts die je vanaf de commandline uit moet voeren ja (veelal cronjobs), interactieve shell scripts nee.
Had ik gepost in het volgende topic: Dagcijfers Actietopic! Alle hulp is welkom!quote:Op zaterdag 23 mei 2009 00:34 schreef The_Terminator het volgende:
Ik wou vandaag voor het eerst het script in de shell draaien maar dat ging niet goed. Ik gebruik (omdat ik PHP4 heb) cURL om de data op te halen en het uiteindelijke bericht te plaatsen. Nu lijkt het echter niet mogelijk om cURL vanuit een shellscript te draaien, er worden geen topics opgehaald.
Iemand toevallig een idee hoe dit wel werkende te krijgen is?
Het gaat fout bij cURL, daar ben ik heel zeker van. Het script print bij elke stap een regel, en nadat cURL is aangeroepen stopt hij omdat er niets is ontvangen. Ook van de init functie krijg ik niets terug... Ik heb het script nu even in een browser geopend, eens zien of dat goed gaat.quote:Op zaterdag 23 mei 2009 01:05 schreef GlowMouse het volgende:
cURL zou prima moeten werken vanuit een shellscript, dus ik zou kijken waarom dat foutgaat. Het werkt niet anders dan wanneer je het script via de browser opvraagt.
Het is dezelfde pc inderdaad. cURL vannuit een php script aanroepen gaat wel goed zolang die door Apache geserveerd wordt. Of moet er iets ingesteld worden als cURL wordt gebruikt buiten Apache om?quote:Op zaterdag 23 mei 2009 01:29 schreef GlowMouse het volgende:
Is het dezelfde pc? En curl is wel enabled? Error Reporting staat aan? En er is geen firewall of iets anders dat verkeer blokkeert? Het lijkt me nu echt standaard debugwerk want cURL werkt uiteraard ook gewoon via de commandline mits goed ingesteld.
Ik heb zo geen oplossing, maar is het niet handiger om PHP5 te gebruiken ipv PHP4? Als ik je posts goed begrijp, werkt het wel in PHP5.quote:Op zaterdag 23 mei 2009 01:00 schreef The_Terminator het volgende:
Iemand hier een idee:
[..]
Had ik gepost in het volgende topic: Dagcijfers Actietopic! Alle hulp is welkom!
In PHP5 is cURL overbodig gezien daar al functies in zitten voor het verkrijgen of posten van data. Helaas lukt het me niet om PHP5 geinstalleerd te krijgen op mijn Suse 10 bak...quote:Op zaterdag 23 mei 2009 02:16 schreef Light het volgende:
[..]
Ik heb zo geen oplossing, maar is het niet handiger om PHP5 te gebruiken ipv PHP4? Als ik je posts goed begrijp, werkt het wel in PHP5.
Da's vreemd. Is daar niet gewoon een of ander standaardpakket voor?quote:Op zaterdag 23 mei 2009 13:27 schreef The_Terminator het volgende:
Helaas lukt het me niet om PHP5 geinstalleerd te krijgen op mijn Suse 10 bak...
Heb hier al veel tijd aan besteed. Hij mist bepaalde dependencies. Suse 10 is waarschijnlijk al te oud om dit werkende op te krijgen. En de server herinstalleren met een andere distro heb ik helaas geen tijd voor...quote:Op zaterdag 23 mei 2009 13:41 schreef Light het volgende:
[..]
Da's vreemd. Is daar niet gewoon een of ander standaardpakket voor?
Via de webserver:quote:Op zaterdag 23 mei 2009 13:35 schreef GlowMouse het volgende:
Vergelijk phpinfo() op de commandline eens met die op je webserver. Als je shelltoegang kunt geven, wil ik ook wel even zoeken.
Via de shell:quote:CURL support enabled
CURL Information libcurl/7.15.5 OpenSSL/0.9.7g zlib/1.2.3 libidn/0.5.9
Exact hetzelfde dus...quote:curl
CURL support => enabled
CURL Information => libcurl/7.15.5 OpenSSL/0.9.7g zlib/1.2.3 libidn/0.5.9
Ben ik al mee bezig. Even een testcase maken en kijken wat cURL precies doet en of deze uberhaupt wordt uitgevoerd. Het lijkt er namelijk op dat cURL niet wordt uitgevoerd, gezien de init functie ook niets terug geeft...quote:Op zaterdag 23 mei 2009 15:11 schreef GlowMouse het volgende:
Ik zou zeggen, probeer toch met een kleiner script te debuggen.
Staat safemode aan? Zoja, dan moet je eens met chown de owner wijzigen.quote:Op zaterdag 23 mei 2009 15:27 schreef The_Terminator het volgende:
Ik ben erachter waar de fout zit, namelijk bij het inlezen van de cookie... Ik heb net even het volledige pad naar de cookie opgegeven maar dat werkt ook niet, ook CHMODDEN naar 777 heeft niet mogen baten helaas...
Zie edit. En nee, safemode is uitquote:Op zaterdag 23 mei 2009 15:30 schreef GlowMouse het volgende:
[..]
Staat safemode aan? Zoja, dan moet je eens met chown de owner wijzigen.
Misschien had jouw user geen +x rechten op de directory waar de cookiefile eerst instondquote:Op zaterdag 23 mei 2009 15:34 schreef The_Terminator het volgende:
[..]
Zie edit. En nee, safemode is uit![]()
Toch bedankt voor het meedenken, ik kom er zo wel uit
De cron wordt uitgevoerd door 'root', en ik had al geprobeerd de dir te chmodden naar 777. Het zou eigenlijk geen rechtenprobleem kunnen zijn. Ik blijf het wel vreemd vinden dat hij het cookie niet leest als deze in een andere dir staat dan het script zelf.quote:Op zaterdag 23 mei 2009 15:36 schreef GlowMouse het volgende:
[..]
Misschien had jouw user geen +x rechten op de directory waar de cookiefile eerst instondZou niet nodig moeten zijn, maar zou wel een verklaring kunnen zijn.
1 2 3 4 5 6 7 | if(!setcookie("session", $ses, $time, "/", ".".$conf['host'])) { trigger_error("Geen cookie geset"); exit(); } echo join(", ", array("session", $ses, $time, "/", ".".$conf['host'])); ?> |
Kijk even met http://nl2.php.net/manual/en/function.headers-list.php wat er precies verstuurd wordt; het is waarschijnlijk de client die bokt.quote:Return Values
If output exists prior to calling this function, setcookie() will fail and return FALSE. If setcookie() successfully runs, it will return TRUE. This does not indicate whether the user accepted the cookie.
quote:Op zaterdag 23 mei 2009 18:08 schreef GlowMouse het volgende:
[..]
Kijk even met http://nl2.php.net/manual/en/function.headers-list.php wat er precies verstuurd wordt; het is waarschijnlijk de client die bokt.
1 2 3 4 5 6 7 8 | [0] => X-Powered-By: PHP/5.2.8 [1] => Set-Cookie: session=9b90ceb47c92817e61874a7c1a670002; expires=Sun, 23-May-2010 16:18:19 GMT; path=/; domain=.dareaper ) |
Bij mij doet http://dareaper het welquote:Op zaterdag 23 mei 2009 18:21 schreef GlowMouse het volgende:
.dareaper is dan ook geen domeinnaam. Althans, als ik naar http://dareaper ga, dan zie ik niksPlus dat je geen cookies kunt zetten voor een TLD.
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 | <head> <link rel="stylesheet" type="text/css" href="mijnstijl.css" /> </head> <body> <table border="0"> <tr align=left> <th>Ondertekend door:</th> </tr> <?php mysql_connect("serverl", "bla", "blaaaaa"); mysql_select_db("jaja"); $sql = "select * FROM jos_jdusers WHERE id <> '62' and id <> '63'"; $res = mysql_query($sql); $i=0; while ($row = mysql_fetch_object($res)) { echo "<tr><td> " . $row->name. "</td></tr></br>"; } ?> </font> </table> <//body> </html> |
1 2 3 4 | TABLE { border: 0px solid #C0C0C0; background-color: #FFFFFF; font-family: Verdana; font-size: 12;} TD { border: 0px solid #C0C0C0; font-family: Verdana; font-size: 12; } |
NULL en "" (leeg veld/lege string) zijn twee verschillende dingen. Misschien is het veld gevuld met een lege string?quote:Op zondag 24 mei 2009 22:33 schreef Sjoe538 het volgende:
SELECT med_email FROM tbl_medewerker WHERE med_email IS NOT NULL
geeft als nog rijen met null terug
Wijzigen Verwijderen **email**
Wijzigen Verwijderen <leeg veld>
Wijzigen Verwijderen <leeg veld>
Wijzigen Verwijderen ** email **
Regel 21: haal de <br/> tag weg, of zet deze in een <td>.quote:Op zondag 24 mei 2009 22:19 schreef -J-D- het volgende:
[ code verwijderd ]
mijnstijl.css
[ code verwijderd ]
Hallo allen.
Op een pagina heb ik de volgende code draaien. Deze werkt zoals het moet.
Alleen zie je op die pagina dat er een witgedeelte boven die lijst staat. Hoe meer regels deze uitkomst bevat, hoe meer witregels er ook boven deze tekst komt te staan.
Waar komen die witregels vandaan? En hoe kan ik ze verwijderen?
Alvast bedankt
het probleem is dat, als ik de query uitvoer ik alleen de dubbele wil hebben en meer dan dubbelquote:Op dinsdag 26 mei 2009 12:00 schreef GlowMouse het volgende:
http://www.java2s.com/Cod(...)NTGROUPandHAVING.htm
subqueries!quote:Op dinsdag 26 mei 2009 12:06 schreef cablegunmaster het volgende:
[..]
het probleem is dat, als ik de query uitvoer ik alleen de dubbele wil hebben en meer dan dubbel
alleen ik wil per omschrijving de pc namen weten (meerdere namen per omschrijving)
1 2 3 4 | FROM verbinding,component WHERE verbinding.parent_component = component.systeem_id AND verbinding.child_component = component.systeem_id |
dat probleem heb ik ook !!!quote:Op donderdag 28 mei 2009 21:05 schreef wobbel het volgende:
Nou daar komt ie dan: ik ben op zoek naar een goede Framework voor PHP
Heb CakePHP al gebruikt, maar daar snap ik echt de ballen van
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | id | artikelcode ------------------- 1 | ZJ001 2 | SJ214 tabel voorraad id | articlecode_id | maat | kleur | prijs ------------------------------------------------- 1 | 1 | 38 | rood | 39,95 2 | 1 | 38 | wit | 39,95 3 | 1 | 38 | zwart | 39,95 4 | 1 | 40 | wit | 39,95 5 | 1 | 40 | zwart | 39,95 6 | 1 | 42 | wit | 39,95 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | function checkkenteken($kenteken) { if(strpos($kenteken, '-')!== false and strlen($kenteken) == 8) { $pos_streep1 = strpos($kenteken, '-'); $pos_streep2 = strpos($kenteken, '-', 4); if($pos_streep1 == 2 and $pos_streep2 == 5) { echo "streep 1: $pos_streep1 <br> streep 2: $pos_streep2 <br>"; } } else { echo 'kenteken heeft niet goede lengte<br>'; } } checkkenteken('12-ab-cd'). '<br>'; ?> |
ik denk dat je beter met reguliere expressies kan werken.quote:Op zaterdag 30 mei 2009 19:28 schreef Lente_ninja het volgende:
Newbie alert:
Ik probeer een stuk code te schrijven, en dat gaat niet zonder slag of stoot. Ik ben al bijna een week aan het proberen, schelden en php.net doorspitten tot ik scheel zie, maar ik kom geen steek verder. Vandaar dat ik hier mijn geluk maar eens ga beproeven.![]()
De bedoeling is dat er door middel van een functie, een kenteken gevalideerd (heet dat zo?) kan worden. Dat wil zeggen, de gebruiker mag alleen volgens het formaat xx-xx-xx (waarvan de eerste twee tekens alleen letters en de rest alleen cijfers) invoeren. (ik weet dat het tegenwoordig xx-xxx-xx is, maar ik moet de oude soort aanhouden)
Ik heb 'm al wel zover dat 'ie een foutmelding geeft als de streepjes niet op de goede plekken staan en dat hij alleen een invoer van 8 tekens accepteert, maar daarna loop ik vast. Ik heb al van alles geprobeerd: for, loops, arrays... maar de code werkt helaas niet mee. Of PHP heeft een hekel aan me, of ik doe ergens iets verkeerd.![]()
Ik heb wel één 'hint' gekregen. Maak gebruik van 'modulo' (dit geval: %). Ik zou niet weten hoe dit kan helpen, maar goed.
Ik krijg hier hoofdpijn van, maar misschien kan een vriendelijke Fok!ker me verder helpen?![]()
Wat ik tot nu toe in elkaar heb geflanst (echoes zijn vooral voor mezelf om nou te kijken wat nou precies wat doet):
[ code verwijderd ]
Het enige wat hier op het punt staat te exploden, is mijn hoofdquote:Op zaterdag 30 mei 2009 19:42 schreef wobbel het volgende:
[..]
ik denk dat je beter met reguliere expressies kan werken.
je zou het ook met een explode kunnen doen denk ik
Oke, bij deze mijn eigen eerste reguliere expressiequote:Op zaterdag 30 mei 2009 19:51 schreef Lente_ninja het volgende:
[..]
Het enige wat hier op het punt staat te exploden, is mijn hoofd(*scheld scheld scheld* "waarom
doet
'ie
ut
nou
niehiehiet")
Praat tegen me alsof ik vijf ben: wat bedoel je precies? (ja, ik ben nieuw met PHP![]()
![]()
)
1 2 3 4 5 6 7 8 9 10 11 12 | $kenteken = $_GET['kenteken']; if(preg_match('/^[0-9a-zA-z]{2}-[0-9a-zA-z]{2}-[0-9a-zA-z]{2}$/', $kenteken)) { echo "goed"; } else { echo "fout"; } ?> |
quote:Op zaterdag 30 mei 2009 19:52 schreef wobbel het volgende:
[..]
Oke, bij deze mijn eigen eerste reguliere expressienu heb ik het zelf ook geleerd
![]()
![]()
(test op http://www.kontpiraat.nl/test.php?kenteken=SL-NB-18 )
[ code verwijderd ]
een modulo? wat is dat dan weerquote:Op zaterdag 30 mei 2009 19:54 schreef Lente_ninja het volgende:
[..]
JAAA!!!![]()
Maar waarom zou ik dus (als ik mijn reader mag geloven) een modulo moeten gebruiken? Ik ben geen PHP heldin (dat moge intussen duidelijk zijn), maar jouw manier klinkt veel logischer.
Een modulo is zo'n tekentje: % en dan doet 'ie zoiets:quote:Op zaterdag 30 mei 2009 19:56 schreef wobbel het volgende:
[..]
een modulo? wat is dat dan weer
mijn nickname @gmail.com is msn voor als je hulp nodig hebt ^^
iemand?quote:Op zaterdag 30 mei 2009 15:47 schreef Swetsenegger het volgende:
Database normalisatie vraagje
Ik ga een nieuw webshopje bouwen voor een klant en het gaat om kledingstukken. Nu zijn er van een bepaald kledingstuk natuurlijk meerdere maten EN meerdere kleuren mogelijk. Dus bv Jurk XXX heb je in maat 38 in wit, rood en zwart in maat 40 in wit en zwart in maat 42 alleen in wit.
Database bedacht ik een tabel met artikel codes en omschrijving. En dan een koppeltabel waar je per maat/ per kleur een record weg schrijft. Voor bovenstaand voorbeeld krijg je dan zoiets
[ code verwijderd ]
Dit lijkt me het meest handig? Sowieso voor voorraad indicatie en dergelijke.
Het lijkt mij een handige db lay-out om mee te werken. Prijzen zou ik alleen in centen als mediumint opslaan, en een kolom zou ik zelf nooit id noemen maar eerder artikelid, dan weet je in je code ($row['artikelid']) ook om wat voor id het gaat.quote:
Vooral als je met joins gaat werken gaat dat soms vervelend werkenquote:Op zondag 31 mei 2009 11:39 schreef GlowMouse het volgende:
[..]
Het lijkt mij een handige db lay-out om mee te werken. Prijzen zou ik alleen in centen als mediumint opslaan, en een kolom zou ik zelf nooit id noemen maar eerder artikelid, dan weet je in je code ($row['artikelid']) ook om wat voor id het gaat.
Ja dit zijn nog niet de omschrijvingen in de tabel. Opslaan in centen is misschien handig, aangezien de meeste payment providers het bedrag ook in centen willen ontvangen.quote:Op zondag 31 mei 2009 11:39 schreef GlowMouse het volgende:
[..]
Het lijkt mij een handige db lay-out om mee te werken. Prijzen zou ik alleen in centen als mediumint opslaan, en een kolom zou ik zelf nooit id noemen maar eerder artikelid, dan weet je in je code ($row['artikelid']) ook om wat voor id het gaat.
Dat valt toch wel mee? Je geeft desbetreffende tabellen toch een alias in je query SELECT * FROM dba a JOIN dbb b ON (a.id=b.id)quote:Op zondag 31 mei 2009 12:45 schreef wobbel het volgende:
[..]
Vooral als je met joins gaat werken gaat dat soms vervelend werken
Als je ze als verschillende artikelcodes opslaat zal ik weer iets van een groep ID of iets dergelijks moeten hebben om te zorgen dat ze bij elkaar horen. Dat moet je dan handmatig in het cms gaan doen. Degene die er mee gaat werken is niet bekend met cms'en of uberhaupt computers dus ik wil het zo monkey proof maken als mogelijk.quote:Op maandag 1 juni 2009 11:49 schreef Xcalibur het volgende:
Swets: zijn dat niet gewoon allemaal verschillende artikelen, met verschillende artikelnummers?
Een "rode trui maat M" is niet hetzelfde als een "blauwe trui maat XL", waarom zou je die als hetzelfde artikel willen opslaan?
Wellicht kun je iets zoals Wehkamp (geloof ik) doet? Die hebben artikelnummers gevolgd door een letter, dus 1234567B, wat dus artikel 1234567 in kleur B (= Blauw) is. Lijkt mij een stuk praktischer dan via een koppeltabel eerlijk gezegd
Edit: opslaan in centen is altijd een goed idee! Sowieso opslaan in de kleinst mogelijk eenheid, zodat je geen breuken krijgtPSP's willen het inderdaad in centen hebben, bovendien heb je geen gezeur met punten en komma's in je bedragen, of een bedrag als ¤ 15,10 wat afgerond wordt naar 15,1 of iets dergelijks
Mjah dan moet ik de klant gaan voorschrijven hoe ze d'r artikelen gaat coderen. Of ik moet, behalve in mijn systeem, niets meer doen met die kleurcodes. Alleen op de bon weergeven dat het om blauw in maat 40 gaat. Het is het overwegen waard.quote:Op maandag 1 juni 2009 13:09 schreef Xcalibur het volgende:
Je kunt de variaties op de artikelnummers ook automatisch maken natuurlijk
De artikelen hebben in basis hetzelfde nummer, en je postfixt die met de gekozen kleur (B) en maat (XL) bijvoorbeeld. Je numerieke gedeelte van het artikelnummer blijft dan hetzelfde, waarop je ze ook vrij eenvoudig kunt terugvinden?
Als ik die regex (reguliere expressie) bekijk dan accepteert'ie ook de formaten BB-BB-BB en 11-11-11. Maar dat zijn geen geldige formaten, die zijn nooit uitgegeven.quote:Op zaterdag 30 mei 2009 19:52 schreef wobbel het volgende:
[..]
Oke, bij deze mijn eigen eerste reguliere expressienu heb ik het zelf ook geleerd
![]()
![]()
(willen de overige PHP'ers deze ff controleren?ik vertrouw hem niet ^^ )
(test op http://www.kontpiraat.nl/test.php?kenteken=SL-NB-18 )
[ code verwijderd ]
Aan de andere kant, je moet er ook rekening mee houden dat iemand misschien eens korting wilt geven. En dan maakt het niet uit of je die trui nou in maat M of X koopt, of in rood of blauw. Of het maakt wel uit, maar dan moet je voor iedere mogelijke combinatie aangeven welke korting er van toepassing is. Voor 7 maten (XXS - XXL) en 3 kleuren zijn dat al 21 combinaties.quote:Op maandag 1 juni 2009 21:39 schreef Xcalibur het volgende:
nou ja, die kleurcodes en maat kan je natuurlijk wel gewoon apart opslaan
maar door ze in het artikelnummer toe te voegen kun je er wel aparte artikelen van maken, en is het misschien makkelijker te handelen?
Ik heb een beetje ervaring met Virtuemart en nog minder osCommerce. Op zich leuke systemen, alleen nauwelijks geschikt als je een aangepaste template wilt gebruiken.quote:Ik moet zeggen dat ik zelf nog nooit een shop voor kleding heb gebouwd, dus ik weet verder ook niet wat de gangbare / beste methode is. Maar dit lijkt me op zich een nuttige aanpak
Er komen inderdaad kortings opties in.quote:Op maandag 1 juni 2009 23:01 schreef Light het volgende:
[..]
Aan de andere kant, je moet er ook rekening mee houden dat iemand misschien eens korting wilt geven. En dan maakt het niet uit of je die trui nou in maat M of X koopt, of in rood of blauw. Of het maakt wel uit, maar dan moet je voor iedere mogelijke combinatie aangeven welke korting er van toepassing is. Voor 7 maten (XXS - XXL) en 3 kleuren zijn dat al 21 combinaties.
Dus als de zelfde persoon 6 keer f5't wil je gewoon 6 pageviews tellen?quote:Op dinsdag 2 juni 2009 10:48 schreef Flaccid het volgende:
Ik zoek een simpele bezoekerstellerdie laat zien hoeveel pageviews er vandaag zijn geweest. Ik gebruik al google analytics, maar ik wil iets hebben wat iedereen kan zien.
T liefst zonder mysql, in een txt wegschrijven zou toch ook prima kunnen?
Heb gegoogled maar ik kom uit op allemaal poepsites die t niet meer doen.
Mmm. Een refresh protectie, is dat te doen?quote:Op dinsdag 2 juni 2009 10:53 schreef Swetsenegger het volgende:
[..]
Dus als de zelfde persoon 6 keer f5't wil je gewoon 6 pageviews tellen?
Dat zijn toch ook pageviewsquote:Op dinsdag 2 juni 2009 10:53 schreef Swetsenegger het volgende:
[..]
Dus als de zelfde persoon 6 keer f5't wil je gewoon 6 pageviews tellen?
6 keer F5 (of CMD + R) zijn ook 6 pageviews, maar nog steeds 1 visit.quote:Op dinsdag 2 juni 2009 10:53 schreef Swetsenegger het volgende:
[..]
Dus als de zelfde persoon 6 keer f5't wil je gewoon 6 pageviews tellen?
Dan wil je unieke bezoekers opslaan. definieer 'unieke bezoeker'quote:Op dinsdag 2 juni 2009 11:38 schreef Flaccid het volgende:
[..]
Mmm. Een refresh protectie, is dat te doen?
Wat denken jullie?quote:Op maandag 1 juni 2009 08:13 schreef Swetsenegger het volgende:
Ik zit alleen nog met afbeeldingen (3 per artikel). Maak ik een aparte afbeeldingen tabel en koppel ik die op voorraad id of hang gewoon 3 foto's in de voorraad tabel per product. Wat is wijsheid.
Nadeel van de laatste is natuurlijk de schaalbaarheid. Het eerste wordt wat lastiger met queries.
ik neem aan dat je de afbeeldingen toch stuk voor stuk eruit trekt? wat dat betreft maakt het qua moeilijkheid of snelheid geen barst uit. Ga dus voor de losse tabel.quote:
Nee, als een product getoont wordt, staan er direct 3 afbeeldingen bij. Zoiets als ditquote:Op dinsdag 2 juni 2009 21:02 schreef ralfie het volgende:
[..]
ik neem aan dat je de afbeeldingen toch stuk voor stuk eruit trekt? wat dat betreft maakt het qua moeilijkheid of snelheid geen barst uit. Ga dus voor de losse tabel.
dat zijn dan toch gewoon vier individuele scripts die elk een plaatje ophalen?quote:Op dinsdag 2 juni 2009 21:04 schreef Swetsenegger het volgende:
[..]
Nee, als een product getoont wordt, staan er direct 3 afbeeldingen bij. Zoiets als dit
Extra foto tabel dus?quote:Op dinsdag 2 juni 2009 21:15 schreef Scorpie het volgende:
Ik zou voor de generieke functionaliteit gaan in dit geval; makkelijk uitbreidbaar en goed te onderhouden.
Weet ik veel, ik heb de source nietquote:Op dinsdag 2 juni 2009 21:48 schreef ralfie het volgende:
[..]
dat zijn dan toch gewoon vier individuele scripts die elk een plaatje ophalen?
quote:Op zaterdag 30 mei 2009 19:52 schreef wobbel het volgende:
[..]
Oke, bij deze mijn eigen eerste reguliere expressie :D nu heb ik het zelf ook geleerd :7 8-)
(willen de overige PHP'ers deze ff controleren? :P ik vertrouw hem niet ^^ )
(test op http://www.kontpiraat.nl/test.php?kenteken=SL-NB-18 )
[ code verwijderd ]
de rest moet wel lukken toch? :)
Met reguliere expressies kun je patronen herkenen of controleren dat waardes aan bepaalde eisen voldoen (zoals in dit geval XX-XX-XX )
1 2 3 4 5 6 7 8 9 10 11 12 13 | $kenteken = $_GET['kenteken']; $valide = "[BCDFGHJKLMNPQRSTVWXZ]" if(preg_match('/^$valide{2}-\d{2}-\d{2}$/i', $kenteken)) { echo "goed"; } else { echo "fout"; } ?> |
De klinkers zijn in het verleden wel gebruikt. Je ziet ze nog op auto's met blauwe kentekenplaten. Lekker ingewikkeld allemaalquote:Op woensdag 3 juni 2009 11:00 schreef daReaper het volgende:
[..]
[ code verwijderd ]
\d is hetzelfde als [0-9]
in $valide staan de geldige letters (voor zover ik weet)
/i achter de expressie geeft aan dat het niet case sensitive is.
Niet getest overigens, maar ik geloof dat het zo wel moet kloppen.
Mmm ik denk dat ik dan uitkom op visits.quote:Op dinsdag 2 juni 2009 20:07 schreef Swetsenegger het volgende:
[..]
Dan wil je unieke bezoekers opslaan. definieer 'unieke bezoeker'
Bestaat wel.quote:Op dinsdag 12 mei 2009 19:35 schreef beerten het volgende:
[..]
Ja, gebruik Notepad++ Werkt perfect, alleen kan ik nog geen directory/file structuur - presentatie-ding vinden voor aan de zijkant van het progje. Zodat ik snel kan switchen en zoeken naar bestanden.
Of Notepad++ kent het niet, of ik heb de optie nog niet kunnen vinden.
Dat valt toch wel af te vangen met een cronjob die de resultaten wegschrijft en evt mailtj?quote:Op woensdag 3 juni 2009 22:10 schreef Xcalibur het volgende:
ik zou een einddatum opgeven, ipv met een aantal te werken
En je moet zorgen dat je script vaak genoeg draait zodat ze gegenereerd worden
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 | $gegevens = mysql_query("SELECT groenten ORDER BY ASC") or die ("Geen tabel geselecteerd."); $resultaat = mysql_fetch_assoc($gegevens); if(isset($_POST['groenten'])) { elseif($_POST['groenten'] == "bloemkool") { $resultaat['bloemkool']; } } else { echo 'Selecteer iets.'; } ?> <form method="post" action="#"> <select> <option value="">Selecteer groenten</option> <option value="bloemkool" name="bloemkool">bloemkool</option> <option value="1" name="test2">Test 2</option> </select> <select> <option value="">Selecteer 2</option> <option value="0" name="test3">Test 3</option> <option value="1" name="test4">Test 4</option> </select> <select> <option value="">Selecteer 3</option> <option value="0" name="test5">Test 5</option> <option value="1" name="test6">Test 6</option> </select> <input type="submit" value="Checken" /> </form> |
Ja.quote:Op dinsdag 2 juni 2009 21:49 schreef Swetsenegger het volgende:
[..]
Extra foto tabel dus?
[..]
Weet ik veel, ik heb de source niet
wat wil je nu in hemelsnaam bereiken? De opties uit de database halen ofzo?quote:Op donderdag 4 juni 2009 14:10 schreef Nashje het volgende:
Mooi. Nu de rest nog. Gaat dit zo werken? En dan voor elke option dus.
Nee, de output onder elke optie uit de database halen. Áls die wordt gesubmit uiteraard.quote:Op donderdag 4 juni 2009 14:59 schreef Catch22- het volgende:
[..]
wat wil je nu in hemelsnaam bereiken? De opties uit de database halen ofzo?
Bedoel je een textfield in een html-pagina? Is het dan een <input type="text"> of een <textarea> ?quote:Op zondag 7 juni 2009 22:02 schreef cablegunmaster het volgende:
hoe zit het eigenlijk met een textfield?
ik heb een textfield en als je die op enter drukt slaat hij het niet op. moet ik hiervoor een preg replace gebruiken??
nou je wil de enters opslaan en weergevenquote:Op zondag 7 juni 2009 22:22 schreef Light het volgende:
[..]
Bedoel je een textfield in een html-pagina? Is het dan een <input type="text"> of een <textarea> ?
Of bedoel je een text-veld in een database?
En hoezo wordt het niet opgeslagen? Een stukje code zou handig kunnen zijn. En wat je met een preg replace wilt, weet ik niet. Maar voor het opslaan van tekst in een database heb je geen preg replace nodig.
Ah, dat verduidelijkt een hoop! Light stelde die vragen ook maar voor de grap.quote:Op zondag 7 juni 2009 22:26 schreef cablegunmaster het volgende:
[..]
nou je wil de enters opslaan en weergeven
boeit nietquote:Op zondag 7 juni 2009 22:28 schreef GlowMouse het volgende:
[..]
Ah, dat verduidelijkt een hoop! Light stelde die vragen ook maar voor de grap.
Ow, zeg dat dan. En zoek eens op nl2br();quote:Op zondag 7 juni 2009 22:26 schreef cablegunmaster het volgende:
[..]
nou je wil de enters opslaan en weergeven
http://nl.php.net/nl2brquote:Op zondag 7 juni 2009 22:36 schreef Light het volgende:
[..]
Ow, zeg dat dan. En zoek eens op nl2br();
Of je de originele code of de aangepaste html-code opslaat, is voor een groot deel eigen keuze. Als je opslaat wat de gebruiker heeft ingetypt dan is het makkelijker om die tekst later aan te passen. Nadeel is wel dat je voor iedere pageview weer moet vertalen naar html-code.quote:Op zondag 7 juni 2009 22:29 schreef cablegunmaster het volgende:
en dan opslaan in de database zonder br? of maakt dat niet uit? lag me iets bij dat je eigenlijk geen html in de database moet krijgen.
waarom weet ik niet maar als iemand mij dit kon uitleggen dan zou ik dat heel graag op prijs stellen.
Alvast bedankt
Na 3 keer lezen snap ik nog steeds de vraag niet.quote:Op dinsdag 9 juni 2009 10:02 schreef Mirel het volgende:
Hoi. Voor een website waar ik aan werk, moet de URL uiteindelijk anders worden dan dat het nu is. Een ander bedrijf heeft het definitieve domein in handen, en die vroegen ons of we het ip van ónze domein konden geven, zodat als iemand hun URL intypt, hij terechtkomt bij onze site.
Echter, het ip van onze domeinnaam loopt uit naar een 'Apache is functioning normally' pagina. Dat komt omdat onder dat ip verschillende sites zitten. Letterlijk in de mappenstructuur in SmartFTP zie ik bovenaan het IP adres staan, en in een mapje genaamd domeins zitten een aantal websites.
Hoe kan ik naar onze site komen dmv een ipadres intypen? 81.18.165.26/domains/website oid werkt dus blijkbaar niet.
1 2 3 4 5 | DocumentRoot /www/domain ServerName www.domain.tld ... </VirtualHost> |
Ik neem even aan dat je een control panel gebruikt (plesk, cpanel oid ..).quote:Op dinsdag 9 juni 2009 10:02 schreef Mirel het volgende:
Hoi. Voor een website waar ik aan werk, moet de URL uiteindelijk anders worden dan dat het nu is. Een ander bedrijf heeft het definitieve domein in handen, en die vroegen ons of we het ip van ónze domein konden geven, zodat als iemand hun URL intypt, hij terechtkomt bij onze site.
Echter, het ip van onze domeinnaam loopt uit naar een 'Apache is functioning normally' pagina. Dat komt omdat onder dat ip verschillende sites zitten. Letterlijk in de mappenstructuur in SmartFTP zie ik bovenaan het IP adres staan, en in een mapje genaamd domeins zitten een aantal websites.
Hoe kan ik naar onze site komen dmv een ipadres intypen? 81.18.165.26/domains/website oid werkt dus blijkbaar niet.
1 2 | <span style="font-size:0.8em;"><<</span> <?php echo JText::_('BACK TO FORUM LIST'); ?></a> |
1 2 3 4 5 6 7 8 9 | /* Het volgende wil ik niet: ?> <a href="klik.html">klik</a> <?php echo 'lalala'; */ doeIets(); |
1 2 3 4 5 6 7 8 | /* Het volgende wil ik niet: */ if (false) { // het volgende } ?> |
Huh? Als ik zoiets hier probeer, is ?> duidelijk geen einde van een commentaarblok. Ik krijg dan ook van die leuke unterminated comment meldingen.quote:Op dinsdag 9 juni 2009 12:09 schreef HuHu het volgende:
Commentaar start je met een /*, maar kun je eindigen met een */ of ?>. Dit werkt dus niet:
[ code verwijderd ]
1 2 3 4 | <a href="<?php echo JRoute::_('index.php?option=com_simplestforum&view=forumlist'); ?>"> <span style="font-size:0.8em;"><<</span> <?php echo JText::_('BACK TO FORUM LIST'); ?></a> <?php endif; ?> |
In de documentatie staat dit:quote:Op dinsdag 9 juni 2009 12:20 schreef Light het volgende:
[..]
Huh? Als ik zoiets hier probeer, is ?> duidelijk geen einde van een commentaarblok. Ik krijg dan ook van die leuke unterminated comment meldingen.
Als je dus in je commentaar ergens een ?> hebt staan, dan begint daar je HTML-mode weer, wat er voor zorgt dat er uitvoer op het scherm komt die je eigenlijk niet wilde.quote:?> breaks out of PHP mode and returns to HTML mode
Dat geldt niet binnen een /* */ commentaarblok. Waarschijnlijk juist om te voorkomen dat je per ongeluk naar html-mode omschakelt. Na een /* wordt alles tot de eerstvolgende */ genegeerd.quote:Op dinsdag 9 juni 2009 12:27 schreef HuHu het volgende:
[..]
In de documentatie staat dit:
[..]
Als je dus in je commentaar ergens een ?> hebt staan, dan begint daar je HTML-mode weer, wat er voor zorgt dat er uitvoer op het scherm komt die je eigenlijk niet wilde.
Of heb ik het verkeerd en geldt dat niet voor de /* */ manier van commentaar?
Ja. Trouwens, in een string doet ?> ook niets bijzonders. Je gaat iig niet terug naar html-mode.quote:Op dinsdag 9 juni 2009 13:31 schreef HuHu het volgende:
Ah... dan had ik het dus verkeerd. Dan kun je iets als <?php /* ?> dit in commentaar <?php */ ?> gebruiken.
Okay, dat werkt, en als de gebruiker nu www.pointerdomain.nl intypt, wordt hij doorverwezen naar www.onzewebsite.org. Dat is de bedoeling, maar het domain www.onzewebsite.org wordt dan in de URL balk gezet. Dit willen we graag voorkomen. Is dat mogelijk met onze Direct admin of moeten we dan het externe bedrijf om een oplossing vragen?quote:Op dinsdag 9 juni 2009 10:10 schreef spaceninjapirate het volgende:
[..]
Ik neem even aan dat je een control panel gebruikt (plesk, cpanel oid ..).
Je moet dan gewoon op jouw server een pakket aanmaken die precies het zelfde heet als de domeinnaam die het andere bedrijf naar je door stuurt. Dus al gaat test.nl naar jouw server dan moet je een pakket aanmaken test.nl.
Als je geen control panel hebt dan moet je gaan kloten in apache files. wat in de post hier boven staat dus!
Je houdt het nieuws bij?quote:Op donderdag 11 juni 2009 18:52 schreef cablegunmaster het volgende:
moet je even kijken hoe lang de output is maar sha1 is redelijk veilig![]()
ongv zelfde manier als md5();![]()
Wat moet ik dan gebruiken volgens jou?quote:Op donderdag 11 juni 2009 19:06 schreef GlowMouse het volgende:
[..]
Je houdt het nieuws bij?
http://tweakers.net/nieuw(...)oudiger-gemaakt.html
Werkt niet op mijn PHP installatiequote:Op donderdag 11 juni 2009 20:05 schreef cablegunmaster het volgende:
http://www.jiltin.com/ind(...)-my-php-application/
andere mogelijkheden
Ik dacht dat ik zo ongeveer alles al getest had, maar kennelijk was ik toch nog iets vergeten.quote:
1 2 3 | $text = str_replace("\n", '\n', addslashes($text)); ?> |
Tjah, op den duur word alles gekraakt.quote:Op donderdag 11 juni 2009 19:06 schreef GlowMouse het volgende:
[..]
Je houdt het nieuws bij?
http://tweakers.net/nieuw(...)oudiger-gemaakt.html
De vraag is dan ook niet of zo'n functie te kraken is, maar hoe lang het duurt. De veiligheid wordt gewoon bepaald door hoe lang het duurt om een tekst/bestand te maken die een gegeven hash oplevert.quote:Op vrijdag 12 juni 2009 22:37 schreef DirkZz het volgende:
[..]
Tjah, op den duur word alles gekraakt.
1 2 3 4 | $blubwoeiarray = array ( "lol" => "hihi", "blaat" => "w00t" ); $_SESSION['roflpantoffelsessie'] = $blubwoeiarray; ?> |
Misschien omdat het ook een array is?!quote:Op zaterdag 13 juni 2009 10:39 schreef wobbel het volgende:
Oke, waarom werkt dit niet?
[ code verwijderd ]
Als ik nu print_r ( $_SESSION['roflpantoffelsessie'] ); doe krijg ik alleen "Array" in beeld
Als het een array is, moet print_r() gewoon weergeven wat er in die array zit. Vergelijkbaar met var_dump(), dus.quote:Op zaterdag 13 juni 2009 13:08 schreef Intrepidity het volgende:
[..]
Misschien omdat het ook een array is?!
Ik zou zeggen, probeer het met var_dump, of een forloopje op de values uit te printen..
Bij sessies is dat zeker niet nodig, en als je met $_COOKIE werkt, betwijfel ik ook dat het nodig is.quote:Op zaterdag 13 juni 2009 14:14 schreef super-muffin het volgende:
array's en objecten moet je serialzen voor dat ze in een cookie of sessie opslaaten unserializen als je ze er uit haalt.
Whoops, ik zag de '_r' niet, excuusquote:Op zaterdag 13 juni 2009 13:26 schreef Light het volgende:
[..]
Als het een array is, moet print_r() gewoon weergeven wat er in die array zit. Vergelijkbaar met var_dump(), dus.
wat is een status veld?quote:Op dinsdag 16 juni 2009 12:31 schreef cablegunmaster het volgende:
Valt er in SQL ook te zien wanneer een status veld voor het laatst veranderd is?
is daar een functie voor ? of moet ik alsnog een veld aanmaken om dat te zien ?
Juist nietquote:Op dinsdag 16 juni 2009 12:39 schreef Intrepidity het volgende:
Wat ik meestal wel een nette oplossing voor dat soort dingen vind is een extra tabelletje, iets als events ofzo.. en met een trigger noteer ik daar dan timestamps in die ik moet bewaren. Zo heb je een complete geschiedenis, niet alleen de vorige gebeurtenis.. Misschien wat overkill voor je situatie
1 2 3 4 5 6 7 8 | { if(isset($sql) { return $sqlcount++; } return 0; } |
Hoe bedoel je met loggen?quote:Op woensdag 17 juni 2009 07:38 schreef Scorpie het volgende:
Waarom log je niet gewoon welke query je uitvoert op het moment dat je hem uitvoert? Zo doe ik het iig, tijdens developen log ik alle sql query`s.
1 2 | $count_query++: |
Naar een log-bestand, een textbestandje met niks anders dan informatie over acties die een gebruiker doet, query`s die uitgevoerd worden, en alle andere informatie waar je als ontwikkelaar wat aan kan hebben als er zich bugs bevinden of tijdens het ontwikkelen.quote:
quote:02-05-2009 21:25:55: DEBUG: coredatabase class - Executed query SELECT * from SB_sandwiches | Duration 0.00066400 seconds
Hoe maak je zoietsquote:Op woensdag 17 juni 2009 07:42 schreef Scorpie het volgende:
[..]
Naar een log-bestand, een textbestandje met niks anders dan informatie over acties die een gebruiker doet, query`s die uitgevoerd worden, en alle andere informatie waar je als ontwikkelaar wat aan kan hebben als er zich bugs bevinden of tijdens het ontwikkelen.
Vrij simpel: je maakt een aparte class die een textbestandje opent, een regel wegschrijft en weer dicht doet.quote:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | private function log($message, $level) { if (CMS_DB_QUERY_DEBUG) { if ($log = @fopen(LOG_FILE, "a+")) { $date = date(INTERNAL_DATE_CONSTANT); $string = $date.": ".$level.": ".$message; fwrite($log, $string."\r\n"); fclose($log); } else { echo "Logging failed!"; } } } ?> |
ik heb hem gekopieerd :p alleen waar moet ik hem erinstoppen?quote:Op woensdag 17 juni 2009 07:45 schreef Scorpie het volgende:
[..]
Vrij simpel: je maakt een aparte class die een textbestandje opent, een regel wegschrijft en weer dicht doet.
Mijn functie:
[ code verwijderd ]
tof stel ik wil bijhouden welke php errors de gebruiker kreeg op welk bestandquote:Op woensdag 17 juni 2009 07:54 schreef Scorpie het volgende:
Je moet hem wel ff goed nalopen, er staan een aantal constantes van mij in die moet je aanpassen.
Daarna moet je ff het woord private ervanaf halen, anders kom je er niet bij.
Daarna is het een kwestie van aanroepen door log("dit ging fout!","error"); te doen.
ah dat is een optie die ik zeker ga overwegenquote:Op woensdag 17 juni 2009 08:41 schreef Xcalibur het volgende:
je kan ook gewoon van $sql een array maken, en daar al je queries inzetten
Dan kan je met een count($sql) zien hoeveel queries je hebt gedraaid
1 2 3 | count($sql); |
quote:Op woensdag 17 juni 2009 07:57 schreef cablegunmaster het volgende:
[..]
tof stel ik wil bijhouden welke php errors de gebruiker kreeg op welk bestand
Alvast bedankt ik denk dat ik dit wel kan aanpassen![]()
ja , maar ik kom er niet achter hoe ik die kan veranderen. denk dat mijn config file niet meewerkt herstart ik xampp doet hij het nog niet.quote:Op woensdag 17 juni 2009 09:12 schreef Scorpie het volgende:
[..]
Nou ja ik gebruik deze logger vooral om acties te loggen, dus zeg maar wanneer iemand inlogged, dan schrijf ik een regel weg met "Gebruiker A is ingelogged", dat soort dingen.
Je kan het ook wel gebruiken om errors van PHP te loggen, maar die worden standaard al gelogged.
Das ook wat anders dan deze loggerclass die ik gemaakt hebquote:Op woensdag 17 juni 2009 09:36 schreef cablegunmaster het volgende:
[..]
ja , maar ik kom er niet achter hoe ik die kan veranderen. denk dat mijn config file niet meewerkt herstart ik xampp doet hij het nog niet.
wat ik doe :
ik open php5.ini C:\xampp\php\php5.ini
1: reg 353 error_log = "C:\xampp\htdocs\cablegunmaster v3.0\log_file.txt"
alleen hij wil hem niet zo hebben :p want hij logt nog steeds in de standaard locatie
Kwam ik ook achter dit is voor nette foutmelding naar de user toequote:Op woensdag 17 juni 2009 09:42 schreef Scorpie het volgende:
[..]
Das ook wat anders dan deze loggerclass die ik gemaakt heb
zet eens voor de functie LOG_FILE = "c:\log.txt";
In principe wel ja. Het is alleen wel handig om je query een naam te gevenquote:Op woensdag 17 juni 2009 09:06 schreef cablegunmaster het volgende:
[..]
ah dat is een optie die ik zeker ga overwegen.
maar dan maak ik voor elke query. als praktisch voorbeeld:
[ code verwijderd ]
?![]()
Ik heb zelf een functie die mysql_query() overkoepelt en wanneer ik mijn Boolean $Log aan zet, de queries die uitgevoerd worden in String-vorm naar een log bestand schrijven. Want de query die je in functie mysql_query() gebruikt is niet meer dan dat, een String.quote:Op woensdag 17 juni 2009 09:55 schreef Intrepidity het volgende:
Over het loggen van SQL queries gesproken.. Is er ook een manier om af te vangen wat er EXACT naar de database gestuurd word? Ik maak gebruik van PDO, en als ik mijn queries log staan de variabelen hier nog in.. iets als "SELECT * FROM tabel WHERE veld = :waarde". Bij debuggen heb ik daar soms niet zo gek veel aan..
Ja, maar ik wil wel gebruik blijven maken van PDO in combinatie met prepared statements, dus da ga nie werken nie.quote:Op woensdag 17 juni 2009 13:01 schreef Tuvai.net het volgende:
[..]
Ik heb zelf een functie die mysql_query() overkoepelt en wanneer ik mijn Boolean $Log aan zet, de queries die uitgevoerd worden in String-vorm naar een log bestand schrijven. Want de query die je in functie mysql_query() gebruikt is niet meer dan dat, een String.
Zoiets gelijks hebben wij hier ook inderdaad.quote:Op woensdag 17 juni 2009 13:01 schreef Tuvai.net het volgende:
[..]
Ik heb zelf een functie die mysql_query() overkoepelt en wanneer ik mijn Boolean $Log aan zet, de queries die uitgevoerd worden in String-vorm naar een log bestand schrijven. Want de query die je in functie mysql_query() gebruikt is niet meer dan dat, een String.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | function afstandTotPunt($lat1,$lng1,$lat2,$lng2) { $a1 = deg2rad($lat1); //lat 1 in radialen $a2 = deg2rad($lat2); //lat 2 (het xcoordinaat) in radialen $b1 = deg2rad($lng1); //lng 1 in radialen $b2 = deg2rad($lng2); //lng 2 (het ycoordinaat) in radialen $r = 6378.8; //de radius / straal van de aarde in kilometers return (acos(cos($a1)*cos($b1)*cos($a2)*cos($b2) + cos($a1)*sin($b1)*cos($a2)*sin($b2) + sin($a1)*sin($a2)) * $r); } ?> |
Je hebt die 300.000+ records in een database. Ik neem aan dat die dingen ook allemaal een eigen id hebben. Dan maak je een tabel aan met de velden id1, id2 en afstand (vergeet ook de indexen niet). En een scriptje om die tabel te vullen.quote:
1 2 3 4 5 6 7 8 | for(i = 1; i <= x; i++) { for(j = i + 1; j <= x; j++) { afstand = berekenAfstand(i, j) sql = 'insert into matrix(id1, id2, afstand) values (i, j, afstand)' doQuery(sql); } } |
Ja, ik had de drie weken vakantie nog maar niet genoemdquote:Op donderdag 18 juni 2009 19:45 schreef Xcalibur het volgende:
je kan ze ook ALLEMAAL uitrekenen
Dus zowel de heenweg als de terugweg zeg maar... Dan voorkom je je nadeel, en heb je feitelijk de helft aan overbodige records
Ik zou preg_replace() gebruiken.quote:Op vrijdag 19 juni 2009 18:33 schreef splendor het volgende:
Ik wil een str_ireplace gebruiken om een link ergens omheen te zetten, maar hij moet het originele woord niet veranderen qua hoofd/kleine letters. Is dat mogelijk of wordt het een eregi oid?
Bijvoorbeeld "Dit IS eEn Test" wordt niet "dit is een test" (met link eromheen dan).
Lekker goed voor de performance ookquote:
1 2 3 4 5 6 7 8 9 | function str_ireplace_case($input, $compare) { if(strcasecmp($input, $compare) === 0) return "<a href=\"whatever\">{$input}</a>"; else return $input; } ?> |
Ik ben het met je eens dat het sneller is als je geen regular expression nodig hebt. Maar van de regular expression functies presteren de preg_* functies over het algemeen veel beter dan de ereg_* functies.quote:Op vrijdag 19 juni 2009 23:51 schreef Intrepidity het volgende:
[..]
Lekker goed voor de performance ook![]()
![]()
Aangezien de functionaliteit in php (afaik) niet bestaat om hoofdletterongevoelig te vergelijken maar vervolgens wel de hoofdletters te behouden zou ik er gewoon een eigen functietje voor maken:
[ code verwijderd ]
Stuk beter voor de performance dan een regular expression
Goed punt, het is ook al laatquote:Op zaterdag 20 juni 2009 00:08 schreef Light het volgende:
[..]
Ik ben het met je eens dat het sneller is als je geen regular expression nodig hebt. Maar van de regular expression functies presteren de preg_* functies over het algemeen veel beter dan de ereg_* functies.
En jouw functie is leuk, maar werkt alleen als de input een exacte match is met de compare-tekst (hoofdletters buiten beschouwing gelaten). Met preg_replace() mag er ook tekst voor en/of achter de gezochte tekst staan en kun je toch een goede vervanging maken.
Wat is een te verwachten waarde voor de straal? 1km? 10km? 100km? Dit is namelijk heel erg bepalend voor hoeveel procent van je records je terug zou kunnen krijgen. Bij 100km zou je in theorie bijna alle locaties terug kunnen krijgen, dus dan heeft slim querien weinig zin, bijvoorbeeld.quote:Op donderdag 18 juni 2009 17:30 schreef Likkende_Lassie het volgende:
Vraagje:
Ik heb de volgende functie om te berekenen hoeveel afstand er tussen 2 coordinaten zit:
[ code verwijderd ]
Echter, nu heb ik een database met +300.000 records.
Ik wil dat de gebruiker kan zeggen: ik wil binnen een straal van xx KM de resultaten zien.
Dat kunnen ze doen door een postcode in te vullen, waar ik een ander script voor heb om de coordinaten te berekenen.
Maar, om nu elk record te doorlopen om te kijken wat de afstand is, komt natuurlijk niet ten goede van de performance.
Weet iemand hoe ik het bovenstaande het beste kan berekenen? Ik heb in de database de coordinaten al opgeslagen. Dus ik zou eigenlijk in mijn mysql query kunnen zoeken op bijvoorbeeld: LIKE Lat = 1234'%' ,,, maar hoe dit te berekenen?
Niet waar, ook met MySQL 5.x niet:quote:Op zaterdag 20 juni 2009 10:44 schreef HenryHill het volgende:
Het voordeel is dat je deze vierkant rechtstreeks kan gebruiken in je query ("WHERE Lat between 51,201 and 51,323 and Long between 54.30 and 54.37") en dat dit geoptimaliseerd kan door de indexen op de Lat en Long kolommen.
quote:If a range scan is possible on some key, the optimizer will not consider using Index Merge Union or Index Merge Sort-Union algorithms. For example, consider this query
Hmm, volgens mij zou je dan het stuk over index intersections moeten quoten, en ik maak hieruit op dat MySQL dan wel beide indexen gebruikt?quote:Op zaterdag 20 juni 2009 11:23 schreef GlowMouse het volgende:
[..]
Niet waar, ook met MySQL 5.x niet:
[..]
De enige ongelijkheid die ik zie staan daar is er eentje op een primary key van een InnoDB-tabel. Dat zal er wel mee te maken hebben dat die key bij elke entry in de index op key_col1 opgeslagen wordt, en MySQL dus eigenlijk alleen de index op key_col1 hoeft te raadplegen en daarbij direct en 'gratis' de ongelijkheid kan checken.quote:Op zaterdag 20 juni 2009 11:40 schreef HenryHill het volgende:
[..]
Hmm, volgens mij zou je dan het stuk over index intersections moeten quoten, en ik maak hieruit op dat MySQL dan wel beide indexen gebruikt?
Oh, zo, ja dat zou ook kunnen.quote:Op zaterdag 20 juni 2009 11:46 schreef GlowMouse het volgende:
[..]
De enige ongelijkheid die ik zie staan daar is er eentje op een primary key van een InnoDB-tabel.
Ik heb een andere verklaringquote:Dat zal er wel mee te maken hebben dat die key bij elke entry in de index op key_col1 opgeslagen wordt, en MySQL dus eigenlijk alleen de index op key_col1 hoeft te raadplegen en daarbij direct en 'gratis' de ongelijkheid kan checken.
De meeste webapplicaties gebruiken dan ook geen coordinatenquote:Queries op grote tabellen die geen resultaat kunnen geven op basis van maximaal één index, vermijd ik zelf liever bij webapplicaties.
Maar wat doe je dan met die index op key_col1?quote:Op zaterdag 20 juni 2009 12:05 schreef HenryHill het volgende:
Ik heb een andere verklaringIk denk dat InnoDB zijn primary key index altijd 'clustered' maakt, d.w.z. dat de records fysiek geordend op primary key worden opgeslagen. En wanneer gegevens fysiek gesorteerd opgeslagen zijn, is het heel efficient om een range query uit te voeren: je zoekt het beginpunt, het eindpunt, en je retourneert alle rijen ertussenin.
Het feit dat je gegevens fysiek geordend zijn op key_col1 maakt dat de tabel al geindexeerd is - het heeft geen aparte opslagstructuur nodig. Je tabel is tevens je index, als het ware.quote:Op zaterdag 20 juni 2009 12:09 schreef GlowMouse het volgende:
[..]
Maar wat doe je dan met die index op key_col1?
Welke situatie heb je nu uitgeprobeerd dan?quote:edit: EXPLAIN geeft aan toch iets te doen met index_intersect. Vreemd, ik zou zeggen dat alleen de index op key_col1 gebruiken efficienter is.
Dankje, die werkte een stuk beter.quote:
Moet je dat niet met \b doen?quote:Op zaterdag 20 juni 2009 19:48 schreef splendor het volgende:
[..]
Dankje, die werkte een stuk beter.
Alleen heb ik met /b gezegd dat het alleen hele woorden moeten zijn, maar dat pakt ie niet erg.
Een WHERE pkey>val1 AND other_key=val2.quote:Op zaterdag 20 juni 2009 12:14 schreef HenryHill het volgende:
[..]
Welke situatie heb je nu uitgeprobeerd dan?
map met includes (oa init.php), map met templates (oa header/footer.php), map met plaatjes, en voor elke pagina een pagina.php.quote:Op zaterdag 20 juni 2009 22:16 schreef cablegunmaster het volgende:
Vraag hoe zetten jullie je website op ?
ik neem aan een ... header + footer aparte files een configuration.php met alle functions.
hoe doen jullie het met alle pagina's toevoegen met bvb www.website.nl/pagina/ ipv pagina.php
is daar een scriptje voor? of gebruiken jullie htacces?
Want ik zit nu in een mentale knoop in m'n hoofd. genoeg leuke scriptjes en ideetjes. maar een opzet in m'n kop loop ik mee vast
maar hoe doe je het eigenlijk met het omzetten dat je de .php niet meer ziet?quote:Op zaterdag 20 juni 2009 22:22 schreef GlowMouse het volgende:
map met includes (oa init.php), map met templates (oa header/footer.php), map met plaatjes, en voor elke pagina een pagina.php.
Als ik mij daar al druk om maak, mod_rewrite.quote:Op zaterdag 20 juni 2009 22:25 schreef cablegunmaster het volgende:
[..]
maar hoe doe je het eigenlijk met het omzetten dat je de .php niet meer ziet?.
ik ga dit eens doornemenquote:Op zaterdag 20 juni 2009 22:26 schreef GlowMouse het volgende:
[..]
Als ik mij daar al druk om maak, mod_rewrite.
RewriteRule ^nieuws/(.*)$ page/nieuws.php [NC]quote:Op zaterdag 20 juni 2009 22:45 schreef cablegunmaster het volgende:
[..]
ik ga dit eens doornemen![]()
http://www.sitepoint.com/article/guide-url-rewriting/
lijkt me droge kost en na verloop van tijd simpeler om een variabel van te maken. als mogelijk
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | $file = "index.php"; if (file_exists($file)) { echo "1.The file $file exists"; } else { echo "1.The file $file does not exist"; } // poging 2 met een variabele url. $file = basename($path,".php"); echo "<br>".$file."<br/>"; if (file_exists($file)) { echo "2.The file $file exists"; } else { echo "2.The file $file does not exist<br/>"; } |
Wat is de waarde van $path ?quote:Op zondag 21 juni 2009 09:43 schreef cablegunmaster het volgende:
Maar dan zat ik met het volgende probleem:
de functie als het bestand bestaat dat hij hem weergeeft en anders error bestand bestaat niet.
probleem:
index.php
[ code verwijderd ]
basename kan ik hiervoor niet gebruiken? terwijl ze beide als output geven
1. The file index.php exist.
2. The file index.php does not exist.
bij 2 echo krijg je index.php te zien.
Raar... in mijn ogen zit er precies hetzelfde in de functie
uiteindelijk wou ik een vervanging voor een soort van Iframe in php.
echo $path;quote:
1 2 3 4 5 6 7 8 | $file = basename($path); echo "<br>".$file."<br/>"; if (file_exists($file)) { echo "1.The file $file exists"; } else { echo "1.The file $file does not exist<br/>"; } |
Ik begrijp wat je/jullie zeggen, maar mijn vraag is eigenlijk eenvoudigquote:Op zaterdag 20 juni 2009 10:44 schreef HenryHill het volgende:
[..]
Wat is een te verwachten waarde voor de straal? 1km? 10km? 100km? Dit is namelijk heel erg bepalend voor hoeveel procent van je records je terug zou kunnen krijgen. Bij 100km zou je in theorie bijna alle locaties terug kunnen krijgen, dus dan heeft slim querien weinig zin, bijvoorbeeld.
Stel dat je straal maximaal zo'n 40 km is, dan zou je het volgende kunnen doen:
* Sla de lattitude op in z'n eigen kolom, met een aparte index op alleen deze kolom.
* Sla de longitude op in z'n eigen kolom, met een aparte index op alleen deze kolom.
* Als je gaat querien, gebruik dan niet de cirkel met een straal van X kilometer, maar het vierkant wat deze cirkel omsluit (oftewel "teken het kleinst mogelijke vierkant om de cirkel met straal X"). Het voordeel is dat je deze vierkant rechtstreeks kan gebruiken in je query ("WHERE Lat between 51,201 and 51,323 and Long between 54.30 and 54.37") en dat dit geoptimaliseerd kan door de indexen op de Lat en Long kolommen.
* De resultset die je terugkrijgt bevat nu nog wel punten die wel binnen het vierkant vielen, maar niet binnen de cirkel. Deze zul je er in code uit moeten filteren met de berekening die je postte, maar dat is niet zo erg, omdat dit slechts ong. 20% van je rijen zal betreffen - de overige 80% valt zowel binnen het vierkant als binnen de cirkel.
Dit lijkt me de best haalbare combinatie van een eenvoudige query die relatief weinig nutteloze rijen teruggeeft.
Je had aan de beveiliging gedacht?quote:Op zondag 21 juni 2009 09:43 schreef cablegunmaster het volgende:
Maar dan zat ik met het volgende probleem:
de functie als het bestand bestaat dat hij hem weergeeft en anders error bestand bestaat niet.
Je dacht dat ik uit ging zoeken voor je hoe je rekent met lat/long?quote:Op zondag 21 juni 2009 09:59 schreef Likkende_Lassie het volgende:
[..]
Ik begrijp wat je/jullie zeggen, maar mijn vraag is eigenlijk eenvoudig:
Hoeveel is Lat / Long + bijvoorbeeld 10 of 100 Kilometer?
Dan zal de techniek erachter wel moeten lukken!
hoe bedoel je?quote:
Nougoed, als iemand enig idee heeft hoe de som in elkaar zit, graag!quote:Op zondag 21 juni 2009 11:28 schreef GlowMouse het volgende:
[..]
Je dacht dat ik uit ging zoeken voor je hoe je rekent met lat/long?
Dat ik geen pagina's kan opvragen waarvan jij niet wilt dat ik ze kan opvragen. Bv je index.php maar ook files in een andere map.quote:
ah nee de beveiliging is htacces ingesteld dat je bepaalde mappen geen toegang hebt. via get maar wel via a href kan weergeven dus kun je niet extern op de pagina komen.quote:Op zondag 21 juni 2009 12:27 schreef GlowMouse het volgende:
[..]
Dat ik geen pagina's kan opvragen waarvan jij niet wilt dat ik ze kan opvragen. Bv je index.php maar ook files in een andere map.
Dat moet wel een heel goede beveiliging zijn! Ik zou me toch eens inlezen.quote:Op zondag 21 juni 2009 12:30 schreef cablegunmaster het volgende:
[..]
ah nee de beveiliging is htacces ingesteld dat je bepaalde mappen geen toegang hebt. via get maar wel via a href kan weergeven dus kun je niet extern op de pagina komen.
Dat is schijnveiligheid, met een NUL-byte (chr(0)) te omzeilen.quote:Op zondag 21 juni 2009 12:30 schreef cablegunmaster het volgende:
[..]
voor elke $variabele .pagina.php erachter plakkenzodat elke andere opvraging niet toegangelijk is
![]()
ik krijg volgend jaar nog een hoofdstuk beveiliging maar wat bedoel je?quote:Op zondag 21 juni 2009 12:31 schreef GlowMouse het volgende:
[..]
Dat moet wel een heel goede beveiliging zijn! Ik zou me toch eens inlezen.
Wat ik bedoel is dat je met "a href" een normale GET krijgt, dus als dat werkt dan heb je gewoon geen beveiliging tegen GET.quote:Op zondag 21 juni 2009 12:33 schreef cablegunmaster het volgende:
[..]
ik krijg volgend jaar nog een hoofdstuk beveiliging maar wat bedoel je?ik weet dat je via htacces de post en get kan uitschakelen voor een bepaalde map
Zelf een whitelist bijhouden met pagina's die de user op mag vragen. Of het idee laten varen om alles via één index.php te doen en voor elke pagina een aparte file gebruiken.quote:Op zondag 21 juni 2009 12:36 schreef cablegunmaster het volgende:
vertel, hoe zou je dit kunnen oplossen? want ik heb al heel wat stukjes gelezen over mogelijke aanvallen op websites beginnend met sql escape eindigend met bruteforce md5.
Ik heb geen idee wat dit op postcode.nl doet, maardeze pagina bevat een berekening die wellicht doet wat je wilt...quote:Op zondag 21 juni 2009 12:24 schreef Likkende_Lassie het volgende:
[..]
Nougoed, als iemand enig idee heeft hoe de som in elkaar zit, graag!
ja opzich heb je wel gelijk.quote:Op zondag 21 juni 2009 12:38 schreef GlowMouse het volgende:
[..]
Zelf een whitelist bijhouden met pagina's die de user op mag vragen. Of het idee laten varen om alles via één index.php te doen en voor elke pagina een aparte file gebruiken.
Volgens mij ontbreekt pi in je formule. De omtrek van een cirkel is 2 * pi * r en dat vind ik niet terug in je formule. Ook is de straal van de aarde niet constant.quote:Op zondag 21 juni 2009 12:24 schreef Likkende_Lassie het volgende:
[..]
Nougoed, als iemand enig idee heeft hoe de som in elkaar zit, graag! :)
1 2 3 4 5 6 7 8 9 10 11 | (Lat, Lng) (Lat, Lng) ( 0, 0) ( 15, 0) ( 0, 60) ( 15, 60) ( 0, 120) ( 15, 120) ( 0, 180) ( 15, 180) ( 0, 0) ( 0, 15) ( 30, 0) ( 30, 15) ( 60, 0) ( 60, 15) ( 90, 0) ( 90, 15) |
Hier heb ik wel iets waar PI in voorkomt:quote:Op zondag 21 juni 2009 13:05 schreef Light het volgende:
[..]
Volgens mij ontbreekt pi in je formule. De omtrek van een cirkel is 2 * pi * r en dat vind ik niet terug in je formule. Ook is de straal van de aarde niet constant.
Verder kun je natuurlijk zelf aan het rekenen gaan. Bereken eens de afstand tussen de volgende punten:
[ code verwijderd ]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | $r = 6378.8; //de radius / straal van de aarde in kilometers $fltDistance = ( $r * 3.1415926 * sqrt( ( $fltLat2 - $fltLat1 ) * ( $fltLat2 - $fltLat1 ) + cos ( $fltLat2 / 57.29578 ) * cos ( $fltLat1 / 57.29578 ) * ( $fltLon2 - $fltLon1 ) * ( $fltLon2 - $fltLon1 ) ) / 180 ); ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | iRadius = 150 istartlat=Session("lat" istartlong=Session("long" LatRange = iradius / ((6076 / 5280) * 60) LongRange = iRadius / (((cos(cdbl(iStartLat * _ 3.141592653589 / 180)) * 6076.) / 5280.) * 60) LowLatitude = istartlat - LatRange HighLatitude = istartlat + LatRange LowLongitude = istartlong - LongRange HighLongitude = istartlong + LongRange SELECT * FROM Locations WHERE Latitude <= [HighLatitude] AND Latitude >= [LowLatitude] AND Longitude >= [LowLongitude] AND Longitude <= [HighLongitude] |
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 | $from['Lat'] = 51.5007359; $from['Lng'] = 3.6112547; $iRadius = 100; $istartlat = $from['Lat']; $istartlong = $from['Long']; $LatRange = ($iRadius / ((6076 / 5280) * 60)); $floatthis = ($iStartLat * 3.141592653589 / 180); $LongRange = ($iRadius / (((cos(settype($floatthis, "float")) * 6076.) / 5280.) * 60)); $LowLatitude = ($istartlat - $LatRange); $HighLatitude = ($istartlat + $LatRange); $LowLongitude = ($istartlong - $LongRange); $HighLongitude = ($istartlong + $LongRange); echo " SELECT * FROM cor WHERE cor.Lat <= $HighLatitude AND cor.Lat >= $LowLatitude AND cor.Lng >= $LowLongitude AND cor.Lng <= $HighLongitude "; ?> |
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |