JortK | vrijdag 17 augustus 2007 @ 13:56 | |||||
![]() cd niet bijgeleverd Als je vragen hebt over PHP/MySQL, dan zit je hier goed met een vaste kliek guru's en een groot aantal regelmatige bezoekers. Beperk je vragen niet tot "hij doet het niet" of "hij geeft een fout" - onze glazen bol is kapot en we willen graag van je weten wát er niet lukt en wélke foutmelding je precies krijgt ![]() Vorige delen: 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 Zie ook: Tutorials: Deze OP en instructies voor nieuw topic: http://wiki.fok.nl/index.php/OP/PHP | ||||||
PiRANiA | vrijdag 17 augustus 2007 @ 14:01 | |||||
Hollee! Teeveepee! | ||||||
Chandler | vrijdag 17 augustus 2007 @ 14:12 | |||||
quote: | ||||||
PiRANiA | vrijdag 17 augustus 2007 @ 14:15 | |||||
Problem uit vorige topic is gesolved. Elders werkte het wel. Raar eigenlijk :/ Wat moet ik installeren om de mail() goed te laten werken ?? | ||||||
WyriHaximus | vrijdag 17 augustus 2007 @ 14:41 | |||||
Terug Vind PHP:
| ||||||
JeRa | vrijdag 17 augustus 2007 @ 15:38 | |||||
Toch veel posts, deze reeks. | ||||||
Xtr3mE | vrijdag 17 augustus 2007 @ 15:59 | |||||
Is het met PHP mogelijk om de dag te bepalen als je een datum (in de toekomst) hebt? Dus ik heb in de database een datum, die haal ik eruit en wil dan weten welke dag dat is. (ma, di, woe enz..) | ||||||
JeRa | vrijdag 17 augustus 2007 @ 16:02 | |||||
quote:Ja, in PHP kan dat met date() of getdate() ![]() | ||||||
PiRANiA | vrijdag 17 augustus 2007 @ 18:24 | |||||
quote:$dag = date(w, mktime(uur,minuut,seconde,maand,dag,jaar)); en dan uur, minuut etcetera invullen | ||||||
denB | vrijdag 17 augustus 2007 @ 19:12 | |||||
Ik krijg een error op mijn gastenboek pagina. Hij kwam van een andere website, zodat we hem konden testen. Nu hebben we hem op mijn website geplaatst en krijgen we het volgende: Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/****/domains/****.nl/public_html/****/gastenboek.php:13) in /home/****/domains/****.nl/public_html/****/config.php on line 5 Zodra we: // Prepare session if(!isset($_SESSION)) session_start(); Verwijderen, verdwijnt de text die in te image vertificatie staat. En krijgen we simpel weg alleen een blank plaatje te zien. Iemand enige idee hoe dit op te lossen is? | ||||||
PiRANiA | vrijdag 17 augustus 2007 @ 19:22 | |||||
quote:zet je session_start(); ergens in je code waar er nog geen output gegeven is, ergens bovenin dus ![]() | ||||||
PiRANiA | vrijdag 17 augustus 2007 @ 19:23 | |||||
Hoe zet je btw op fok nou een php code? misschien handig om in de OP aan te geven? ;_) | ||||||
denB | vrijdag 17 augustus 2007 @ 19:28 | |||||
quote:Ik heb die sessions start ergens al bovenaan gezet, maar dat gaf weinig resultaat. Kan het zijn de mijn provider dit niet ondersteunt? Je moet ook .htacces .banlist en .entries uploaden. En zodra die er opstaan, verdwijnen ze :S | ||||||
HuHu | vrijdag 17 augustus 2007 @ 19:33 | |||||
Je provider ondersteund het zeer waarschijnlijk wel, maar het staat niet op de juiste plaats in je bestand. Het moet helemaal bovenaan staan. Nu staat het op regel 13 in gastenboek.php, maar in het bestand config.php wordt op regel 5 al iets gedaan waardoor de sessie niet meer gestart kan worden. Je moet in gastenboek.php je session_start() gewoon helemaal bovenaan zetten. | ||||||
HuHu | vrijdag 17 augustus 2007 @ 19:34 | |||||
quote:Helemaal bovenaan staat de FAQ. | ||||||
HuHu | vrijdag 17 augustus 2007 @ 19:35 | |||||
quote:De functie [url=php.net/strtotime]strtotime()[/url] is dan nog makkelijker. | ||||||
Xcalibur | vrijdag 17 augustus 2007 @ 19:38 | |||||
Nieuw deel alweer ![]() Heeft iemand misschien tips voor een tooltje (ofzo) voor geavanceerde image bewerkingen? Het standaard scalen en croppen lukt allemaal wel, ik doel meer op dingen als brightness, contrast, sharpen/blur enzo ![]() Als er nog een mooie javascript of Flash interface bij zit ben ik helemaal blij ![]() | ||||||
HuHu | vrijdag 17 augustus 2007 @ 19:43 | |||||
PHPThumb is daarvoor geniaal, zeker als je ook nog ImageMagick installeert op je server. | ||||||
Xcalibur | vrijdag 17 augustus 2007 @ 19:46 | |||||
Kijk, dat ziet er aardig compleet uit ![]() | ||||||
denB | vrijdag 17 augustus 2007 @ 19:48 | |||||
quote:uhm... Ik probeerde net die map te deleten met die website en gb er in. en toen kreeg ik dit: STATUS:> PWD skipped. Current folder: "/public_html/pors". COMMAND:> RMD dat 550 dat: Directory not empty ERROR:> Requested action not taken (e.g., file or directory not found, no access). Krijg er een beetje een slapje janus van... | ||||||
Xcalibur | vrijdag 17 augustus 2007 @ 19:54 | |||||
staat er geen hidden .htaccess in ofzo? Kijk eens of je een filter met ' -a ' kunt instellen of iets dergelijks ![]() | ||||||
HuHu | vrijdag 17 augustus 2007 @ 19:56 | |||||
quote:Vrij duidelijk, je kunt geen lege mappen verwijderen. Dat is standaard, dus eerst de map helemaal leeghalen en dan de rest verwijderen. Een goed FTP programma kan (doet) dat ook automatisch. En inderdaad even controleren op verborgen bestanden. Alle bestanden waarvan de naam met een . (punt) begint zijn standaard verborgen en worden niet zomaar verwijderd. | ||||||
devvertje | vrijdag 17 augustus 2007 @ 19:58 | |||||
quote:Precies ![]() | ||||||
HuHu | vrijdag 17 augustus 2007 @ 20:00 | |||||
quote:Die bijdehante kut-devvertjes altijd ![]() | ||||||
denB | vrijdag 17 augustus 2007 @ 20:13 | |||||
quote:Bedankt, dit heeft het probleem op gelost. Daardoor kon ik ze instellen op 777 of 666 En toen heb ik: <?php session_start(); ?> <?php include ("ddgb.php"); ?> Bovenaan geplaatst en nu werkt hij ![]() | ||||||
devvertje | vrijdag 17 augustus 2007 @ 20:17 | |||||
quote:* devvertje pakt zijn anti-skiddie beamer had je nog wat mannetje? ![]() | ||||||
HuHu | vrijdag 17 augustus 2007 @ 20:33 | |||||
quote:Hey... respect hè. Ik heb namelijk wél een tagje ![]() | ||||||
WyriHaximus | vrijdag 17 augustus 2007 @ 21:10 | |||||
lol ![]() ![]() | ||||||
Xcalibur | vrijdag 17 augustus 2007 @ 21:26 | |||||
quote: ![]() | ||||||
wobbel | vrijdag 17 augustus 2007 @ 21:37 | |||||
als eerste, als je in de buurt woont en je fixt mij dit dan krijg je van mij een kratje bier naar keuze ![]() Oke, ik heb bij deze een hele moeilijke en uitgebreide vraag... Ik ben bezig met een simpel intranet systeem zodat bepaalde dingen op 't werk iets simpeler lopen ![]() Ik wil graag een PC aan kunnen melden voor reparatie. Als er een barcode op de PC zit kan ik die gewoon scannen, anders meld ik hem gewoon aan met de gegevens van de klant op dat moment. Stap 1: Ik kies of ik een barcode heb of niet ![]() Stap 2: Ik krijg een barcode veld te zien waar ik de barcode in kan gooien ![]() Stap 3: Ik vul de barcode in en die zoekt ie realtime op of ie bestaat ![]() ![]() Oke, nu komt het leuke... Stap 1 en 2 heb ik al voor elkaar, en stap 3 nog maar deels Ik krijg het namelijk niet voor elkaar met AJAX extra velden te krijgen met daarin de naam van de klant, telefoonnummer en wachtwoord van de PC.... Het lukt me nog wel om wat gegevens op te halen over de PC maar ik kan er geen extra velden bijkrijgen...ik kan alleen het onderstaande voor elkaar krijgen: ![]() Hoe ga ik dit oplossen? Hier de pagina: http://www.dumpzooi.nl/intranet/index.html (Ow, mijn zeer slechte javascript werkt alleen in IE7 ![]() Hier de ajax_check.php source: http://www.dumpzooi.nl/intranet/ajax_check.phps (dit is gewoon om te testen, dan heb ik zolang nog geen SQL nodig ![]() (en volgensmij gebruik ik ajax op de compleet verkeerde manier ![]() [ Bericht 2% gewijzigd door wobbel op 17-08-2007 21:46:08 ] | ||||||
JeRa | zaterdag 18 augustus 2007 @ 00:05 | |||||
@wobbel Is dat niet gewoon een javascriptvraag? Lijkt me een kwestie van DOM manipulation ![]() | ||||||
wobbel | zaterdag 18 augustus 2007 @ 10:12 | |||||
quote:Ik kan nergens een hele simpele en goede JS tuto vinden ![]() | ||||||
devvertje | zaterdag 18 augustus 2007 @ 10:14 | |||||
www.google.com | ||||||
wobbel | zaterdag 18 augustus 2007 @ 11:16 | |||||
quote:als ik iets niet kan vinden, heb ik al met google gezocht hoor...en niet met ilse ![]() | ||||||
Farenji | zaterdag 18 augustus 2007 @ 11:49 | |||||
quote:Dit is idd gewoon DOM en heeft niks met PHP noch met AJAX te maken. Google eens op createElement, setAttribute en appendChild. W3Schools heeft er ook goede tutorials over. | ||||||
Xtr3mE | zaterdag 18 augustus 2007 @ 12:52 | |||||
quote:thx, dat werkt voor mij ![]() | ||||||
wobbel | zondag 19 augustus 2007 @ 19:48 | |||||
quote:dankje, ga ik eens ff thuisstudie plegen ![]() | ||||||
wobbel | zondag 19 augustus 2007 @ 20:27 | |||||
Ik gebruik het volgende PHP, HTML en JS script: Javascript code:
die ik op deze manier aanroep:
vervolgens krijg ik van ajax_check.php een waarde terug die ik met <span id="BarcodeGeldigheid"> </span> bekijk... Nu komt het probleem, ajax check.php poept het volgende uit richting de HTML pagina:
maar die code wordt niet uitgevoerd, want alert('hoi'); voert ie ook niet uit...whats the problem hiero? de tekst F. van Gaalen (Sempron 2800+) geeft ie wel netjes weer... (en volgensmij werk ik heel erg verkeerd met AJAX, maar dan verbeter me maar (of geen tips enzo) | ||||||
JeRa | zondag 19 augustus 2007 @ 20:32 | |||||
Volgens mij had je mijn hint nog niet echt begrepen ![]() [Javascript] voor dummies (deel 6) | ||||||
wobbel | zondag 19 augustus 2007 @ 20:39 | |||||
quote:rofl! wist niet dat dat topic bestond ![]() | ||||||
Xtr3mE | maandag 20 augustus 2007 @ 11:14 | |||||
Ik heb een probleem met het ophalen van de laatste ID in de tabel. Het veld ID is autonummering en is PK. Als ik met deze code dat doe
dan krijg ik altijd op een of ander manier het een na laatste ID Nu zal je zeggen doe er dan +1 erachter.. maar dat gaat niet omdat het kan voorkomen dat er records worden verwijderd waardoor je na ID 40 bijv 46 krijgt als volgende record. iemand een idee? wat ik eigenlijk met deze code wil doen is het laatste toegevogde record uit de tabel halen, dit leek mij een makkelijke oplossing. of is er een andere manier om dit te doen ?> | ||||||
JortK | maandag 20 augustus 2007 @ 11:23 | |||||
quote:
Beetje omslachtig maar in die richting misschien? | ||||||
Xtr3mE | maandag 20 augustus 2007 @ 11:28 | |||||
nog steeds hetzelfde verhaal.. | ||||||
JortK | maandag 20 augustus 2007 @ 11:36 | |||||
quote:Is je veld wel van het datatype int? | ||||||
Xtr3mE | maandag 20 augustus 2007 @ 11:44 | |||||
ja dat is het int en auto_increment | ||||||
Chandler | maandag 20 augustus 2007 @ 12:00 | |||||
quote:Lijkt mij zeer onwaarschijnlijk ![]() | ||||||
Xtr3mE | maandag 20 augustus 2007 @ 12:07 | |||||
en toch is het zo.. nu heb ik het volgende gedaan: de auto_increment uitgedaan en alleen INT gelaten in de andere PHP pagina waar het dus in de tabel opgeslagen wordt heb ik zelf een auto_increment stukje geschreven met o.a. die code waarbij je de laatste ID ophaalt en er 1 bij optelt. dit werkt dus perfect! ik zie in de tabel dat het nieuwe record keurig een opeenvolgende ID heeft gekregen. maar op een of andere manier wil het op dus niet lukken op die andere pagina waar ik het weer probeer (laatste ID ophalen) raar raar raar ![]() | ||||||
Xtr3mE | maandag 20 augustus 2007 @ 12:25 | |||||
probleem gevonden ![]() om een lang verhaal kort te maken: op de 1e pagina waar alles dus in de database wordt opgeslagen staat vóór de code waarin alles in de database wordt ingepropt een include naar die 2e pagina dus waar hij uiteraard de laatste ID niet kan vinden omdat deze nog niet is ingevoerd.. ![]() (dit krijg je dus als je bezig bent met andermans werk en het niet logisch is ingedeeld) | ||||||
markiemark | maandag 20 augustus 2007 @ 13:04 | |||||
Ik ben een inlog systeem aan het maken met php voor een systeem waarmee gebruikerers op een veilige manier kunnen inloggen. Nu wil ik de strings die in de mysql query worden geladen beveiligen. Welke php functies kan ik hier het beste voor gebruiken? ik weet iig strip_tags().. Kan ik ook iets met de crypt() functie om extra te beveiligen? | ||||||
WyriHaximus | maandag 20 augustus 2007 @ 13:08 | |||||
quote:http://php.net/addslashes | ||||||
markiemark | maandag 20 augustus 2007 @ 13:36 | |||||
quote:is dat alles? is het daarmee veilig? | ||||||
Qunix | maandag 20 augustus 2007 @ 14:03 | |||||
Ik heb een formulier en ik wil een voorbeeld zien voordat het gesubmit wordt via een button. Een voorbeeld verschijnt in een popup... Alle inhoud komt alleen niet aan in de popup. Wat doe ik fout? Popup:
formulier
Bvd :) | ||||||
Geqxon | maandag 20 augustus 2007 @ 14:08 | |||||
| ||||||
unox_worst | maandag 20 augustus 2007 @ 14:11 | |||||
quote:Omdat je via een javascript je preview pagina oproept zijn de gegevens uit het formulier nog niet gesubmit en dus nog niet op te roepen uit de $_POST array. Ik denk dat dit met een javascript wel te doen is. | ||||||
Qunix | maandag 20 augustus 2007 @ 14:12 | |||||
quote:Hmm... Ik ben niet geweldig met JavaScript. ![]() | ||||||
unox_worst | maandag 20 augustus 2007 @ 14:22 | |||||
quote:Hier misschien, en anders google of het javascript topic ![]() | ||||||
Qunix | maandag 20 augustus 2007 @ 15:15 | |||||
quote:thanks | ||||||
autocue | maandag 20 augustus 2007 @ 15:23 | |||||
quote:Wil je gegevens van de gebruikers beveiligen of wil je het systeem beveiligen van de gebruiker? In elk geval is het een must er voor te zorgen dat je query wordt uitgevoerd zoals jouw bedoeling is en dat er dus geen extra, mogelijk schadelijke SQL wordt toegevoegd. Hoewel addslashes al genoemd was zou ik toch gaan voor mysql_real_escape_string bij het gebruik van externe data binnen queries, hoe knullig de naam van die functie ook mag zijn ![]() | ||||||
super-muffin | maandag 20 augustus 2007 @ 17:45 | |||||
quote:Geen fouten afhandeling of iets dergelijks? Nog niet eens een die(); Erg slecht. | ||||||
Geqxon | maandag 20 augustus 2007 @ 19:41 | |||||
quote:Echte mannen gaan er vanuit dat hun scripts werken. | ||||||
w3bm4st3r | maandag 20 augustus 2007 @ 20:42 | |||||
quote:Er zijn een aantal dingen die niet kloppen (geeft je PHP trouwens geen foutmelding :? ) De volgende code zal allicht beter werken, je kunt html niet zomaar tussen PHP tags zetten zonder echo of print oid te gebruiken. Popup:
Het andere gedeelte code moet ook aangepast worden, je gebruikt hetzelfde aanhalingsteken voor html en PHP. Formulier:
Ik neem aan dat je met de 'n' aan het einde van elke regel een 'n' bedoelt? | ||||||
w3bm4st3r | maandag 20 augustus 2007 @ 20:46 | |||||
Ik neem aan dat je met de 'n' aan het einde van elke regel een '\n' bedoelt? (stripslashes() vindt \n niet leuk (met één slash)) | ||||||
JortK | maandag 20 augustus 2007 @ 21:11 | |||||
quote: ![]() | ||||||
HuHu | maandag 20 augustus 2007 @ 21:16 | |||||
quote:FOK! doet af en toe rare dingen met backslashes, dus die kunnen verdwijnen. | ||||||
Qunix | maandag 20 augustus 2007 @ 21:33 | |||||
quote: quote:Inderdaad. Verder is mijn code goed hoor ![]() De php ubb tag is niet helemaal correct. Voorbeeld in de popup: <div id="titel"><h2>= $titel; </h2></div> Is dus: <div id="titel"><h2><?= $titel; ?></h2></div> | ||||||
hornage | dinsdag 21 augustus 2007 @ 11:33 | |||||
Mensen, Hier ff probleempje. Ik wil rtf files inlezen met php en dan alleen de plain tekst eruit halen. Ik kan wel veel dingen vinden over rtf en php, maar die zijn vooral gericht op het genereren van rtf bestanden met php. Weet iemand een site of class die de plaintext uit een rtf kan inlezen met php? | ||||||
unox_worst | dinsdag 21 augustus 2007 @ 11:47 | |||||
quote:1e pagina van google resultaten. | ||||||
JortK | dinsdag 21 augustus 2007 @ 11:56 | |||||
Wat gebruiken jullie trouwens bij je projecten om je bugs en todo zaken bij te houden? Ik merk aan mezelf dat ik hier namelijk nogal moeite mee heb ![]() | ||||||
Geqxon | dinsdag 21 augustus 2007 @ 12:08 | |||||
quote:Unsorted-list. In Word. ![]() | ||||||
Xtr3mE | dinsdag 21 augustus 2007 @ 12:15 | |||||
Is het mogelijk met PHP om een pagina af te drukken waarbij alles al vooringesteld is zodra je op de print knop/link drukt en dus gelijk gaat printen (op de standaard printer). Van belang is dat de pagina liggend is en er géén kop en voettexten zijn.. | ||||||
doka | dinsdag 21 augustus 2007 @ 12:16 | |||||
quote:Bugzilla Nee, geintje ![]() | ||||||
doka | dinsdag 21 augustus 2007 @ 12:17 | |||||
quote:Bugzilla Nee, geintje ![]() | ||||||
Geqxon | dinsdag 21 augustus 2007 @ 12:17 | |||||
quote:Dan kan ik je een PDF-class aanraden. ![]() | ||||||
JortK | dinsdag 21 augustus 2007 @ 12:19 | |||||
Is mantis iets? | ||||||
Xtr3mE | dinsdag 21 augustus 2007 @ 12:24 | |||||
quote:ik neem aan dat die class een PDF genereerd..? Maar als ik een PDF wil afdrukken dan moet je alsnog instellingen e.d. opgeven toch? Of zit ik totaal verkeerd? | ||||||
JortK | dinsdag 21 augustus 2007 @ 12:29 | |||||
quote:Je kunt toch ook een stel standaard instellingen meegeven aan een PDF printer ![]() | ||||||
hornage | dinsdag 21 augustus 2007 @ 12:32 | |||||
quote:Niet dat ik niet dankbaar ben, maar waar zie jij op jouw gegeven link code of een class staan waarmee je plaintext uit een rtf kan halen? | ||||||
unox_worst | dinsdag 21 augustus 2007 @ 12:41 | |||||
quote:Er staat idd geen class, maar met de informatie op die pagina kun je wel het een en ander met rtf documenten doen.
Dit is bijvoorbeeld een stukje rtf document, je hoeft zelf alleen maar een functie te maken die alle rtf codes eruit haalt. Die kant zou ik iig opzoeken, maar als iemand anders een beter idee heeft... | ||||||
Xcalibur | dinsdag 21 augustus 2007 @ 13:50 | |||||
quote:Iets simpels als een liggende pagina instellen is in je browser niet mogelijk, dit wordt domweg niet ondersteunt ![]() | ||||||
WyriHaximus | dinsdag 21 augustus 2007 @ 13:52 | |||||
quote:Precies, zodra CSS3 word ondersteund is het mogelijk.... | ||||||
Geqxon | woensdag 22 augustus 2007 @ 10:08 | |||||
Aangezien ik hier al langer mee vecht:
Dit werkt dus niet. Zodra ik de Regdate door het Postcount deel, weet hij spontaan niet meer wat Postcount ook alweer deed. Iets zegt mij dat dit heeft te maken met de volgorde van afhandelen die MySQL gebruikt, maar heeft iemand tips hoe ik "Postcount" in mijn verdere query kan herbruiken, zonder de subquery telkens te moeten gebruiken? | ||||||
WyriHaximus | woensdag 22 augustus 2007 @ 10:12 | |||||
quote:Je users een post count veld geven en die updaten als er iets met zijn/haar posts veranderd? En dan met een join de postcount daar uit trekken? | ||||||
Geqxon | woensdag 22 augustus 2007 @ 10:27 | |||||
In dit geval een optie (al heb ik liever geen berekende data in mijn tabel).... maar dit is slechts een voorbeeld. Ik zoek dus een manier om een zojuist berekend veld in een ander deel van mijn query te gebruiken. Kan ik hiervoor een variabele oid gebruiken? | ||||||
WyriHaximus | woensdag 22 augustus 2007 @ 10:37 | |||||
quote:Ja lijkt mij wel, misschien dat JortK het weet die is een stuk beter met SQL ![]() | ||||||
JortK | woensdag 22 augustus 2007 @ 10:54 | |||||
Probeer eens zoiets:
| ||||||
Geqxon | woensdag 22 augustus 2007 @ 11:18 | |||||
Om een beter geschikt voorbeeld te pakken:
In dit geval zal hij zeggen dat er geen colum genaamd 'result_one' bestaat, en zal ik het dus op moeten lossen als:
Nu is dit een klein voorbeeld, maar dit word erg snelzeer lelijk.. Ps: Jort, idee nummer twee waar ik het gister over had is bijna klaar. Ik stuur je nog wel een PM met de verdere query's / html-output | ||||||
JortK | woensdag 22 augustus 2007 @ 11:26 | |||||
quote:Maar waarom als je velden meerdere keren wil gebruiken die je zelf aanmaakt, zet je die subquery niet in je FROM, zodat je hem in je hele query als tabel kunt gebruiken? | ||||||
Geqxon | woensdag 22 augustus 2007 @ 11:46 | |||||
quote:Subquery? Excuse me for my stupidity, maar nu volg ik het niet meer helemaal. ![]() Ps: SPOILERWerkt! ![]() | ||||||
JortK | woensdag 22 augustus 2007 @ 11:59 | |||||
quote:Waar blijft de PM dan ![]() | ||||||
Dzy | woensdag 22 augustus 2007 @ 21:44 | |||||
Ik heb een vraagje, ik heb nu een werkend login script, met een remember functie met cookies en zonder met alleen sessions, en dat werkt allemaal prima maar er is iets mis met de logout functie, hij verwijdert namelijk de cookies niet.. hier is de logout code:
Wat doe ik verkeerd? Als ik de remember functie niet gebruik (dus alleen de sessies) wil hij wel gewoon uitloggen. | ||||||
Dzy | woensdag 22 augustus 2007 @ 21:54 | |||||
Oh en nog een vraagje, hoe zorg ik dat bepaalde pagina's altijd refreshen en niet uit het cache laden? ![]() | ||||||
Geqxon | woensdag 22 augustus 2007 @ 21:55 | |||||
quote: | ||||||
HuHu | woensdag 22 augustus 2007 @ 22:09 | |||||
quote:Volgens mij worden sessie-cookies verwijderd zodra de browser wordt afgesloten. Of doe je dat ook? | ||||||
Xcalibur | woensdag 22 augustus 2007 @ 22:09 | |||||
quote:Heeft je cookie dezelfde tijdsduur als de originele? Het wachtwoord in een cookie opslaan lijkt me ook niet ideaal btw | ||||||
Dzy | woensdag 22 augustus 2007 @ 22:18 | |||||
@ Gexcon bedankt @ Huhu, het gaat niet om de sessie cookies, dat werkt prima, het gaat om de "Remember" cookies, dus als je niet uit wil loggen als je de browser sluit. Dat werkt ook, maar als ik nu het logout script gebruik om toch uit te willen loggen werkt dit niet. @Xcalibur Hij maakt ze zo:
Overigens is het password in de cookies (beide sessie en gewone) een md5 hash van het password. | ||||||
Xcalibur | woensdag 22 augustus 2007 @ 22:44 | |||||
dat lijkt goed ![]() Wat betreft dat wachtwoord: kennelijk kan het script inloggen met die md5 hash, dus dan zou ik het ook moeten kunnen met die hash... hoewel ik het feitelijke wachtwoord niet weet, is het principe hetzelfde... | ||||||
Dzy | woensdag 22 augustus 2007 @ 22:49 | |||||
ik heb nu nog geen content op die pagina, maar dat maakt ook niet echt uit, waar het om gaat is dat hij de cookies dus gewoon niet aanpast. De sessies wel. Bij inloggen maakt hij de cookies wel aan, bij uitloggen past hij ze niet aan (verwijderen door de time naar vroeger te zetten) terwijl het in principe hetzelfde commando is.. dat snap ik dus ook niet zo goed, waar zou dat aan kunnen liggen? | ||||||
Xcalibur | donderdag 23 augustus 2007 @ 08:03 | |||||
Volgens mij moet je bij het zetten van een cookie altijd content outputten naar de browser, omdat hij em anders niet zet. Ik vermoed dat het bij het weghalen hetzelfde is ![]() ![]() | ||||||
Xcalibur | donderdag 23 augustus 2007 @ 08:07 | |||||
Even een theoretisch vraagje voor de afwisseling ![]() Ik ben bezig met het ontwikkelen van een inschrijfsysteem, waarbij ik van iedere inschrijving moet weten hoe ver deze is. De deelnemer moet in een aantal stappen informatie invoeren, de inschrijving wordt al dan niet goedgekeurd, en daarna ontvangt de deelnemer een aantal keer informatie van de organisatie. Waar ik mee zit is de manier waarop ik dit bij ga houden. Volgens mij heb ik twee opties: - Veld 'voortgang', numeriek, waarbij ik iedere stap een nummer geef, en deze steeds met 1 ophoog. - Aparte velden voor iedere stap, enum, waarbij ik iedere stap true of false geef. Voordeel van 1 veld is dat je direct kunt zien waar je bent, nadeel is dat je later geen stap kunt toevoegen, of de volgorde veranderen zonder een hoop gedoe en aanpassingen. Voordeel van aparte velden is dat je extra stappen kunt toevoegen zonder problemen, maar dat je een x-aantal velden moet gaan checken om te weten bij welke stap de deelnemer is. Suggesties? ![]() | ||||||
WyriHaximus | donderdag 23 augustus 2007 @ 08:08 | |||||
quote:Een cookie setten en dan een header location: werkt ook prima dan word je cookie ook gezet ![]() | ||||||
WyriHaximus | donderdag 23 augustus 2007 @ 08:11 | |||||
quote:3e optie je maakt een tabel met stappen, een tabel met users en een tabel waarom je een user_id en een step_id invoegt voor iedere stap die een user heeft gedaan. Voordeel hier van is dat je heel makkelijk nieuwe stappen kan toevoegen. Nadeel is dat je queries wat ingewikkelder worden ![]() | ||||||
WyriHaximus | donderdag 23 augustus 2007 @ 08:13 | |||||
quote:Daarmee voorkom je SQL injections tot op zekere hoogte ![]() ![]() | ||||||
unox_worst | donderdag 23 augustus 2007 @ 08:44 | |||||
quote:Beste keuze ![]() | ||||||
Geqxon | donderdag 23 augustus 2007 @ 09:23 | |||||
quote:Het voordeel is ook dat je exact kunt zien wie er op welk tijdstip een bepaalde stap deed. Klinkt control-freakish, maar zelf plak ik aan elke nuttige tabel een DateAdded en DateUpdated veld. ![]() | ||||||
Dzy | donderdag 23 augustus 2007 @ 09:29 | |||||
Ehh... ik heb me niet helemaal goed ingelezen over cookies geloof ik, lees net dat die moeten worden gemaakt voor enige output. ![]() En dat wist ik stiekem ook wel maar ik dacht er gewoon niet over na ![]() Nouja, dan maar even snel ombouwen ![]() EDIT: Hij doet het nu, hoe dom van me ![]() [ Bericht 42% gewijzigd door Dzy op 23-08-2007 09:45:09 ] | ||||||
Xcalibur | donderdag 23 augustus 2007 @ 10:05 | |||||
quote:De derde optie is helemaal niet zo'n slecht idee idd ![]() Ik plak trouwens ook altijd standaard datumvelden in zowat al m'n tabellen, je zal het maar een keer willen weten ![]() Ik wil sowieso een soort log / historie kunnen genereren, maar daar ben ik ook nog niet uit of ik dat nou uit een hele zooi tabellen ga plukken, of het gewoon apart in een logtabel ga opslaan ![]() | ||||||
Xcalibur | donderdag 23 augustus 2007 @ 23:09 | |||||
Verder niemand meer wat te roepen hierover? ![]() | ||||||
Xtr3mE | vrijdag 24 augustus 2007 @ 14:59 | |||||
een snel vraagje: waarom kan ik met deze SQL query niet meer dan 1 resultaat uitlezen uit de tabel:
Er zijn nu 2 records in de tabel (in de toekomst komen hier wel meer bij) die hetzelfde klantnummer hebben. Als uitvoer krijg ik altijd maar 1 te zien en terwijl ik die in de SQL van bijv. phpMyAdmin doe dan krijg ik ze wel alle 2... | ||||||
JortK | vrijdag 24 augustus 2007 @ 15:01 | |||||
quote:Dan doe je iets fout met het fetchen van je query ![]() | ||||||
Xtr3mE | vrijdag 24 augustus 2007 @ 15:03 | |||||
oke hier dan de rest van de code:
| ||||||
JortK | vrijdag 24 augustus 2007 @ 15:13 | |||||
quote:Probeer dit eens
En wanneer die meldingen geeft over ongeldige velden even tussen de [] de juiste kolomnaam neerzetten ;) | ||||||
Xtr3mE | vrijdag 24 augustus 2007 @ 15:26 | |||||
ik heb het probleem gevonden.. aan mijn bovenstaande code die ik gepost heb is niks mis maar op de plek van de ..... staat er dit ook:
dit om de klantnaam op te vragen uit een andere tabel. Als ik dit weghaal dan krijg ik wel 2 resultaten weer. Maar ik moet de klant naam ook wel hebben. Ik heb ook geprobeerd om dat sukje boven de " extract($row);" te plakken maar dat helpt ook niet. | ||||||
Xtr3mE | vrijdag 24 augustus 2007 @ 15:58 | |||||
dus.. hoe kan ik én de klantnaam ophalen én meerdere zoekresultaten krijgen? anyone?? ![]() | ||||||
Geqxon | vrijdag 24 augustus 2007 @ 16:31 | |||||
:) | ||||||
Xtr3mE | vrijdag 24 augustus 2007 @ 16:53 | |||||
nee dat werkt niet.. #1052 - Column 'Klantnummer' in where clause is ambiguous maar zowieso ging mij op het ophalen van de klantnaam uit de klant tabel in combinatie met meerdere resulaten krijgen. Het laatste gedeelte werkt dus wel.. -edit- Ik heb het al opgelost op een andere manier.. het sukje waarin de klantnaam wordt opgehaald uit de andere tabel heb ik helemaal boven neergezet (boven waar de while begint aangezien de klantnummer toch niet zal verschillen. Nu werkt alles perfect. ![]() [ Bericht 29% gewijzigd door Xtr3mE op 24-08-2007 16:59:02 ] | ||||||
wonderer | vrijdag 24 augustus 2007 @ 20:26 | |||||
Ik heb even wat moeite met een query. Ik heb een n op n tabel met tags en een tabel met artikelen. Nu wil ik met een select query de artikelen uit de artikel-tabel selecteren die een bepaalde tag hebben. iets als "select from artikelen where ID = (select from tags where tag=".$tag.")" of zo. Maar ik weet daar dus niet de juiste syntax voor (is dit waar je eventueel join zou gebruiken?). | ||||||
Farenji | vrijdag 24 augustus 2007 @ 21:01 | |||||
select * from artikelen a inner join tags t on a.ID = t.artikelID where a.ID = ? and t.tag = ? oid | ||||||
-Orion- | vrijdag 24 augustus 2007 @ 22:48 | |||||
Ik ben bezig met een forum, en heb een tabel 'topics' met de volgende velden: "topic_id, topic_titel, forum_id, user_id, topic_views, topic_status, topic_type, last_post" last_post geeft het id weer van de laatste post, waarvan hij dan weer het userid en tijd ophaalt. Maar ik heb dan 2x een user_id, van de topicstarter, en van de last_post. Hoe kan ik het oplossen dat ik beide kan krijgen met 1 query!? ![]() ![]() | ||||||
wonderer | vrijdag 24 augustus 2007 @ 22:51 | |||||
quote:Dat werkt, dank je wel. | ||||||
Tiemie | zaterdag 25 augustus 2007 @ 14:31 | |||||
quote:joins; SELECT t.topic_id, t.topic_titel, ts.username As topic_starter, lp.username As last_post FROM tbl_topics t INNER JOIN tbl_users ts ON (t.user_id = ts.user_id) INNER JOIN tbl_users lp ON (t.last_post = lp.user_id) | ||||||
Scriptha | zondag 26 augustus 2007 @ 15:31 | |||||
Ik ben begonnen met het MVC idee, met het Zend Framework nu. Ik snap views en controllers nu wel zo'n beetje, maar models niet echt. Heb wat tutorials gevolgd, maar die zijn niet volledig, of verouderd. Kan iemand models uitleggen? of een tut misschien? | ||||||
qu63 | zondag 26 augustus 2007 @ 16:42 | |||||
ah hier! Hoi! ![]() meteen een vraagje, je kan met MySQL ook met IF/ELSE/WHEN enzo werken, dus ik ga dat leuk proberen, alleen nu werkt het dus niet... Ik heb 3 rijen, 1) ID 2) mms_ID 3) IP nu is het de bedoeling dat ik controleer of het IP-adres al in de database staat, en zo niet, deze toevoegd. Ik kan dat wel doen dmv php en mysql (dus uit de database halen, controleren, en dan er weer in), maar dit leek me sneller. Iemand tips over hoe ik het moet doen ![]() | ||||||
Xcalibur | zondag 26 augustus 2007 @ 16:49 | |||||
kan je dat niet gewoon met een REPLACE doen, ipv INSERT? ![]() | ||||||
autocue | zondag 26 augustus 2007 @ 17:00 | |||||
quote:MySQL heeft ook een en enorm handige ON DUPLICATE functionaliteit, misschien biedt dat wat je nodig hebt ![]() | ||||||
wobbel | zondag 26 augustus 2007 @ 17:00 | |||||
Mmm...
dit geeft mij in IE7 netjes een 404, maar in firefox niet (ik krijg gewoon een blanke pagina Ook onderstaande geeft in IE7 netjes 404, maar in FF wederom blanco pagina... | ||||||
qu63 | zondag 26 augustus 2007 @ 17:00 | |||||
quote:je bedoelt dus: REPLACE INTO IP VALUES($ipadres) ![]() | ||||||
qu63 | zondag 26 augustus 2007 @ 17:04 | |||||
optie 1) ipadres staat al in de database - ja? door naar 2 - nee? 1.2 optie 1.2) ipadres toevoegen aan database met mms_ID stop. optie 2) ook bij zelfde mss_ID? - ja? stoppen - nee? nieuwe invoegen | ||||||
Xcalibur | zondag 26 augustus 2007 @ 17:10 | |||||
quote:Komt het wel op neer ja ![]() http://dev.mysql.com/doc/refman/4.1/en/replace.html quote:Moet je alleen je IP-adres uniek maken, maar dat is net het punt volgens mij ![]() | ||||||
Farenji | zondag 26 augustus 2007 @ 17:10 | |||||
In mysql kun je indexes toevoegen en daarmee kun je ook zeggen dat bijv de combinatie van ipadres en mms_ID uniek moet zijn. Als je met een insert dan een niet unieke combi probeert in te voegen dan krijg je een foutmelding. Met replace ipv insert wordt eerst het bestaande record gewist voordat de nieuwe wordt ingevoerd. | ||||||
wobbel | zondag 26 augustus 2007 @ 17:50 | |||||
Waarom levert het voglende script een plaatje op met kut brakke kwaliteit?
| ||||||
ralfie | zondag 26 augustus 2007 @ 20:06 | |||||
ben een beetje aan het experimenteren met htaccess en mod_rewrite, maar kom even ergens niet uit ik heb de volgende url http://localhost/index.php?page=news&wat=anders dit wil ik omzetten naar http://localhost/index/news/anders lukt me op zich wel met:
Maar wanneer ik dat doe werken alle relatieve links op die pagina (plaatjes, css, etc) niet meer. (gaat om links als 'css/base.css' en 'img/test.jpg' op die pagina) Kan dit in htaccess gefixed worden zonder al die relatieve links te moeten aanpassen? Zie ik iets doms over het hoofd? | ||||||
wobbel | zondag 26 augustus 2007 @ 23:30 | |||||
je kan een base tag gebruiken <base href="http://forum.fok.nl/" /> bijv.... alleen dat werkt niet altijd lekker (ik gebruik zelf ook index.php/nieuws/35) dus ik heb overal en altijd het volledig pad staan (dmv een #variable aangezien ik een template parser gebruik) | ||||||
Swetsenegger | maandag 27 augustus 2007 @ 12:37 | |||||
Hoe kan ik mssql fouten onderdrukken in php? | ||||||
WyriHaximus | maandag 27 augustus 2007 @ 12:48 | |||||
quote:
| ||||||
WyriHaximus | maandag 27 augustus 2007 @ 12:50 | |||||
quote:Idd je moet wel goed opletten als je het gebruikt aangezien o.a. IE (met JS vooral) debiel is en veel bots ook (die snappen de tag helamaal niet) (let wel op dat de bots waar hem om gaat (google, yahoo, MS etc) geen problemen hebben, het gaat vooral om hack/spam etc bots). | ||||||
Swetsenegger | maandag 27 augustus 2007 @ 12:51 | |||||
quote:ik weet niet of dat werkt ![]() | ||||||
WyriHaximus | maandag 27 augustus 2007 @ 12:53 | |||||
quote:Ja dat word lastig. Kan je geen test database regelen dan? | ||||||
Swetsenegger | maandag 27 augustus 2007 @ 13:02 | |||||
quote:Niet op korte termijn. | ||||||
WyriHaximus | maandag 27 augustus 2007 @ 13:03 | |||||
quote:Meh dat is ruk. Ook niet stiekum lokaal? | ||||||
Dreammaster | maandag 27 augustus 2007 @ 13:19 | |||||
quote:probeer dit eens....
verder escape ik de slashes meestal.. is in principe niet nodig.. maar toch ![]() [ Bericht 4% gewijzigd door Dreammaster op 27-08-2007 13:25:16 ] | ||||||
JeRa | maandag 27 augustus 2007 @ 13:31 | |||||
quote:Een @-teken voor een functie onderdrukt alle foutmeldingen tot en met het niveau van een warning; daarboven (zoals fatal errors) komen er gewoon door. Het is verder niet zo dat het @-teken de functionaliteit van je script aanpast, dus je kunt het gewoon proberen (alhoewel het dus in een liveomgeving niet echt wenselijk is). | ||||||
GVRuud | maandag 27 augustus 2007 @ 14:56 | |||||
quote:Ik heb met 100 als kwaliteit ook wel eens rare problemen gehad. Vervangen door 99 deed de trick. | ||||||
Swetsenegger | dinsdag 28 augustus 2007 @ 11:54 | |||||
quote:Ik ga het gewoon proberen. Het is toch een database die alleen ikzelf gebruik ![]() Andere vraag. Kan ik in een whilelus van mijn query results eenvoudig kijken wat de resultaten zijn in de volgende loop? | ||||||
JeRa | dinsdag 28 augustus 2007 @ 17:11 | |||||
quote:Je kunt het beter anders benaderen; je kunt de result set van je eerste query cachen (opslaan in een array bijvoorbeeld) en die bij het verwerken van de result set van je tweede query benaderen ![]() | ||||||
Swetsenegger | dinsdag 28 augustus 2007 @ 18:09 | |||||
quote:Nee, het gat niet om een 2e query. De resultaten van een query worden in een while lus uitgelezen, record voor record. En als die whilelus nu bij record 11 is, wil eigenlijk weten wat er in record 12 staat. Dit ivm presentatie. | ||||||
Geqxon | dinsdag 28 augustus 2007 @ 18:24 | |||||
quote:Misschien denk ik iets te simpel, maar toch een poging: -Alles in een numeric array -Met een "for ( $i = 0, $i < sizeof($array), $i ++) " alles uitlezen -$array[$i + 1] voor de volgende rij. ? | ||||||
Swetsenegger | dinsdag 28 augustus 2007 @ 18:32 | |||||
quote:Mjah, zou kunnen werken inderdaad, maar ik vind 'm niet chique ![]() Ik ga nog even nadenken of ik het niet gewoon anders moet benaderen. | ||||||
Xcalibur | dinsdag 28 augustus 2007 @ 18:54 | |||||
Volgens mij is het een stuk eenvoudiger om iets met het vorige record te vergelijken (of wat je d'r dan ook mee gaat doen) dan met het volgende ![]() Tenzij je het eerst in een andere array zet, zoals Geqxon zegt, maar ja ![]() | ||||||
Geqxon | dinsdag 28 augustus 2007 @ 18:55 | |||||
Of je pakt telkens de data van het vorige record, en gooit daarna je records om. ![]() | ||||||
Farenji | dinsdag 28 augustus 2007 @ 19:50 | |||||
Zoiets gewoon toch?
| ||||||
Farenji | dinsdag 28 augustus 2007 @ 19:51 | |||||
Als je daarna nog verder wil loopen moet je er rekening houden dat de pointer wel is opgeschoven, die kun je evt terugzetten met mysql_field_seek. | ||||||
autocue | donderdag 30 augustus 2007 @ 00:43 | |||||
quote:Goed idee om alles in één keer mee te nemen. Werkt zoiets als het volgende voor je? ![]()
| ||||||
BunnyHunter | donderdag 30 augustus 2007 @ 13:14 | |||||
de foutcode: Parse error: syntax error, unexpected T_WHILE in /home/sites/site3850/web/bestanden/sites.php on line 35 in dit geval line 3 wat moet de code doen:: Ik split een url string, die ik weer aan elkaar koppel tot ik aleen een domein string over hou, daarna controleer ik of de string al eens eerder is voorgekomen en als dat niet zo is maak ik een nieuwe teller aan. ik ben gewend om ASP of VB te programeren, en ik word een beetje gek van PHP om eerlijk te zijn ![]() | ||||||
Geqxon | donderdag 30 augustus 2007 @ 13:27 | |||||
Hij verwacht simpelweg geen while lus. Toevallig een accolade vergeten? Een punt-komma? | ||||||
unox_worst | donderdag 30 augustus 2007 @ 13:30 | |||||
Regel 24 mis je een punt-komma, voor de rest zie ik in dit stukje code geen fouten. Edit: Je mist helemaal onderaan idd een accolade. | ||||||
Dreammaster | donderdag 30 augustus 2007 @ 13:30 | |||||
quote:line 25 denk ik.... geen puntkomma op line 24 edit: en op regel 11 een & ipv $ | ||||||
unox_worst | donderdag 30 augustus 2007 @ 13:36 | |||||
Die if statement of regel 12 klopt volgens mij ook niet helemaal, zal straks is kijken wat ook alweer precies de bedoeling was enzo. | ||||||
Dreammaster | donderdag 30 augustus 2007 @ 13:36 | |||||
quote:Voor zover ik kan zien staan de accolades goed, alleen een beetje onoverzichtelijk | ||||||
Dreammaster | donderdag 30 augustus 2007 @ 13:38 | |||||
quote:Daar moet == staan ipv = nu is de vergelijking altijd true en heeft dus geen nut [ Bericht 22% gewijzigd door Dreammaster op 30-08-2007 13:52:57 (verkeerde quote) ] | ||||||
Dreammaster | donderdag 30 augustus 2007 @ 13:41 | |||||
en de laatste while loop is infinite | ||||||
Geqxon | donderdag 30 augustus 2007 @ 13:49 | |||||
quote:Bevestigd, vijf openingsaccolades en vijf sluitingsaccolades. | ||||||
markiemark | donderdag 30 augustus 2007 @ 15:47 | |||||
Even een heel simpel vraagje... Hoeveel rijen kan een MySQL tabel maximaal aan, wat is aan te raden om als maximum te houden? Of is het afhankelijk van de grootte van de schijf in de server en de prestaties die deze kan leveren? | ||||||
unox_worst | donderdag 30 augustus 2007 @ 15:48 | |||||
quote:Ik heb hier een groot deel van de kvk-database geïmporteerd, dat waren 780.000 records ongeveer. | ||||||
Geqxon | donderdag 30 augustus 2007 @ 15:49 | |||||
quote:http://dev.mysql.com/doc/refman/5.0/en/features.html quote: | ||||||
markiemark | donderdag 30 augustus 2007 @ 15:52 | |||||
In principe kan ik er dus echt wel best wat in kwijt.. hehe Het gaat mij om de opslag van tijden met daarbij behorende info, een soort logboek. Er komen waarschijnlijk best wel grote aantallen records in de tabel 'log' te staan. Is het verstandig om na bijv. 1 miljoen (ik noem maar een aantal..) records de data te kopieren naar een andere tabel? Of naar een andere database eventueel? | ||||||
BunnyHunter | donderdag 30 augustus 2007 @ 15:59 | |||||
quote:Ja klopt maar dat zijn foutjes waar ik achterkom met testen normaal. ik zal even alles gaan aanpassen en die == voor vergelijking vergeet ik altijd omdat dit in andere talen niet zo is. iig. bedankt ![]() | ||||||
Catch22- | donderdag 30 augustus 2007 @ 16:00 | |||||
quote:met 60.000 tabellen moet je je database echt eens op orde brengen | ||||||
Geqxon | donderdag 30 augustus 2007 @ 16:09 | |||||
quote:Hetzelfde met 3500 kolommen op een tabel. | ||||||
BunnyHunter | donderdag 30 augustus 2007 @ 16:40 | |||||
Ik heb dus alle fouten die aangegeven waren eruit gehaalt maar hij geeft me dus nu de foutmelding Parse error: syntax error, unexpected '=' in /home/sites/site3850/web/bestanden/sites.php on line 45 dat is bij dit stukje code op 14 in dit bericht $siteteller($i,1) = $siteteller($i,1) + 1; ik denk zelf dat hij het niet ziet als een integer, ik kan het aleen niet testen omdat ik zo snel geen convert functie vind daarvoor.
| ||||||
Farenji | donderdag 30 augustus 2007 @ 17:28 | |||||
quote:Ik denk dat dat meer problemen geeft dan het oplost omdat die data dan niet meer toegankelijk is. Ik werk met databases waar soms tabellen met miljoenen records in zitten, en dat is goed te doen. Alleen doorzoeken kan lang duren, afhankelijk wat je zoekt; tabellen met miljoenen rows met elkaar joinen, daar staat ie meestal wel even op te stampen. Je kan de tijd verkorten door goed db ontwerp en slim van mysql indices gebruik te maken maar voor de applicaties waar ik mee werk is dat nog niet genoeg. De oplossing die gebruikt wordt is het maken van een aparte index tabel, een zgn datamart, waar je de data bijelkaar zet die je snel boven water wil toveren. Die moet je dan wel bijv elke dag opnieuw genereren. | ||||||
SuperRembo | donderdag 30 augustus 2007 @ 18:34 | |||||
quote:Dit ziet er uit als een slechte poging om een asp scriptje om te zetten naar php. Of leer php òf zoek een andere hobby. | ||||||
BunnyHunter | donderdag 30 augustus 2007 @ 18:43 | |||||
quote:daar ben ik dus mee bezig.. dus als je me vertelt wat ik fout doe ![]() ![]() | ||||||
SuperRembo | donderdag 30 augustus 2007 @ 19:17 | |||||
quote:Begin eens bij w3schools.com. De fouten die hier in zitten zijn echt te basic om uit te leggen. | ||||||
BunnyHunter | donderdag 30 augustus 2007 @ 19:53 | |||||
quote:ik zoek alles op op w3schools maargoed ik kloot wel wat verder aan | ||||||
SuperRembo | donderdag 30 augustus 2007 @ 21:19 | |||||
Het grootste probleem is dat $siteteller een array van array's zou moeten zijn. Voor php ziet $siteteller($i,1) er uit als functie aanroep, niet als element in een array. En daar kan je geen waarde aan toe kennen met $siteteller($i,1) = 1, vandaar de syntax error "unexpected '=' ". | ||||||
BunnyHunter | donderdag 30 augustus 2007 @ 21:52 | |||||
quote:ja kijk daar had ik het net dus over met iemand in de kantine.. ik dacht dus dat die array's gewoon net zo werkte als in asp en etc. maar hij werkt dus zoals de session array variabalen werken bij asp. dom dom, hartelijk dank ![]() | ||||||
Dzy | donderdag 30 augustus 2007 @ 22:13 | |||||
Ik heb even een vraagje over mijn database design. Ik heb de hele applicatie al in elkaar zitten maar ik vroeg me af of ik de databases wel slim in elkaar gezet heb. Even een korte beschrijving van de applicatie: Het is voor distributie van kerstpakketten bij bedrijven waar de werknemers dan kunnen kiezen welk kerstpakket ze willen. Een bedrijf kan zich bij de opdrachtgever van de applicatie aanmelden en kiezen hoeveel van elk kerstpakket ze willen. Stel ze hebben 800 werknemers en ze willen 100 van pakket 1, 200 van pakket 2 en 500 van pakket 3. Dan krijgen ze een lijst met 800 usernames met passwords. Elke werknemer krijgt er hier 1 van, waarmee ze kunnen inloggen en dan kunnen ze uit een van de pakketten die is geselecteerd kiezen, behalve als er al X werknemers die hebben gekozen en er maar X van die pakketten waren gekozen door het bedrijf. Dan vult de werknemer zijn gegevens in en dan is het voor de werknemer klaar. Op een bepaalde datum sluit het voor dat bedrijf en worden alle pakketten verzonden. Hier zijn de 3 tabellen die ik gebruik: BedrijvenTabel: Heeft ID, de naam van het bedrijf, de prefix voor de usernames, het aantal werknemers, nog wat willekeurige opties, en het belangrijkste: Voor elk pakket 2 kolommen met het aantal vanaf het begin en hoeveel er nog over zijn. Elke keer als er een kerstpakket wordt toegevoegd worden er dus twee extra kolommen toegevoegd en weer verwijderd als het pakket wordt verwijderd. PakkettenTabel: Heeft ID, naam en beschrijving van het pakket, prijs, url naar plaatje etc. UserTabel: Heeft ID, bedrijfsID voor bij welk bedrijf hij hoort, username en password, gegevens (die dus worden ingevuld nadat hij zich heeft aangemeld) en welk pakket er uiteindelijk is gekozen. Nu vroeg ik me dus af of ik met het pakketten toevoegen/verwijderen het niet anders had op kunnen lossen dan kolommen toevoegen en verwijderen. Zijn hier andere constructies voor mogelijk? Of heb ik het zo prima opgelost (vind ik wel, alleen heb ik het gevoel dat het overzichtelijker kan) | ||||||
BunnyHunter | donderdag 30 augustus 2007 @ 22:21 | |||||
maak een tabel met.. Bedrijf ( ID, ... rest van info ) Kerstpakketten( ID , pakket info) BedrijfPakket ( ID , BedrijfID, KerspakkerID, Limiet) User(ID, info) Bestelt(ID, UserID, PakketID) wat ik dus doe, ik geef bedrijf en kerspakket een eigen tabel.. in een nieuwe tabel koppel ik bedrijf en kerstpakketten aan elkaar en zet ik daar het limiet aan vast. scheelt velden in je tabel en voorkomt redundantie. daarna koppel ik user aan een pakket id (als hij een pakket bestelt) .. door het aantal pakketID te tellen in bestelt weet ik of ik een limiet bereik in bedrijfpakket om redundantie te verkomen.. kun je uit de bestelt tabel opmaken of iets al op is of niet op het moment dat je de pagina opent waar je pakketten kunt kiezen .. (count pakketID in bestelt < limiet in bedrijfpakket dan laat keuze optie zien) indien je dit vaker moet doen is het goed als je de theorie eens leert (welke best nog wel pittig kan zijn voor een leek) .. en deze site is niet echt geweldig volgens mij .. even verder googlen. daarnaast heb ik elke tabel een ID gegeven als primaire sleutel.. dit is eigenlijk niet nodig hier bijvoorbeeld: BedrijfPakket ( ID , BedrijfID, KerspakkerID, Limiet) is BedrijfID en KerspakketID samen ook goed als primaire sleutel (die combinatie komt immers maar 1 keer voor) hierbij ga ik er wel vanuit dat de database geleegt word als alles geleverd is en volgend jaar opnieuw begonnen word. Aangezien je anders dubbele waarden krijgt en je met programeren problemen krijgt. Is dit niet moet je ook nog jaartallen of datums gaan verwerken in je database. het is nu een beetje een rommel verhaal geworden maar het mag dus duidelijk zijn dat je goed moet nadenken voordat je ook maar begint aan het aanmaken van een database [ Bericht 21% gewijzigd door BunnyHunter op 30-08-2007 22:31:06 ] | ||||||
PiRANiA | vrijdag 31 augustus 2007 @ 12:35 | |||||
Zit er een maximum aan data dat fopen opent? Als ik namelijk http://msn.com/ wil fopenen, krijg ik alleen maar dit terug: quote:alleen het begin van het bestand dus... Hoe kan ik dit verhelpen? [ Bericht 96% gewijzigd door PiRANiA op 31-08-2007 12:44:00 ] | ||||||
Geqxon | vrijdag 31 augustus 2007 @ 12:57 | |||||
Door het aantal bytes te verhogen. Wat is je huidige sourcecode? | ||||||
PiRANiA | vrijdag 31 augustus 2007 @ 13:27 | |||||
$handle = fopen ($row['href'], "r"); #Open pagina $datavar="ERROR"; $datavar = fread ($handle, 8192); if($datavar=="ERROR"){ #Er is niks opgehaald: break mysql_query("DELETE FROM `ahref` WHERE `href`='".$row['href']."' "); break; } | ||||||
PiRANiA | vrijdag 31 augustus 2007 @ 13:39 | |||||
quote:de 8192 veranderen zeker... ga ik proberen. ![]() ik had dit stukje gekopieerd en niet gekeken wat het deed. Jou tip heeft me geholpen (denk ik ![]() | ||||||
Tiemie | vrijdag 31 augustus 2007 @ 13:49 | |||||
Je kan ook steeds 8192 bytes ophalen in een while loop
of file_get_contents kunnen gebruiken. | ||||||
PiRANiA | vrijdag 31 augustus 2007 @ 13:52 | |||||
Farenji | vrijdag 31 augustus 2007 @ 20:24 | |||||
uit de php documentatie:
| ||||||
SuperRembo | vrijdag 31 augustus 2007 @ 20:34 | |||||
quote:Alleen is de filesize een beetje lastig bij een webpagina ![]() | ||||||
Geqxon | vrijdag 31 augustus 2007 @ 21:10 | |||||
quote:Allicht de "Content-length" uit de HTTP-headers halen? ![]() | ||||||
Chivu | zondag 2 september 2007 @ 13:19 | |||||
Ik wil via een formulier meerdere files (1 tot in de praktijk 10) uploaden. Met kleine bestanden gaat dit prima. Met een 10-tal 'grote' bestanden (foto's uit een digitale camera, 1 a 2mb per stuk) duurt dit waarschijnlijk te lang en krijg ik na een (beperkt aantal? 15-20) seconden de originele uploadpagina weer te zien. De $_POST wordt dus niet meegegeven, anders kreeg ik de resultatenpagina te zien. Nu heb ik me rot gezocht op GoT of het mogelijk is om tussen elke uploadactie de pagina te refreshen. 1. Upload formulier met 10 input type=file elementen 2. Upload $_FILES[0] 3. Refresh 4. Upload $_FILES[1] 5. Refresh 6. Upload $_FILES[2] 7. Refresh 8. Upload $_FILES[3] 9. etc. etc. 10. Klaar, toon de resultatenpagina Hiervoor moeten de $_POST en $_FILES variabelen dus keer op keer doorgegeven worden bij de refresh, inclusief een teller-variabele om telkens de volgende $_FILES[$teller] af te lopen. Is dit mogelijk en hoe doe ik dit precies? Ik wil liever niet afhankelijk zijn van php.ini settings, zodat onafhankelijk van de server de website gewoon werkt met de standaard PHP instellingen. | ||||||
markiemark | maandag 3 september 2007 @ 14:16 | |||||
Ik ben een inlog siteje aan het maken, waar je ook kunt uitloggen hehe logisch.. Nu wil ik er voor zorgen dat mijn cookies en sessies vernietigd worden. In IE werkt het wel, in Firefox niet. Heb de volgende code:
Doe ik iets verkeerds? | ||||||
Catch22- | maandag 3 september 2007 @ 14:40 | |||||
je moet het absoluten pad in je header location zetten. Firefox doet blijkbaar wat lastiger als hij geen base_href meekrijgtquote:Je zal altijd met een beperkte timeout te maken houden en files van een paar mb duren gewoon lang om te uploaden, dus krijg je met de timeout van doen, als je refreshed ben je je post data kwijt... | ||||||
Dreammaster | maandag 3 september 2007 @ 14:57 | |||||
quote:je kunt ook gewoon de max_execution_time omhoog gooien
| ||||||
devvertje | maandag 3 september 2007 @ 14:58 | |||||
Kan je dat ook niet in .htaccess aangeven............ ? | ||||||
Catch22- | maandag 3 september 2007 @ 15:22 | |||||
Nee wiki quote:dat is echt een instelling in je php zelf | ||||||
JeRa | maandag 3 september 2007 @ 15:24 | |||||
Je kunt met .htaccess weldegelijk instellingen aanpassen. Let ook op de woorden 'are commonly used for'. | ||||||
Catch22- | maandag 3 september 2007 @ 15:27 | |||||
het hoort niet, als het al gaat werken. wat is het probleem? Je kan toch gewoon die ini_set toepassen. Bij sommige hosts kun je de htaccess niet aanpassen, of is die er simpelweg niet (bij het geval IIS hosting ![]() | ||||||
Chivu | maandag 3 september 2007 @ 15:36 | |||||
quote:Dat dacht ik al. Ik hou het maar gewoon op een check dat bestanden van meer dan 2mb niet geupload mogen worden. Ik gebruik liever niet iets als JUpload vanwege overige bewerkingen die daarna nog met de plaatjes uitgevoerd moeten worden, dus dan wordt het maar gewoon maximaal 3-5 plaatjes uploaden. Daar moet wel genoeg tijd voor zijn, en dan maar met die ini-set ![]() | ||||||
Dreammaster | maandag 3 september 2007 @ 15:58 | |||||
quote:wellicht handig om het via ajax te doen om te voorkomen dat de gebruiker de pagina gaat refreshen omdat het hem te lang duurt | ||||||
Chivu | maandag 3 september 2007 @ 16:06 | |||||
Ik vind Ajax heel lief, maar ik heb me nog niet in AJAX verdiept. Bovendien moet een gedisabled uploadknopje en een animatie+melding genoeg zijn om mensen te laten wachten. | ||||||
Dreammaster | maandag 3 september 2007 @ 16:49 | |||||
quote:AJAX heb je binnen 5 minuten geleerd. Maar in principe heb je wel gelijk natuurlijk. | ||||||
markiemark | maandag 3 september 2007 @ 16:53 | |||||
quote:kun je het binnen 5 min typen leren? zo ja, dan zou ik zeggen.. succes! | ||||||
HuHu | maandag 3 september 2007 @ 18:34 | |||||
quote:De timeout geldt niet voor file uploads. Zolang er nog een upload loopt naar de server, telt de max_execution_time van PHP nog niet af. quote:Als er toch een time-out op treedt, is dat waarschijnlijk een time-out vanuit de webserver en niet vanuit PHP. | ||||||
Farenji | maandag 3 september 2007 @ 19:05 | |||||
quote:Ah, je hebt er verstand van, dat zie ik al ![]() Met AJAX kun je niet eens fileuploads doen.... dat moet via een ![]() | ||||||
JeRa | maandag 3 september 2007 @ 19:32 | |||||
quote:Hoezo 'het hoort niet'? ![]() | ||||||
PiRANiA | dinsdag 4 september 2007 @ 14:03 | |||||
Ik heb een vraagje. Hoe haalt hyves (en anders websites) je adresboek van je mailaccount af? Logt de server in op gmail, opent dan 'contacts' en haalt dan alles er af? Of doen ze dat anders? Ik wil het wel weten, want het lijkt me handig voor mijn site | ||||||
GVRuud | dinsdag 4 september 2007 @ 14:48 | |||||
quote:Google op 'gmail api'. Er lijken verschillende libraries te zijn waarmee je gmail-functionaliteit kunt gebruiken. Verder geen ervaring mee eigenlijk. | ||||||
PiRANiA | dinsdag 4 september 2007 @ 15:40 | |||||
quote:Ook voor php? En hoe zit het met andere mailsystemen? | ||||||
WyriHaximus | dinsdag 4 september 2007 @ 15:52 | |||||
quote:Heh moet je je username en password opgeven zeker? | ||||||
PiRANiA | dinsdag 4 september 2007 @ 15:56 | |||||
quote:ja inderdaad. Maar wat gebeurt er dan? Wordt gmail geopend? | ||||||
unox_worst | woensdag 5 september 2007 @ 09:06 | |||||
quote:Nee er wordt gebruik gemaakt van een API van google, die is als het goed is wel ergens te downloaden denk ik. Alles wat je met gmail wil doen kun je dan via die API doen. | ||||||
WyriHaximus | woensdag 5 september 2007 @ 09:20 | |||||
quote:Ja zo of via een API gebeurt dat meestal ![]() quote:Zolang er maar niet mee gespammed word. Want dat soort mensen zouden ze achter een motor aan over de snelweg moeten slepen ![]() | ||||||
GVRuud | woensdag 5 september 2007 @ 09:38 | |||||
quote:Ook voor PHP: http://sourceforge.net/projects/gmail-lite/ Neem aan dat er voor een boel andere mailaanbieders ook wel zoiets zal zijn... | ||||||
JortK | woensdag 5 september 2007 @ 09:55 | |||||
quote:Aan de screenshots te zien bijvoorbeeld handig voor op een PDA ofzo ![]() | ||||||
WyriHaximus | woensdag 5 september 2007 @ 13:55 | |||||
quote:Zeker tof. Alleen het jammere aan de POP3 support van Gmail is dat ze niet de read/delete acties die je op je pop uitvoerd ook op je gmail door voeren ![]() | ||||||
JeRa | woensdag 5 september 2007 @ 14:14 | |||||
quote:Ehm, POP3 hoort dat ook niet te doen. Bedoel je niet IMAP? ![]() | ||||||
WyriHaximus | woensdag 5 september 2007 @ 14:17 | |||||
quote:Dat ondersteund Gmail niet ![]() | ||||||
Chivu | woensdag 5 september 2007 @ 15:40 | |||||
Misschien een retorische vraag, maar 'beveiligen' jullie elk invoerveld op een pagina met strip_tags, htmlspecialchars etc? En zijn er nog andere obvious zaken waar ik op moet letten? | ||||||
WyriHaximus | woensdag 5 september 2007 @ 15:46 | |||||
quote:Ja ![]() ![]() | ||||||
PiRANiA | woensdag 5 september 2007 @ 15:58 | |||||
quote:voor sql doe ik mysql_real_escape (dacht ik)... | ||||||
WyriHaximus | woensdag 5 september 2007 @ 15:59 | |||||
quote:Dat is die van MySQL ja postgre laat het toe het via een sprintf meganisme te werken voor variables ![]() | ||||||
SuperRembo | woensdag 5 september 2007 @ 18:34 | |||||
quote:Hoe bedoel je dat, sprintf op zich voorkomt geen sql-injectie? | ||||||
JeRa | woensdag 5 september 2007 @ 18:48 | |||||
quote:
Op zich wel dus. Desalniettemin is het een beter idee om alle input te checken of naar een type te forceren, of gewoon prepared statements te gebruiken. ![]() | ||||||
Geqxon | woensdag 5 september 2007 @ 18:53 | |||||
quote:Dit doet sprintf toch niet anders dan een doodgewone string met "..." . $var . "..." ? | ||||||
Dzy | woensdag 5 september 2007 @ 18:57 | |||||
Jawel want je kunt er bepaalde variabele types mee forceren. Overigens kun je alsnog beter er mysql_real_escape_string() bij gebruiken. | ||||||
JeRa | woensdag 5 september 2007 @ 19:00 | |||||
quote:Als er %s stond wel. Nu staat er %d. | ||||||
Geqxon | woensdag 5 september 2007 @ 19:03 | |||||
Jullie zijn correct. Al kan het wel met "..." . (int / float) $var . "...", dit is een stuk netter. | ||||||
WyriHaximus | woensdag 5 september 2007 @ 19:06 | |||||
Doelde eingelijk hier op: http://www.php.net/manual/en/function.pg-send-prepare.php afaik worden de vars daar ook netjes automatish voor je geescaped enzo ![]() | ||||||
Farenji | woensdag 5 september 2007 @ 20:12 | |||||
quote:Ja, dat is afgekeken van perl, daar werk je eigenlijk altijd met placeholders waar values automatisch ge-escaped en gequote worden. Daardoor wordt iets als dit volkomen veilig, geen sql injection meer mogelijk:
| ||||||
markiemark | woensdag 5 september 2007 @ 20:23 | |||||
vraagje over variabelen in functies.. Ik heb een functie gemaakt die moet gaan controleren of een variabele is ingesteld BUITEN de functie.. heb nu dus dit:
Het gaat dus op de variabele $object. deze is soms ingesteld, afhankelijk van de aanroep van de pagina.. Iemand een idee hoe ik kan deze variabele kan controleren? | ||||||
markiemark | woensdag 5 september 2007 @ 20:50 | |||||
well, hell forget about that...
| ||||||
WyriHaximus | woensdag 5 september 2007 @ 20:59 | |||||
Zoiets?
| ||||||
h.henkie | woensdag 5 september 2007 @ 22:21 | |||||
Hoi, Ik ben eens wat structuur aan aanbrengen in mijn chaotisch veel gebruikte linkjes. Op deze pagina wil ik ook de status van mijn eigen ftp server en sqlserver. En de mailserver van mijn domein hebben. Als voorbeeld klik. Dit is dan ook wat ik in mijn gedachte heb als uitvoer. Kan iemand me op weg helpen hier mee. Oh ja ik gebruik php 5.0.4 | ||||||
markiemark | woensdag 5 september 2007 @ 22:25 | |||||
quote:De variabele moet een value hebben, vandaar dat ik het zo (op mijn manier) heb gedaan.. Het gaat namelijk om value="" variabelen in een formulier.. Ik wil hetzelfde formulier gebruiken voor zowel het toevoegen als het wijzigen van personen. Het werkt nu! Maar bedankt voor je mee denken! | ||||||
markiemark | woensdag 5 september 2007 @ 22:27 | |||||
quote:Er zijn scriptjes voor.. Ik heb op google gezocht naar php ping script, daar vond ik dit: http://www.phphulp.nl/php/scripts/7/216/ | ||||||
h.henkie | woensdag 5 september 2007 @ 23:29 | |||||
quote:Dank hier voor Oke ik heb even doorgezocht en wat aan de broncode verbouwd. Uiteindelijk kwam ik op dit uit:
Ik ga later een experimenteren met de poorten. Ik heb dit getest met mijn ftp server. Het valt op de als de ftp server offline is, dat het lang duurt voordat er resultaat is. | ||||||
WyriHaximus | donderdag 6 september 2007 @ 08:23 | |||||
quote:20 sec zeker ![]() | ||||||
Dzy | donderdag 6 september 2007 @ 09:00 | |||||
Haha inderdaad, ik zou die laatste parameter van fsockopen even op 1 of 2 zetten ![]() | ||||||
markiemark | donderdag 6 september 2007 @ 09:02 | |||||
quote:lol | ||||||
WyriHaximus | donderdag 6 september 2007 @ 09:28 | |||||
quote:Ja ligt een beetje erg voor de hand ![]() | ||||||
WyriHaximus | donderdag 6 september 2007 @ 09:28 | |||||
quote:Ik zou er 5 van maken ![]() ![]() ![]() | ||||||
Dzy | donderdag 6 september 2007 @ 10:07 | |||||
Als je hem op 2 zet heeft hij toch meer dan genoeg tijd om te reageren? Kan me niet voorstellen dat je na meer dan 2 minuten alsnog een response krijgt. En je bent in die tussentijd wel aan het wachten met de pagina laden. Misschien kan je oplossen via AJAX? (weet daar weinig vanaf) Bv dat je alle lampjes op oranje zet, voor elk een los scriptje laat draaien en zodra je weet of het is gelukt of niet hem omzet naar groen/rood? | ||||||
markiemark | donderdag 6 september 2007 @ 10:23 | |||||
quote:minuten? | ||||||
Dzy | donderdag 6 september 2007 @ 10:46 | |||||
Eh. Nog niet helemaal wakker :$ Sla die post maar gewoon over ![]() | ||||||
WyriHaximus | donderdag 6 september 2007 @ 10:51 | |||||
quote: ![]() quote: ![]() quote: ![]() * WyriHaximus geeft Dzy een grote mok koffie (of je moet wat anders willen) | ||||||
Dzy | donderdag 6 september 2007 @ 11:07 | |||||
Koffie is wel prima, net zelf ook maar gezet ![]() | ||||||
WyriHaximus | donderdag 6 september 2007 @ 11:13 | |||||
quote:Waarom zou je voor AJAX gaan als je dat ook met een plaatje kan doen? Scheelt je een nutteloze request naar de server toe ;). Plus dat je pagina er al is en niet op de andere server hoeft te wachten :Y . HTML
image.php
Je snap het idee neem ik aan wel ;). | ||||||
Dzy | donderdag 6 september 2007 @ 11:18 | |||||
Ah, dat is wel een mooie oplossing ja. Wist niet dat dat zo kon. Maar is het zo niet zo dat hij de latere images pas gaat laden als hij alle info binnen heeft? Of stuurt hij de request van alle images tegelijk? Of is dat browser dependant? | ||||||
WyriHaximus | donderdag 6 september 2007 @ 11:26 | |||||
quote:Browser dependant maar dat gaat rap genoeg om er bijna niks van te merken ![]() | ||||||
GVRuud | donderdag 6 september 2007 @ 11:31 | |||||
quote:Ik heb de invoer graag zoals door de gebruiker ingevoerd in de database. Pas wanneer ik de waarde ga afbeelden gooi ik er htmlspecialchars() of welke functie dan ook overheen. Voordat ik het in de database opsla, substr ik de invoer wel, zodat deze niet groter dan de veldlengte in de database is. Eventuele getalinvoer wordt met een intval() omgezet. En verder wordt de waarde natuurlijk geescaped, zodat de query niet in de soup loopt. | ||||||
Dzy | donderdag 6 september 2007 @ 11:36 | |||||
quote:Maar is het dan niet zo dat als je een server park van 500 servers laat zien waarvan er zeg 40 offline zijn, hij dan bij elke offline server weer 5 seconden (niet minuten!) wacht en daarna pas de volgende image gaat laden? | ||||||
colourAgga | donderdag 6 september 2007 @ 13:46 | |||||
quote:Ja dat klopt, maar over het algemeen behoren die servers binnen een enkele seconde te reageren. Mocht je 500 servers gaan uitzoeken dan zal dat dus ook met een timeout van een seconde je 500 secondes kosten. Je kan de timeout natuurlijk nog krapper gaan nemen. Wat je eventueel ook nog zou kunnen doen is de servers in een array stoppen, en als ze binnen een bepaalde tijd niet reageren te verschuiven naar later in de array of een andere array om op het einde de trage servers nog eens te checken. Je kan natuurlijk flush() gebruiken om je output buffers te flushen zodat je output hebt terwijl het script draait (anders geeft hij pas na alle servers langslopen je output door). Het is makkelijker om een script te gaan maken en dit in een cronjob op te nemen om op vaste intervallen dit script al je servers te laten pollen en dit weg te schrijven naar een database/bestand. Zodat als je de site bezoekt je gewoon de meest recente informatie direct te zien krijgt. Mocht je dan handmatig willen verversen dan kan dat. | ||||||
WyriHaximus | donderdag 6 september 2007 @ 13:59 | |||||
quote:Wou het net zeggen ja ![]() | ||||||
h.henkie | donderdag 6 september 2007 @ 16:10 | |||||
quote:Ja dat was een in koppertje ![]() ![]() | ||||||
colourAgga | donderdag 6 september 2007 @ 16:59 | |||||
quote:Ook al aande lange kant, bij mij gaan servers als ze niet binnen 500 ms (0.5 seconde) niet reageren al in het 'slow reply' bakje en als ze er langer dan 1000 ms (1 seconde) over doen is het over en sluiten ![]() Hangt er natuurlijk vanaf vanaf waar je de servers controleert ![]() | ||||||
markiemark | donderdag 6 september 2007 @ 20:28 | |||||
ik heb in php een timestamp gemaakt. kijk:
welk datatype moet ik gebruiken in mysql om dit op te slaan? | ||||||
Farenji | donderdag 6 september 2007 @ 21:14 | |||||
quote:Timestamp lijkt me op zich geen geheel onlogische keuze. ![]() | ||||||
wonderer | donderdag 6 september 2007 @ 21:17 | |||||
quote:Maar die slaat de datum in xxxx-xx-xx formaat op. Dan heb je toch niks meer aan de timestamp? | ||||||
colourAgga | donderdag 6 september 2007 @ 21:24 | |||||
quote:int(11) | ||||||
super-muffin | donderdag 6 september 2007 @ 21:27 | |||||
quote:dat is datetime geloof ik. | ||||||
wonderer | donderdag 6 september 2007 @ 21:28 | |||||
quote:Timestamp ook. Die fout maakte ik namelijk zelf ook ![]() | ||||||
Farenji | donderdag 6 september 2007 @ 21:35 | |||||
quote:Intern wordt ie als timestamp opgeslagen, itt tot een datetime. Een timestamp wordt als een datum weergegeven maar je kan er gewoon mee rekenen zoals je met timestamps kan. | ||||||
markiemark | vrijdag 7 september 2007 @ 13:54 | |||||
int kan natuurlijk ook geen kwaad... toch? | ||||||
colourAgga | vrijdag 7 september 2007 @ 14:42 | |||||
Je kan inderdaad zoals ik eerder al zei net zo goed (of beter) een int(11) gebruiken. Daar sla je dan je time() in op. Dat is handiger dan DATE, DATETIME en TIMESTAMP aangezien je meer met de tijden kan doen. TIMESTAMP kun je beter niet gebruiken omdat de resultaten nogal verschillen tussen verschillende MySQL versies en de modi waarin een MySQL server draait ![]() | ||||||
PiRANiA | zaterdag 8 september 2007 @ 09:37 | |||||
quote:of je zet een now() in je datetime en haat het terug met strtotime | ||||||
colourAgga | zaterdag 8 september 2007 @ 12:50 | |||||
quote:Of je doet gewoon opslaan als integer en dan ben je die extra handelingen kwijt ![]() | ||||||
Scriptha | zaterdag 8 september 2007 @ 14:44 | |||||
Ik wil met php een schema maken, om bijv. een tagcloud uit te tekenen. Niet het schema zelf als plaatje, maar een file waarin je dan de coordinaten opgeeft van 1 object, en waarin je de lijnen opgeeft, en dan een ander programma waarmee je het eigenlijke plaatje genereert. Beetje als Jera's grafiek-ding (gok ik) maar dan anders ![]() Is hier iets handigs voor? | ||||||
WyriHaximus | zaterdag 8 september 2007 @ 15:11 | |||||
Ow voor de gene die het leuk vinden om met AJAX te kloten is dit wel een leuke om in AJAX uit te bouwen ![]() ![]() | ||||||
The_Terminator | zaterdag 8 september 2007 @ 23:34 | |||||
Weet iemand toevallig hoe ik de topics hier op Fok uit een bepaald sub-forum kan rippen? Dus topic naam en ID in een array. Ik ben al met preg_match_all aan het vogelen geweest maar weet niet welke pattern ik moet gebruiken om de topics te rippen. Het ophalen van de data gaat dmv het donwloaden van de index van een forum naar een txt bestand, vervolgens lees ik dit betand en plaats het in een string. De string bevat dus de gehele HTML waar de pagina uit bestaat. Wat ik wil rippen is het volgende:
En bovenstaande dus voor alle topics in het KLB subforum onderverdeeld in een array. | ||||||
WyriHaximus | zaterdag 8 september 2007 @ 23:51 | |||||
quote:
Enjoy ![]() ![]() | ||||||
The_Terminator | zaterdag 8 september 2007 @ 23:56 | |||||
quote:Werkt perfect, thanks ![]() | ||||||
WyriHaximus | zondag 9 september 2007 @ 00:09 | |||||
quote:No problemo ![]() | ||||||
SuperRembo | zondag 9 september 2007 @ 00:17 | |||||
quote:Niet perfect, want hij split bijvoorbeeld ook op komma's die in strings (de topic titel) voorkomen ![]() | ||||||
The_Terminator | zondag 9 september 2007 @ 00:19 | |||||
quote:Mwoh, dat kan ik wel aanpassen. De basis is er in iedergeval ![]() | ||||||
#ANONIEM | zondag 9 september 2007 @ 00:55 | |||||
Ai, ik heb dat ook eens gedaan. Het was een enorm gepuzzel om de juiste reguliere expressie te vinden, maar uiteindelijk toch gelukt:
Als je het 'topic(' aan het begin, en ');' aan het einde, al eraf hebt gehakt, en je dus zoiets overhoudt: 1,10,4372847328,8239,'Igen',32198,'Slecht \'topic\', enzo',0 dan kun je deze functie gebruiken om de eerste $max velden op te vragen. Werkt perfect voor Fok!Silver, voor de topic-list en voor de topics zelf. ![]() [ Bericht 5% gewijzigd door #ANONIEM op 09-09-2007 01:03:40 (backslashes == ellende) ] | ||||||
WyriHaximus | zondag 9 september 2007 @ 10:25 | |||||
quote:Daar zeg je idd wat ![]() ![]() | ||||||
SuperRembo | zondag 9 september 2007 @ 11:05 | |||||
quote:Je zou ook de php eval() kunnen gebruiken, dat scheelt een boel gekloot met regexps. | ||||||
WyriHaximus | zondag 9 september 2007 @ 11:11 | |||||
quote:(Wow iemand die eval() suggereerd ![]() ![]() ![]() | ||||||
SuperRembo | zondag 9 september 2007 @ 11:29 | |||||
quote:Ik denk dat preg_match_all met #\d+|'(\'|[^'])*?'# genoeg moet zijn voor een lijst van getallen en strings. (niet getest) [edit]gestest en werkt niet goed ![]() [ Bericht 4% gewijzigd door SuperRembo op 09-09-2007 11:37:53 ] | ||||||
#ANONIEM | zondag 9 september 2007 @ 11:32 | |||||
Gaat dat niet fout als \\' in een string voorkomt? Ik heb heus wel nagedacht over mijn regexp hoor! ![]() [ Bericht 59% gewijzigd door #ANONIEM op 09-09-2007 11:34:16 ] | ||||||
SuperRembo | zondag 9 september 2007 @ 11:47 | |||||
quote:Er zitten wel wat rare dingen in je regexp. [\s\S] (whitespace of non-whitespace) dat is toch gewoon elk willekeurig teken? [^',][^,']* is hetzelfde als [^',]+. Je regexp zou beter leesbaar zijn als je voor de regexp zelf dubbele quotes zou gebruiken, dan hoef je de enkele quotes in de regexp niet te escapen. | ||||||
#ANONIEM | zondag 9 september 2007 @ 11:58 | |||||
Klopt allemaal als een bus. Ik wist dat hij niet de schoonheidsprijs verdient. Het was de eerste keer dat ik een reguliere expressie moest gebruiken. Bedankt voor je uitleg wat beter kan! ![]() [ Bericht 2% gewijzigd door #ANONIEM op 09-09-2007 11:59:16 ] | ||||||
The_Terminator | zondag 9 september 2007 @ 13:09 | |||||
quote:Ik had het al op een andere manier opgelost:
Dit levert de output die ik nodig heb. | ||||||
#ANONIEM | zondag 9 september 2007 @ 13:28 | |||||
Niet helemaal correct. Als een TopicTitel een , op het einde heeft dan wordt die ook afgehakt. | ||||||
JeRa | zondag 9 september 2007 @ 13:29 | |||||
Ik snap niet zo waar het probleem in zit bij het matchen van die topics. Voor zover ik zie is er maar één string in elke regel die mogelijk een apostrofe kan bevatten, dus als je een regular expression schrijft die netjes de hele regel matcht (van begin tot eind!) moet je toch wel iets bizars verzinnen wil dat fout gaan ![]() | ||||||
#ANONIEM | zondag 9 september 2007 @ 13:47 | |||||
Mijn programma heeft al meer dan 550.000 topics probleemloos verwerkt, dus mijn code werkt prima. ![]() Voor het verwerken van de posts in een topic werkt het niet zo fijn. Als de berichttekst heel erg lang is, bijvoorbeeld als iemand een hele mooie OP heeft gemaakt, dan verslikt preg_match zich en crasht PHP. ![]() Vandaar ook de $max parameter. | ||||||
JeRa | zondag 9 september 2007 @ 14:03 | |||||
Die van mij meer dan een miljoen topics en 50 miljoen posts, dus ik weet echt wel waar ik het over heb hoor. Punt is dat het niet gaat om wie de langste heeft, maar over hoe je over een probleem denkt ![]() ![]() | ||||||
#ANONIEM | zondag 9 september 2007 @ 14:20 | |||||
Ik geloof heel graag dat jij weet waar je het over hebt. ![]() Om het bestand in regels op te delen kun je toch ook gewoon file() gebruiken, in plaats van file_get_contents() ? Maar dan moet je nog steeds iets met elke regel doen, en daarvoor moet je die toch echt bij de juiste komma's in stukken hakken. Of begrijp ik je nu helemaal verkeerd? | ||||||
JeRa | zondag 9 september 2007 @ 14:26 | |||||
quote:Nee, ik bedoel te zeggen dat je met een regular expression helemáál niet moeilijk hoeft te doen om een topicregel te matchen, omdat er maar één waarde in topic() een apostrofe kan bevatten. Je matcht dan het stuk waar de regels in voorkomen met preg_match_all() met een regex als deze: ^topic\((\d+),(\d+),.......,(\d+),'(.*)',(\d+),....\);$ Et voila, je krijgt een associatieve array met daarin alle topics en hun eigenschappen. ![]() | ||||||
#ANONIEM | zondag 9 september 2007 @ 14:52 | |||||
Ach so. Da's inderdaad heel lekker simpel. ![]() Om posts in een topic te verwerken is het alleen niet geschikt, want de signature kan ook een apostrof bevatten. Maar goed, zolang preg_match soms crasht bij hele lange strings, werkt mijn methode net zo slecht, en als het toch alleen om topic-lists gaat is een simpele methode natuurlijk altijd beter. ![]() [ Bericht 11% gewijzigd door #ANONIEM op 09-09-2007 14:53:10 ] | ||||||
PiRANiA | zondag 9 september 2007 @ 19:24 | |||||
JeRa, dat heb je waarschijnlijk op een server draaien. Hoe pak je dat aan? Heb je het op een lokale server? En hoe zorg je dat het script blijft draaien en niet aangeroepen hoeft te worden door een browser? | ||||||
JeRa | zondag 9 september 2007 @ 19:28 | |||||
quote:Een dedicated databaseserver en een parttime crawler die afhankelijk van de situatie bij mij thuis of in Amsterdam op het datacentrum draait ![]() quote:Met een crontab. | ||||||
Xcalibur | zondag 9 september 2007 @ 19:31 | |||||
Wat doen jullie verder met die scripts btw? ![]() | ||||||
#ANONIEM | zondag 9 september 2007 @ 19:32 | |||||
Je kunt PHP gewoon van de commandoregel starten. Windows: C:> php mijnscript.php UNIX: $ php mijnscript.php Onder UNIX heb je het programma 'cron'. Daarmee kun je het script dan op gestelde tijden laten uitvoeren. De uitvoer wordt dan per e-mail opgestuurd. | ||||||
JeRa | zondag 9 september 2007 @ 19:34 | |||||
quote:Ik heb een jaar of wat geleden een framework geschreven om heel FOK! te indexeren, in eerste instantie voor een uitgebreide zoekmachine (die niet in gebruik werd genomen vanwege de nieuwe zoeken.fok.nl van Roönaän) en vervolgens voor de statistieken en andere willekeurige dingen ![]() Echter vind ik wel dat het gebruik ontzettend ingeperkt dient te worden ten behoeve van de databaseload. Er zijn naast mij meer mensen bezig met het indexeren, en ik was ook niet de eerste. Ik doe er zelf al alles aan om de load zo veel mogelijk te verspreiden en te concentreren op de minst drukke momenten op het forum, maar het is eigenlijk onzinnig dat er 20 man alle subfora en topics binnen trekken. | ||||||
Xcalibur | zondag 9 september 2007 @ 19:41 | |||||
Ah ok ![]() Dat indexeren door x-aantal man is wel suf idd, kan FOK dat soort verkeer niet blocken dan? | ||||||
JeRa | zondag 9 september 2007 @ 19:44 | |||||
quote:Dat blocken is wat lastiger omdat mijn crawler zich bijvoorbeeld niet veel anders voordoet dan de gemiddelde niet-ingelogde bezoeker (ik stuur wat minder headers mee om zo het aantal packets mogelijk te verminderen). Ze zouden dan geen onderscheid moeten maken tussen een crawler en een bezoeker die als een gek topics aan het doorspitten is ![]() Maar wat dat betreft zou er gewoon een dedicated server bij FOK! zelf geregeld moeten kunnen worden voor alle statistieken en zoekfunctionaliteit, en iemand die zin heeft dat ding softwarematig te onderhouden. | ||||||
markiemark | maandag 10 september 2007 @ 12:01 | |||||
Over crons.. Kan ik die dmv een php script aanmaken? En kan ik deze ook zo instellen dat ze eenmalig draaien? | ||||||
JortK | maandag 10 september 2007 @ 12:03 | |||||
quote:Volgens mij zitten die tools meestal gewoon bij je hosting pakket ![]() | ||||||
PiRANiA | maandag 10 september 2007 @ 12:49 | |||||
over dat blocken, je zou natuurlijk maximaal 100 paginaopvragingen per minuut in kunnen stellen oid... | ||||||
#ANONIEM | maandag 10 september 2007 @ 13:06 | |||||
Wordt lastig. Anonieme gebruikers zijn alleen te traceren met hun IP-adres, dus dan moet je voor elk IP-adres gaan bijhouden wanneer hoeveel pagina's zijn opgevraagd, en daarmee belast je de database ook weer. Bovendien heb je nog het probleem dat mensen die dezelfde proxy-server gebruiken allemaal hetzelfde IP-adres lijken te hebben, dacht ik. En sowieso, 100 aanvragen per minuut!? ![]() Daar kom ik niet eens in de buurt. Je zou 10 aanvragen per minuut kunnen zeggen. Maar dan krijg je weer dat mensen onterecht geblokkeerd worden omdat ze achter een proxy-server zitten, of omdat ze in Firefox ineens al hun actieve topics in een nieuwe tab openen. [ Bericht 13% gewijzigd door #ANONIEM op 10-09-2007 13:08:02 ] | ||||||
WyriHaximus | maandag 10 september 2007 @ 13:18 | |||||
quote:Zelf zie ik geen probleem in een proxy blokkeren. Als die misbruikt word ga ik mijn site daar niet voor openstellen. Mochten users die ook achter die proxy daar problemen mee hebben dan gaan ze maar bij de eigenaar van die proxy klagen . Het handje vol bezoekers wat ik daar mee uitsluit neem ik wel voor lief ![]() | ||||||
#ANONIEM | maandag 10 september 2007 @ 13:33 | |||||
Nee, het gaat niet om het misbruiken van een proxy, maar om het gebruiken van een proxy. Als toevallig 10 mensen achter dezelfde proxy binnen dezelfde minuut een pagina op FOK! opvragen, wat me niet zo heel uitzonderlijk lijkt, moet dan die proxy worden geblokkeerd? Geeneen van die mensen heeft toch iets misdaan? Bovendien doet zo'n indexeer-programma in principe minder dan 1000 aanvragen per dag, dat is één pagina per 1,5 minuut. [ Bericht 12% gewijzigd door #ANONIEM op 10-09-2007 13:40:37 ] |