1 2 3 4 5 6 | 1=tassen 2=business 4=travel 8=kids 16=accessoires 32=overige |
1 2 3 4 | 3 = tassen + business 48= accessoires + overige 33= tassen + overige 28= travel + kids + accessoires |
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 | 1=tassen 2=business 3=tassen + business 4=travel 5=tassen+travel 6=business+travel 7=tassen +business+travel 8=kids 9=tassen+kids 10=business+kids 11=tassen+business+kids 12=travel+kids 13=tassen+travel+kids 14=business+travel+kids 15=tassen+business+travel+kids 16=accessoires 17=tassen+accessoires 18=bussines+accessoires 19=tassen+business+accessoires 20=travel+accessoires 21=tassen+travel+accessoires 22=business+travel+accessoires 23=tassen+business+travel+accessoires 24=kids+accessoires 25=tassen+kids+accessoires 26=business+kids+accessoires 27=tassen+business+kids+accessoires 28=travel+kids+accessoires 29=tassen+travel+kids+accessoires 30=business+travel+kids+accessoires 31= tassen+business+travel+kids+accessoires 32=overige 33=tassen+overige 34=business+overige 35=tassen+business+overige 36=travel+overige 37=tassen+travel+overige 38=business+travel+overige 39=tassen+business+travel+overige 40=kids+overige 41=tassen+kids+overige 42=business+kids+overige 43=tassen+business+kids+overige 44=travel+kids+overige 45=tassen+travel+kids+overige 46=business+travel+kids+overige 47=tassen+business+travel+kids+overige 48=accessoires+overige 49=tassen+accessoires+overige 50=business+accessoires+overige 51=tassen+business+accessoires+overige 52=travel+accessoires+overige 53=tassen+travel+accessoires+overige 54=business+travel+accessoires+overige 55=tassen+business+travel+accessoires+overige 56=kids+accessoires+overige 57=tassen+kids+accessoires+overige 58=business+kids+accessoires+overige 59=tassen+business+kids+accessoires+overige 60=travel+kids+accessoires+overige 61=tassen+travel+kids+accessoires+overige 62=business+travel+kids+accessoires+overige 63=tassen+business+travel+kids+accessoires+overige |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | <?php switch($page){ case "tassen": $category="1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47,49,51,53,55,57,59,61,63"; break; case "business": $category="2,3,6,7,10,11,14,15,18,19,22,23,26,27,30,31,34,35,38,39,42,43,46,47,50,51,54,55,58,59,62,63"; break; case "travel": $category="4,5,6,7,12,13,14,15,20,21,22,23,28,29,30,31,36,37,38,39,44,45,46,47,52,53,54,55,60,61,62,63"; break; case "kids": $category="8,9,10,11,12,13,14,15,24,25,26,27,28,29,30,31,40,41,42,43,44,45,46,47,56,57,58,59,60,61,62,63"; break; case "accessoires": $category="16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63"; break; case "overige": $category="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"; break; } ?> |
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 | <?php switch ($row['category']){ case "1": $array=array(1); break; case"2": $array=array(2); break; case"3": $array=array(1,2); break; case"4": $array=array(4); break; case"5": $array=array(2,3); break; case"6": $array=array(2,4); break; case"7": $array=array(1,2,4); break; case"8": $array=array(8); break; } ?> |
Mjah nonsens, je kan overal wel een koppeltabel voor aan gaan maken. dit werkt net zo effectief.quote:
Ja, het werkt inderdaad perfect, een beetje rekensommen gaan bijhouden in PHP om je koppelingen die je op een dramatische manier je database infietst bij te houden, om nog maar te zwijgen van de persoon na jou die die meuk van je mag gaan onderhouden en een groot WTF moment gaat krijgen bij het zien van deze handel.quote:Op donderdag 9 februari 2012 21:23 schreef Swetsenegger het volgende:
[..]
Mjah nonsens, je kan overal wel een koppeltabel voor aan gaan maken. dit werkt net zo effectief.
Dit is anders een beproefde methode die ook regelmatig gebruikt wordt om rollen en rechten bij te houden. Er worden helemaal geen 'rekensommen' bijgehouden.quote:Op donderdag 9 februari 2012 21:25 schreef Scorpie het volgende:
[..]
Ja, het werkt inderdaad perfect, een beetje rekensommen gaan bijhouden in PHP om je koppelingen die je op een dramatische manier je database infietst bij te houden, om nog maar te zwijgen van de persoon na jou die die meuk van je mag gaan onderhouden en een groot WTF moment gaat krijgen bij het zien van deze handel.
En daarom werkt het in jouw geval dus niet.quote:Op donderdag 9 februari 2012 21:26 schreef Swetsenegger het volgende:
[..]
Dit is anders een beproefde methode die ook regelmatig gebruikt wordt om rollen en rechten bij te houden. Er worden helemaal geen 'rekensommen' bijgehouden.
Het werkt prima, ik kan er ook even met een loopje doorheen. Daar ging mijn vraag overquote:Op donderdag 9 februari 2012 21:28 schreef Scorpie het volgende:
[..]
En daarom werkt het in jouw geval dus niet.
Wiel uitvinden? Dit wordt al jaren zo gebruikt man.quote:Op donderdag 9 februari 2012 21:29 schreef Devv het volgende:
Gebruik toch gewoon koppeltabellen. Je gaat toch het wiel niet opnieuw uitvinden?
Maar jij gaat code schrijven om relaties te leggen tussen gegevens die je later sowieso in een relationele database gaat opslaanquote:Op donderdag 9 februari 2012 21:30 schreef Swetsenegger het volgende:
[..]
Het werkt prima, ik kan er ook even met een loopje doorheen. Daar ging mijn vraag over
[..]
Wiel uitvinden? Dit wordt al jaren zo gebruikt man.
Dit dus. Het is een leuke oefening, maar ik zou het persoonlijk niet in productiecode gebruiken. Ik krijg nu al hoofdpijn van het bovenstaande concept.quote:Op donderdag 9 februari 2012 21:32 schreef Scorpie het volgende:
Oke, wees lekker eigenwijs. I pity the fool die na jou de tyfuszooi mag opruimen en een extra categorie mag gaan toevoegen
dit. En als je echt eigenwijs bent, kijk je op http://www.php.net/manual/en/language.operators.bitwise.phpquote:
Als er een extra categorie toegevoegd moet worden moet de hele voorkant gewijzigd worden....quote:Op donderdag 9 februari 2012 21:32 schreef Scorpie het volgende:
Oke, wees lekker eigenwijs. I pity the fool die na jou de tyfuszooi mag opruimen en een extra categorie mag gaan toevoegen
En dat is relevant omdat? Wilde je gewoon uit rancune het principe 'dynamisch' niet toepassen, of vond je het gewoon teveel moeite?quote:Op donderdag 9 februari 2012 21:35 schreef Swetsenegger het volgende:
[..]
Als er een extra categorie toegevoegd moet worden moet de hele voorkant gewijzigd worden....
Wat is het nut van eenvoudig een extra categorie toe te kunnen voegen als vervolgens de hele voorkant EN achterkant op de schop kan?quote:Op donderdag 9 februari 2012 21:36 schreef Scorpie het volgende:
[..]
En dat is relevant omdat? Wilde je gewoon uit rancune het principe 'dynamisch' niet toepassen, of vond je het gewoon teveel moeite?
Dan kan je je beter afvragen waarom je de voorkant en achterkant op de schop moet gooien bij zoiets simpels als een extra categorie, iets dat je natuurlijk op je vingers kan natellen dat er in de toekomst zoiets gaat gebeuren. Waarom is er geen rekening mee gehouden in het initiele ontwerp en ontwikkelfase?quote:Op donderdag 9 februari 2012 21:37 schreef Swetsenegger het volgende:
[..]
Wat is het nut van eenvoudig een extra categorie toe te kunnen voegen als vervolgens de hele voorkant EN achterkant op de schop kan?
Omdat de klant 6 hoofdcategorieen verkoopt. Al 50 jaar. En er geen categorie bijkomt.quote:Op donderdag 9 februari 2012 21:40 schreef Scorpie het volgende:
[..]
Dan kan je je beter afvragen waarom je de voorkant en achterkant op de schop moet gooien bij zoiets simpels als een extra categorie, iets dat je natuurlijk op je vingers kan natellen dat er in de toekomst zoiets gaat gebeuren. Waarom is er geen rekening mee gehouden in het initiele ontwerp en ontwikkelfase?
Maar goed, ik ben toch maar een betweter die zijn e-piemel wil tonen ofzo.
Jij bent als het goed is de professional die ondanks het verhaal van de klant rekening houdt met een dynamische omgeving en een applicatie zo opzet dat het niet alleen nu goed werkt, maar ook in de toekomst is voorbereid op wijzigingen, uitbreidingen en verandering in vraag en gebruik van diezelfde applicatie. Daar wordt je voor betaald imo.quote:Op donderdag 9 februari 2012 21:44 schreef Swetsenegger het volgende:
[..]
Omdat de klant 6 hoofdcategorieen verkoopt. Al 50 jaar. En er geen categorie bijkomt.
Ik heb het de klant meerdere malen uitgelegd. De klant wil het zo. Wie ben ik om vol te houden dat ze na 50 jaar toch ECHT binnen nu en 2 jaar de boel volledig anders gaan doen.
Hij is helemaal niet lastigerquote:Op donderdag 9 februari 2012 21:46 schreef KomtTijd... het volgende:
De vraag is: Waarom wil je een niet-flexibele oplossing toepassen terwijl die (blijkbaar) lastiger is dan de algemeen gebruikte flexibele oplossing? Wat is in hemelsnaam het nadeel?
"Ja ik kan in de database binnen 2 tellen een categorie toevoegen. Vervolgens hebben we een week werk om de volledige navigatie en vormgeving te wijzigen"quote:Op donderdag 9 februari 2012 21:46 schreef Scorpie het volgende:
[..]
Jij bent als het goed is de professional die ondanks het verhaal van de klant rekening houdt met een dynamische omgeving en een applicatie zo opzet dat het niet alleen nu goed werkt, maar ook in de toekomst is voorbereid op wijzigingen, uitbreidingen en verandering in vraag en gebruik van diezelfde applicatie. Daar wordt je voor betaald imo.
'Zucht'quote:Op donderdag 9 februari 2012 21:53 schreef themole het volgende:
Gast als een extra categorie je in de front end een week werk kost heb je een heel fout design gemaakt.
Ja die optie was al door glowmouse geopperd en zou ook prima werken.quote:Op donderdag 9 februari 2012 23:05 schreef ralfie het volgende:
Tering, niemand hier van binary operators gehoord?
stel, getal = 7
checkbox1.checked = getal & 2^1 //geeft getal >0, dus waar
checkbox2.checked = getal & 2^2 //geeft getal >0, dus waar
checkbox3.checked = getal & 2^3 //geeft getal >0, dus waar
checkboxX.checked = getal & (2^X) //geeft getal 0, dus onwaar
etc
en nog wat, ^ is de bitwise xor, je zoekt pow(2,x)quote:Op donderdag 9 februari 2012 23:11 schreef ralfie het volgende:
[..]
Na 22:00 kun je geen werkende code meer van mij verwachten
Graag gedaan.quote:Op donderdag 9 februari 2012 23:04 schreef Swetsenegger het volgende:
Speciaal voor jullie alles omgebouwd naar een koppeltabel.
Geef nou maar gewoon toe dat het op die manier een heel stuk makkelijker was om je eigen vraag te beantwoorden, gekkie dat je er bent.quote:Op vrijdag 10 februari 2012 08:22 schreef Swetsenegger het volgende:
De enige reden waarom ik het gedaan heb is om tot in lengte van dagen hier het gezeik te voorkomen "misschien moet je een koppeltabel proberen" als ik ooit een vraag stel...
Eh nee hoor, dat was al klaarquote:Op vrijdag 10 februari 2012 08:54 schreef Scorpie het volgende:
[..]
Geef nou maar gewoon toe dat het op die manier een heel stuk makkelijker was om je eigen vraag te beantwoorden, gekkie dat je er bent.
Ik weet nou niet of ik moetquote:Op vrijdag 10 februari 2012 08:58 schreef Swetsenegger het volgende:
[..]
Eh nee hoor, dat was al klaar
Daarna heb ik het in een half uur tijd naar een koppeltabel omgebouwd.
htmlentitiesquote:Op vrijdag 10 februari 2012 09:32 schreef Cue_ het volgende:
Ik zit een beetje te googlen naar hoe je het beste van die speciale tekens kan behandelen bij het schrijven naar/ophalen uit de database. Maar er zijn diverse methoden wat ik zie en daarbij zijn ze vaak enkel voro een bepaalde teken (in veel gevallen enkel voor hoe om te gaan met quotes). Maar ik moet voor elke speciale karakter,dus zowel alle ' " als éûèïë etc etc.
Tips?
Als ik die hmtlentities doe, krijg ik nu heel leuk dat mijn waarde die hij naar de db schrijft bv trailernr='&IQUEST;&EGRAVE;&EUML;&UCIRC;X&ACIRC;&CCEDIL;'AS', wordt.quote:Op vrijdag 10 februari 2012 09:42 schreef Swetsenegger het volgende:
htmlentities
En kijk ook naar mysql_real_escape_string
Dan begrijp ik blijkbaar niet wat je wilquote:Op vrijdag 10 februari 2012 10:04 schreef Cue_ het volgende:
[..]
Als ik die hmtlentities doe, krijg ik nu heel leuk dat mijn waarde die hij naar de db schrijft bv trailernr='&IQUEST;&EGRAVE;&EUML;&UCIRC;X&ACIRC;&CCEDIL;'AS', wordt.
Dit is alleen niet wenselijk om als waarde in m'n database te hebben.
Dan moet je db wel in utf-8 staan neem ik aan en niet in latin oid?quote:Op vrijdag 10 februari 2012 10:17 schreef GI het volgende:
utf8_encode en utf8_decode lijken me hierbij een betere oplossing.
Die kolom moet wel als character set UTF8 hebben. En je moet volgens mij ook in de DB connection met "SET character_set_client = utf8" aangeven dat je UTF8 wil praten. Even ervanuitgaande dat het over MySQL gaat.quote:Op vrijdag 10 februari 2012 10:19 schreef Swetsenegger het volgende:
Dan moet je db wel in utf-8 staan neem ik aan en niet in latin oid?
Wat je erin stopt, komt er altijd hetzelfde uit. Het voordeel van als je het goed doet, is dat stringfuncties in de database ook goed werken.quote:Op vrijdag 10 februari 2012 10:24 schreef GI het volgende:
Is dat zo ?
Ik heb een tabel
) ENGINE=InnoDB DEFAULT CHARSET=latin1
en daar prop ik gewoon utf8coderingen in en die komen er ook gewoon weer goed uit ?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | [mysqld] port = 3306 socket = /tmp/mysql.sock skip-locking key_buffer_size = 1024M max_allowed_packet = 1M table_open_cache = 512 sort_buffer_size = 4M read_buffer_size = 4M read_rnd_buffer_size = 32M myisam_sort_buffer_size = 128M thread_cache_size = 4 query_cache_size= 16M thread_concurrency = 2 |
De master voert dingen uit in meerdere threads, de slave moet dit doen in 1 thread(de replication thread). De slave moet dus eigenlijk beter of gelijk aan de master zijn qua hardware als je een redelijk beladen database hebt...quote:Op dinsdag 14 februari 2012 07:11 schreef Keiichi het volgende:
Ik heb met mysql een master-slave replicatie. De master is een aardige bag (Quadcore xeon, hardware raid). De slave is van iets mindere snelheid (Atom, software raid).
In een uurtje heb ik op de master een tabel gevuld met een aantal indexen van een kleine 1.5 miljoen records. Maar sindsdien ligt m'n slave al ver achter. De oorzaak die ik lijk te zien is dat de slave het qua hardeschijf IO gewoon niet bij kan benen (CPU user: 3%, sys: 3%, wait: 100%)
Hoe kan ik deze server zo goed mogelijk tunen dat snelheid van de schijven zo weinig mogelijk impact hebt? Ik heb geprobeerd zoveel mogelijk geheugen mee te geven in de config, maar het baatte niet:
[ code verwijderd ]
-edit-
Het tijdelijk verwijderen van keys op de slave zie ik niet geheel zitten.
wat wil je precies doen?quote:Op dinsdag 14 februari 2012 10:28 schreef Crutch het volgende:
Kan iemand me op een duidelijke uitleg / tutorial / naslagwerk over koppeltabellen wijzen?
Ik kom alleen maar vraagstukken tegen.
quote:Op dinsdag 14 februari 2012 10:30 schreef Scorpie het volgende:
Hoe bedoel je? Het principe van een koppeltabel is vrij makkelijk toch?
quote:
Ik wil dieper dan twee lagen met categorieën.quote:
zoek op 'nested set model'quote:Op dinsdag 14 februari 2012 10:40 schreef Crutch het volgende:
[..]
[..]
[..]
Ik wil dieper dan twee lagen met categorieën.
Ah, dank je GM. Dat is wat ik zocht.
Ok, mooi. Nou ben ik niet degene die de hosting uitkiest, dus ik hoop dat ze dat kiezen, dat is wel zo makkelijk.quote:Op dinsdag 14 februari 2012 16:34 schreef stefan1218 het volgende:
als je hosting met een email pakket neemt gaat het zeker werken.
Oh, thanksquote:Op dinsdag 14 februari 2012 16:47 schreef GlowMouse het volgende:
Vanaf elke hosting kun je e-mailen. Je kunt in PHP ook een smtp-server instellen waar alle mail moet worden afgeleverd, stel daar de smtp-server van je ISP in, dan werkt het ook met je WAMP pakket.
Yup,quote:Op woensdag 15 februari 2012 22:14 schreef Light het volgende:
En is de tabel waar de constraint naar verwijst al wel ingelezen als je de foutmelding krijgt?
Talen zijn sowieso makkelijk te leren. Het is de denkwijze die lastig is om aan te leren op het gebied van programmeren. Welke taal je inzet hangt compleet af van wat je voor applicatie je wilt ontwikkelen, op welke platformen het moet kunnen draaien, etcetera. Je gaat ook geen hamer gebruiken om ergens een schroef in te draaien. PHP voor desktopapplicaties is in theorie mogelijk, maar hier is de hamer/schroef vergelijking zondermeer van toepassing.quote:Op donderdag 16 februari 2012 10:30 schreef Sitethief het volgende:
Als je alleen PHP kunt, en je wilt een standalone desktop applicatie schrijven, welke programmeertaal is dan het makkelijkst te leren? Of is het eventueel een optie om dan PHP te gebruiken?
Zoiets kun je natuurlijk prima als webapplicatie bouwen. Voordeel is dat je data dan centraal is opgeslagen en je het dus vanaf iedere werkplek of mobiel apparaat op kunt vragen. Het nadeel is dat je er een server voor nodig hebt en de keuze moet maken of je de data alleen binnen je eigen domein beschikbaar wilt hebben of dat het ook van buitenaf benaderbaar moet zijn.quote:Op donderdag 16 februari 2012 10:46 schreef Sitethief het volgende:
Ik wil een applicatie voor eigen gebruik tbv administratie en financiën bouwen. Maar natuurlijk eerst ff een taal onder de knie krijgen.
Een webapplicatie voor eigen gebruik? Nuttig!quote:Op donderdag 16 februari 2012 11:32 schreef The_Terminator het volgende:
[..]
Zoiets kun je natuurlijk prima als webapplicatie bouwen. Voordeel is dat je data dan centraal is opgeslagen en je het dus vanaf iedere werkplek of mobiel apparaat op kunt vragen. Het nadeel is dat je er een server voor nodig hebt en de keuze moet maken of je de data alleen binnen je eigen domein beschikbaar wilt hebben of dat het ook van buitenaf benaderbaar moet zijn.
Aangezien je al aangeeft dat het voor eigen gebruik is heb je in ieder geval geen hele zware server nodig.
Waarom zou het niet nuttig zijn? Je hebt dan al je data op een centrale plek waar je makkelijk backups van kunt maken. In het geval er iets met je client aan de hand is kun je direct verder werken op een andere machine zonder dat je data over moet zetten. Wijzigingen kun je eenvoudig doorvoeren zonder dat je steeds je code opnieuw moet compileren. Mocht je ooit uitbreiden en er gaan meer mensen mee werken dan ben je daar op voorbereid etc...quote:Op donderdag 16 februari 2012 12:43 schreef Intrepidity het volgende:
[..]
Een webapplicatie voor eigen gebruik? Nuttig!
Waarom niet?quote:Op donderdag 16 februari 2012 12:43 schreef Intrepidity het volgende:
[..]
Een webapplicatie voor eigen gebruik? Nuttig!
Als je daar sneller mee klaar bent, minder fouten maakt en dus ook niet moeilijk hoeft te doen met nieuwe dingen leren. Dan zou ik het eerder aanbevelen dan afraden...quote:Op donderdag 16 februari 2012 12:43 schreef Intrepidity het volgende:
[..]
Een webapplicatie voor eigen gebruik? Nuttig!
Zijn de foreign keys opeenvolgend? Dan kun je misschien in de tabel waarnaar verwezen wordt kijken of je daar ontbrekende records hebt. En anders kun je de fout proberen te vinden door de bestanden steeds in 2 helften op te delen. 10.000 records, dus 10.000 regels. Splitsen naar 2 bestanden van 5000 regels, vaststellen in welk bestand het fout gaat, en die splitsen in 2 bestanden van 2500 regels. Herhaal dat een keer of 10, en je hebt de regel gevonden die fout gaat. Of het gaat niet fout, maar dan heb je wel alles ingelezen.quote:Op donderdag 16 februari 2012 09:18 schreef Keiichi het volgende:
[..]
Yup,
Er zijn slechts 2 records die fout gaan die ik probeer te importeren (van de 1.6miljoen). Maar omdat ze in bestanden van 10.000 records staan is het moeilijk zoekenHet kan ook een fout in de CSV zijn, maar dan zou ik er ook nog mee uit de voeten kunnen als ik weet wat de waarde is waar ie op vastloopt.
Web applicaties > desktop applicaties. Zeker in een tijdperk waarin iedereen en overal toegang tot internet heeft.quote:Op donderdag 16 februari 2012 12:43 schreef Intrepidity het volgende:
[..]
Een webapplicatie voor eigen gebruik? Nuttig!
Python. Mits je niet over je nek gaat door de vele imports.quote:Op donderdag 16 februari 2012 10:30 schreef Sitethief het volgende:
Als je alleen PHP kunt, en je wilt een standalone desktop applicatie schrijven, welke programmeertaal is dan het makkelijkst te leren? Of is het eventueel een optie om dan PHP te gebruiken?
Ben je een beetje bekend met Python?quote:Op vrijdag 17 februari 2012 20:44 schreef Ofyles2 het volgende:
[..]
Python. Mits je niet over je nek gaat door de vele imports.
Edit: Ik ben bereid je een spoedcursus te geven, maar dan heb wat enige voorbereidingstijd nodig...
Niet alleen .py-bestanden, maar ook modules.quote:Op vrijdag 17 februari 2012 21:10 schreef Pizzalucht het volgende:
[..]
Ben je een beetje bekend met Python?
Ik ben een C# server aan het herschrijven in Python, is het erg als er vele imports zijn?
De server heeft veel verschillende packets en voor elk soort packet is er een andere .py, dus ook een import.
1 2 3 | <?php $datum = date('d-m-Y', strtotime($string)); ?> |
Ik weet het. Daarom wil ik dus het m-d-Y format naar d-m-Y veranderen.quote:Op zaterdag 18 februari 2012 17:31 schreef GlowMouse het volgende:
21 is geen geldige maand, zie http://nl2.php.net/strtotime
Explode op het streepje doen en dan de arrayelementen zelf in de goede volgorde voeren aan de functie.quote:Op zaterdag 18 februari 2012 17:33 schreef Dalando het volgende:
[..]
Ik weet het. Daarom wil ik dus het m-d-Y format naar d-m-Y veranderen.
Dat hoeft niet, zie die link van net.quote:Op zaterdag 18 februari 2012 17:33 schreef Dalando het volgende:
[..]
Ik weet het. Daarom wil ik dus het m-d-Y format naar d-m-Y veranderen.
Ik zat ook al te kloten met preg_match maar dit kan ook. Bedankt!quote:Op zaterdag 18 februari 2012 17:35 schreef The_Terminator het volgende:
[..]
Explode op het streepje doen en dan de arrayelementen zelf in de goede volgorde voeren aan de functie.
Van GM's link:quote:Op zaterdag 18 februari 2012 17:41 schreef Dalando het volgende:
[..]
Ik zat ook al te kloten met preg_match maar dit kan ook. Bedankt!
Het streepje vervangen door een: '/' zou dus ook genoeg moeten zijn om strtotime te laten werkenquote:Note:
Dates in the m/d/y or d-m-y formats are disambiguated by looking at the separator between the various components: if the separator is a slash (/), then the American m/d/y is assumed; whereas if the separator is a dash (-) or a dot (.), then the European d-m-y format is assumed.
To avoid potential ambiguity, it's best to use ISO 8601 (YYYY-MM-DD) dates or DateTime::createFromFormat() when possible.
Je kunt de NOW() functie daarvoor gebruiken. Dus zoiets: WHERE TIME(tijdstempel) > TIMEDIFF(TIME(NOW()), '00:10:00') AND DATE(tijdstempel) = CURDATE()quote:Op zondag 19 februari 2012 14:20 schreef Dalando het volgende:
Oke, volgende probleem.
Ik heb een DATETIME in de database staan, en ik wil alles selecteren wat minder dan 10 seconden geleden was.
Hoe doe ik deze?
Hoe zou jij het dan doen? Ik sla datum en tijd meestal in twee velden op en heb daardoor zelf niet veel ervaring met datetime velden.quote:Op zondag 19 februari 2012 16:14 schreef GlowMouse het volgende:
Dom om TIME(tijdstempel) en DATE(tijdstempel) te gebruiken, het is onnodig en je verliest de mogelijkheid om een index te gebruiken.
Ik heb het gedaan omdat de queries die ik erop uitvoer alleen op datum zijn en niet op tijd. Ik heb het voorheen wel op datumtijd gedaan maar toen werd de index erg groot en ging het ophalen van data een stuk trager dan wanneer ik het alleen op een datumveld uitvoerde.quote:Op zondag 19 februari 2012 16:27 schreef GlowMouse het volgende:
Apart opslaan heeft alleen voordelen als je wilt weten wat er op een bepaald tijdstip gebeurt, onafhankelijk van de dag.
Zonder meer, maar het was voor de vraag relevant om de gebruikte storage engine te kennen.quote:Op zondag 19 februari 2012 22:34 schreef Ofyles2 het volgende:
[..]
Met InnoDB kun je veel meer dan met MyISAM.
$_['blabla_tab_images'] = 'Foto\'s';quote:Op maandag 20 februari 2012 18:23 schreef Yuri_Boyka het volgende:
Stel ik heb dit:
$_['blabla_tab_images'] = 'Photos';
Hoe krijg ik dan Photos naar Foto's zonder dat de zin onderbroken wordt?
Bedoel je met onderbroken dat de enkele quote problemen geeft?quote:Op maandag 20 februari 2012 18:23 schreef Yuri_Boyka het volgende:
Stel ik heb dit:
$_['blabla_tab_images'] = 'Photos';
Hoe krijg ik dan Photos naar Foto's zonder dat de zin onderbroken wordt?
Ofquote:Op maandag 20 februari 2012 21:11 schreef The_Terminator het volgende:
[..]
Bedoel je met onderbroken dat de enkele quote problemen geeft?
Kun je zo oplossen:
$_['blabla_tab_images'] = "Foto's";
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 | <?php include "connect.php"; //verbinding maken $data = mysql_query("SELECT * FROM tbl_teksten") or die(mysql_error()); ?> <body> <div class="tabs"> <ul class="tabNavigation"> <?php while($info = mysql_fetch_array( $data )) { Print "<li><a href='#".$info['titel'] . "'>".$info['titel'] . "</a></li>"; } ?> </ul> <?php while($info = mysql_fetch_array( $data )) { Print "<div id='".$info['titel'] . "'>".$info['inhoud'] . "</a></div>"; } ?> </div> </body> |
Dat was hem, bedankt.quote:Op maandag 20 februari 2012 21:11 schreef Diabox het volgende:
[..]
$_['blabla_tab_images'] = 'Foto\'s';
of
$_['blabla_tab_images'] = "Foto's";
Je voert mysql_fetch_array 2x uit op dezelfde query, en wat mysql_fetch_array doet is steeds de internal data pointer incrementen in je eerste while he. Dus daarna resetten.quote:Op dinsdag 21 februari 2012 03:05 schreef boskameel het volgende:
Wil wat simpele tabjes maken dmv inhoud uit een db, waarom werkt die 2e stuk php niet?
[ code verwijderd ]
Hij voert alleen de eerste uit...
1 | mysql_data_seek($data, 0); |
quote:Op dinsdag 21 februari 2012 03:05 schreef boskameel het volgende:
Wil wat simpele tabjes maken dmv inhoud uit een db, waarom werkt die 2e stuk php niet?
[ code verwijderd ]
Hij voert alleen de eerste uit...
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 | <?php include "connect.php"; //verbinding maken $data = mysql_query("SELECT * FROM tbl_teksten") or die(mysql_error()); $ulString = ""; $divString = ""; while($info = mysql_fetch_array( $data )) { $ulString .= "<li><a href='#".$info['titel'] . "'>".$info['titel'] . "</a></li>"; $divString .= "<div id='".$info['titel'] . "'>".$info['inhoud'] . "</a></div>"; } ?> <body> <div class="tabs"> <ul class="tabNavigation"> <?php echo $ulString; ?> </ul> <?php echo $divString; ?> </div> </body> |
dankjequote:Op dinsdag 21 februari 2012 11:34 schreef Pakspul het volgende:
[..]
[ code verwijderd ]
Zo hoef je ook maar één keer door de lijst heen te gaan
Ik heb data van tankingen die ik wil vergelijken met de data van een factuur.quote:Op donderdag 23 februari 2012 08:54 schreef Scorpie het volgende:
Ik snap niet helemaal wat je nu precies wil. Wil je producten met elkaar vergelijken binnen een bepaalde range ofzo?
De twee tabelkolommen zijn erg verschillend van elkaar, dus denk niet dat dit gaat werken.quote:Op donderdag 23 februari 2012 09:03 schreef Sitethief het volgende:
http://www.php.net/manual/en/function.array-diff.php
Dit is wel gevaarlijk, want bedragen worden weggestreept als ze hetzelfde zijn, ook als het compleet iets anders was op de factuur.
Aha. Dan kan je inderdaad itereren over de 2 verschillende sets van data.quote:Op donderdag 23 februari 2012 09:00 schreef Cue_ het volgende:
[..]
Ik heb data van tankingen die ik wil vergelijken met de data van een factuur.
Welke precies overeenkomen of binnen een bepaalde marge vallen mogen automatisch afgestreept worden als 'goed'. Wat uiteindelijk overblijft moet handmatig worden gekoppeld aan elkaar.
Ik zou een derde array gebruiken die automatisch de verschillen berekent.quote:Op donderdag 23 februari 2012 09:00 schreef Cue_ het volgende:
[..]
Ik heb data van tankingen die ik wil vergelijken met de data van een factuur.
Welke precies overeenkomen of binnen een bepaalde marge vallen mogen automatisch afgestreept worden als 'goed'. Wat uiteindelijk overblijft moet handmatig worden gekoppeld aan elkaar.
Momenteel controle op datum/tijd/autonr/aantal liters. Later komt hier nog plaats bijquote:Op donderdag 23 februari 2012 09:09 schreef Sitethief het volgende:
Hoe weet je welk bedrag van de tanking bij welk bedrag van de factuur hoort?
Ik zou alvast beginnen aan een OOP-model, hoef je niet zo heel veel te herschrijven.quote:Op donderdag 23 februari 2012 09:11 schreef Cue_ het volgende:
[..]
Momenteel controle op datum/tijd/autonr/aantal liters. Later komt hier nog plaats bij
Momenteel hebben we geen bedragen bij de tankinggegevens, het is dan ook meer controle op de liters.
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 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 | <?php class Contactinfo extends WP_Widget { function Contactinfo() { global $themename; $widget_ops = array( 'classname' => 'widget_contactinfo', 'description' => __('Use this widget to add "Mailing Address"', 'Apogee')); $control_ops = array( 'width' => 300, 'height' => 350, 'id_base' => 'widget_contactinfo' ); $this->WP_Widget('widget_contactinfo',$themename.'-Contact Info', $widget_ops, $control_ops ); //parent::WP_Widget(false, $name=$themename.'-Contacat Info'); } /** * Displays category posts widget on blog. */ function widget($args, $instance) { extract( $args ); // If not title, use the name of the category. if( $instance["title"] ) { $title =$instance["title"]; } echo $before_widget; // Widget title echo $before_title; echo $title; echo $after_title; if( $instance["name"] ) { $name =$instance["name"]; echo "<span><strong>".$name."</strong></span>"; } if( $instance["address"] ) { $address =$instance["address"]; echo "<span id='address'>".$address."</span>"; } if( $instance["postcode"] ) { $postcode =$instance["postcode"]; echo "<span id='postcode'>".$postcode."</span>"; } if( $instance["woonplaats"] ) { $woonplaats =$instance["woonplaats"]; echo "<span id='woonplaats'>".$woonplaats."</span>"; } if( $instance["phoneno"] ) { $phoneno =$instance["phoneno"]; echo "<span id='phone'>".'<strong>Phone: </strong>'.$phoneno."</span>"; } if( $instance["fax"] ) { $fax =$instance["fax"]; echo "<span id='fax'>".'<strong>Fax: </strong>'.$fax."</span>"; } if( $instance["email"] ) { $email =$instance["email"]; echo "<span id='email'>".$email."</span>"; } echo $after_widget; } /** * Form processing... Dead simple. */ function update($new_instance, $old_instance) { $instance = $old_instance; $instance['title'] = strip_tags( $new_instance['title'] ); $instance['name'] = strip_tags( $new_instance['name'] ); $instance['address'] = strip_tags( $new_instance['address'] ); $instance['postcode'] = strip_tags( $new_instance['postcode'] ); $instance['woonplaats'] = strip_tags( $new_instance['woonplaats'] ); $instance['email'] = strip_tags( $new_instance['email'] ); $instance['phoneno'] = strip_tags( $new_instance['phoneno'] ); $instance['fax'] = strip_tags( $new_instance['fax'] ); return $instance; } /** * form. */ function form($instance) { $instance = wp_parse_args((array)$instance, array( 'title' => '', 'name' =>'', 'address' =>'', 'phoneno'=>'','fax'=>'', 'email' => '', 'postcode' => '', 'woonplaats' => '', )); ?> <p> <label for="<?php echo $this->get_field_id("title"); ?>"> <?php _e( 'Title', 'Apogee'); ?> : <input class="widefat" id="<?php echo $this->get_field_id("title"); ?>" name="<?php echo $this->get_field_name("title"); ?>" type="text" value="<?php if($instance["title"]) { echo esc_attr($instance["title"]); } ?>" /> </label> </p> <p> <label for="<?php echo $this->get_field_id("name"); ?>"> <?php _e( 'Name','Apogee'); ?> : <input class="widefat" id="<?php echo $this->get_field_id("name"); ?>" name="<?php echo $this->get_field_name("name"); ?>" type="text" value="<?php if($instance["name"]) { echo esc_attr($instance["name"]); } ?>" /> </label> </p> <p> <label for="<?php echo $this->get_field_id("address"); ?>"> <?php _e( 'Address','Apogee'); ?>: <br /> <textarea cols="35" rows="5" id="<?php echo $this->get_field_id("address"); ?>" name="<?php echo $this->get_field_name("address"); ?>"><?php echo esc_attr($instance["address"]); ?></textarea> </label> </p> <p> <label for="<?php echo $this->get_field_id("postcode"); ?>"> <?php _e( 'Postcode','Apogee' ); ?> : <input class="widefat" id="<?php echo $this->get_field_id("postcode"); ?>" name="<?php echo $this->get_field_name("postcode"); ?>" type="text" value="<?php echo esc_attr($instance["postcode"]); ?>" /> </label> </p> <p> <label for="<?php echo $this->get_field_id("woonplaats"); ?>"> <?php _e( 'Woonplaats','Apogee' ); ?> : <input class="widefat" id="<?php echo $this->get_field_id("woonplaats"); ?>" name="<?php echo $this->get_field_name("woonplaats"); ?>" type="text" value="<?php echo esc_attr($instance["woonplaats"]); ?>" /> </label> </p> <p> <label for="<?php echo $this->get_field_id("phoneno"); ?>"> <?php _e( 'Phone No','Apogee'); ?>: <input class="widefat" id="<?php echo $this->get_field_id("phoneno"); ?>" name="<?php echo $this->get_field_name("phoneno"); ?>" type="text" value="<?php echo esc_attr($instance["phoneno"]); ?>" /> </label> </p> <p> <label for="<?php echo $this->get_field_id("fax"); ?>"> <?php _e( 'Fax','Apogee'); ?> : <input class="widefat" id="<?php echo $this->get_field_id("fax"); ?>" name="<?php echo $this->get_field_name("fax"); ?>" type="text" value="<?php echo esc_attr($instance["fax"]); ?>" /> </label> </p> <p> <label for="<?php echo $this->get_field_id("email"); ?>"> <?php _e( 'Email','Apogee' ); ?> : <input class="widefat" id="<?php echo $this->get_field_id("email"); ?>" name="<?php echo $this->get_field_name("email"); ?>" type="text" value="<?php echo esc_attr($instance["email"]); ?>" /> </label> </p> <?php } } add_action( 'widgets_init', create_function('', 'return register_widget("Contactinfo");') ); ?> |
1 2 3 4 5 6 | .widget_contactinfo span#address, .widget_contactinfo span#phone, .widget_contactinfo span#fax, .widget_contactinfo span#email .widget_contactinfo span#postcode .widget_contactinfo span#woonplaats{ clear:both; padding:7px 0px; display:block; } |
1 2 3 4 5 6 7 8 9 10 11 12 13 | .widget_contactinfo span#woonplaats{ background-image: url(../images/leeg_icon.png); background-repeat: no-repeat; background-position: left 10px; padding-left:30px; } .widget_contactinfo span#postcode{ background-image: url(../images/leeg_icon.png); background-repeat: no-repeat; background-position: left 10px; padding-left:30px; } |
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 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 | <?php function port_portfolio ($atts, $content = null) { extract(shortcode_atts(array( 'id' => '2', 'images' =>'5', 'column' =>'4', 'sidebar' => '', ), $atts)); wp_enqueue_script("jquery_easing"); wp_enqueue_script('jquery_fancybox_pack'); wp_enqueue_style('css_fancybox'); ?> <script> jQuery(document).ready(function() { jQuery("a.example2").fancybox({ 'titleShow' : true, 'transitionIn' : 'elastic', 'transitionOut' : 'elastic', 'easingIn' : 'easeOutBack', 'easingOut' : 'easeInBack' }); }); </script> <?php if($column == '5') { $class="one_fifth"; } if($column == '4') {$class="one_fourth";} if($column == '3') { $class="one_third"; } if($column == '2') {$class="one_half"; } if($column == '1') { $class="fullwidth"; } if($sidebar=="on") { if($column == '5') { $width="107"; $height="80"; } if($column == '4') { $width="139"; $height="120"; } if($column == '3') { $width="193"; $height="150";} if($column == '2') { $width="301"; $height="250"; } if($column == '1') { $width="624"; $height="325"; } }else{ if($column == '5') { $width="162"; $height="200";} if($column == '4') { $width="212"; $height="153";} if($column == '3') { $width="295"; $height="256"; } if($column == '2') { $width="461"; $height="247"; } if($column == '1') { $width="959"; $height="325"; } } global $post, $wpdb; $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; query_posts(array('post_type' => 'kayaportfolio', 'posts_per_page' => $images, 'taxonomy' => 'portfolio_category', 'term' => $id, 'paged' => $paged)); $out='<div class="portfolio'.$column.' gallery">'; $i = 0; if(have_posts()) : while (have_posts()): the_post(); $readmore = get_option('readmore'); $readmore= $readmore ? $readmore: 'Read More'; $post_title = get_the_title($post->ID); $i++; $permalink = get_permalink($post->ID); if($column != "1") { $last = ($i == $column and $column != 1) ? 'last' : ''; $out.= '<div class="'.$class.' '.$last.'">'; $out.= '<div class="portfolio-padding">'; $video = get_post_meta( get_the_ID(), 'Video', true ); if($video) { if ( !empty( $video ) ) { $out.='<a href="'.$video.'" class="example2 lightbox iframe" title="Image Preview">'; $out.=kaya_imageresize(get_the_ID(),$width,$height,'img_radius','false'); $out.='</a>'; // $out.='<div class="post_nav_box">'; //$out.='<a href="'.$video.'" class="lightbox_video" rel="prettyPhoto[mixed]" title="Video Preview"> </a><a href="'.$permalink.'" class="post_link" title="Link To Post"> </a>'; // $out.='</div>'; } }else{ $thumb_id = get_post_thumbnail_id(); if ( !empty( $thumb_id ) ) { $imgurl=wp_get_attachment_url( get_post_thumbnail_id() ); $out.='<a href="'.$imgurl.'" class="example2 lightbox iframe" title="Image Preview">'; $out.=kaya_imageresize(get_the_ID(),$width,$height,'img_radius','false'); $out.='</a>'; // $out.='<div class="post_nav_box">'; // $out.='<a href="'.$imgurl.'" class="lightbox_image" rel="prettyPhoto[mixed]" title="Image Preview"></a><a href="'.$permalink.'" class="post_link" title="Link To Post"> </a>'; // $out.='</div>'; } } $out.='<div class="clear"> </div>'; $out.='<div class="item_content_holder">'; $out.='<h4><a href="'.$permalink.'">'.$post_title.'</a></h4>'; global $kaya_content; global $more; $more=0; $out.=content('10'); //$out.='<a class="readmore" href="'.$permalink.'">'.$readmore.'<span></span></a>'; // $out.='</div>'; //portfolio padding end $out.='</div>'; $out.='</div></div>'; if($last=="last"){ $out.='<div class="clear v-space"></div>'; } } if($column== "1") { $last = ($i == $column and $column != 1) ? 'last ' : ''; $out.= '<div class="portfolio-padding">'; $video = get_post_meta( get_the_ID(), 'Video', true ); if($video) { if ( !empty( $video ) ) { $out.='<a href="'.$video.'" class="example2 lightbox iframe" title="Image Preview">'; $out.=kaya_imageresize(get_the_ID(),$width,$height,'img_radius','false'); $out.='</a>'; //$out.='<div class="post_nav_box">'; //$out.='<a href="'.$video.'" class="lightbox_video" rel="prettyPhoto[mixed]" title="Video Preview"> </a><a href="'.$permalink.'" class="post_link" title="Link To Post"> </a>'; //$out.='</div>'; //$out.='<br>'; } }else{ $thumb_id = get_post_thumbnail_id(); if ( !empty( $thumb_id ) ) { $imgurl=wp_get_attachment_url( get_post_thumbnail_id() ); $out.='<a href="'.$imgurl.'" class="example2 lightbox iframe" title="Image Preview">'; $out.=kaya_imageresize(get_the_ID(),$width,$height,'','false'); $out.='</a>'; //$out.='<div class="post_nav_box">'; // $out.='<a href="'.$imgurl.'" class="lightbox_image" rel="prettyPhoto[mixed]" title="Image Preview"></a><a href="'.$permalink.'" class="post_link" title="Link To Post"> </a>'; //$out.='</div>'; } } $out.='<div class="item_content_holder">'; $out.='<h4><a href="'.$permalink.'">'.$post_title.'</a></h4>'; global $kaya_content; global $more; $more=0; $out.=content('20'); // $out.='</div>'; //portfolio padding end $out.='</div>'; $out.='</div>'; $out.='<div class="clear v-space2"> </div> '; } if($i == $column){ $i = 0; } endwhile; $out.='</div>'; else : $out.='<h2>'."Sorry but we could not find what you were looking for. But don't give up, keep at it!".'</h2>'; endif; $out.=kaya_pagination(); // $out.='</div>'; wp_reset_query(); return $out; } add_shortcode('portfolio','port_portfolio'); ?> |
In wat voor DB veld worden de gegevens opgeslagen? Als het bijvoorbeeld een varchar met een maximale lengte van 30 tekens is dan zit een deel van het probleem daar.quote:Op vrijdag 24 februari 2012 12:28 schreef Mirel het volgende:
Als ik die weghaal blijft de tekst staan.
Zoek in je DB de tekst die ingekort is eens op en kijk of het in de DB ook ingekort staat. Als het in de DB ingekort staat dan wordt het voordat het wordt opgeslagen al ingekort en moet je het probleem zoeken in de code die ervoor zorgt dat de gegevens naar de DB worden weggeschreven. Als het wel goed in de DB staat dan zit het probleem ergens in de code die de gegevens uit de DB haalt en verwerkt in de pagina.quote:Op vrijdag 24 februari 2012 12:39 schreef Mirel het volgende:
Ja idd, maar ik neem aan dat het ergens in de theme te vinden moet zijn. Het is een theme-eigen ding zover ik weet.
Zou je een voorbeeld hebben van het loopje?quote:Op zaterdag 25 februari 2012 16:07 schreef Tijn het volgende:
Recursief in een loopje door je string blijven zoeken en elke keer het resultaat van strpos gebruiken als 3e parameter voor de volgende keer (offset). Daardoor zoek je verder vanaf het laatst gevonden resultaat.
Van: http://php.net/manual/en/function.stripos.phpquote:Op zaterdag 25 februari 2012 16:12 schreef Faux. het volgende:
[..]
Zou je een voorbeeld hebben van het loopje?Ik ben heel slecht daarin
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 | <?php function multineedle_stripos($haystack, $needles, $offset=0) { foreach($needles as $needle) { $found[$needle] = stripos($haystack, $needle, $offset); } return $found; } // It works as such: $haystack = "The quick brown fox jumps over the lazy dog."; $needle = array("fox", "dog", ".", "duck") var_dump(multineedle_stripos($haystack, $needle)); /* Output: array(3) { ["fox"]=> int(16) ["dog"]=> int(40) ["."]=> int(43) ["duck"]=> bool(false) } */ ?> |
Niet helemaal wat ik bedoel, hier wordt er namelijk naar meerdere dingen gezocht in een string. Ik bedoel echter dat je naar één teken zoekt in de string die meerdere keren voorkomt. Toch bedankt voor het opzoekenquote:Op zaterdag 25 februari 2012 16:17 schreef The_Terminator het volgende:
[..]
Van: http://php.net/manual/en/function.stripos.php
[ code verwijderd ]
Zoiets denk ik:quote:Op zaterdag 25 februari 2012 16:12 schreef Faux. het volgende:
[..]
Zou je een voorbeeld hebben van het loopje?Ik ben heel slecht daarin
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | <?php // zoek recursief door een string function strpos_recursive($haystack, $needle, $offset = 0, &$results = array()) { $offset = strpos($haystack, $needle, $offset); if($offset === false) { return $results; } else { $results[] = $offset; return strpos_recursive($haystack, $needle, ($offset + 1), $results); } } $string = 'Ja hallo, dit is een string'; $search = 'a'; if($found = strpos_recursive($string, $search)) { foreach($found as $pos) { echo 'Found "'.$search.'" in string "'.$string.'" at position <b>'.$pos.'</b><br />'; } } else { echo '"'.$search.'" not found in "'.$string.'"'; } ?> |
Top, hartstikke bedankt!quote:
Het werkt inderdaad naar behoren. Bedankt!quote:Op zaterdag 25 februari 2012 16:41 schreef Tijn het volgende:
Volgens mij de eerste keer dat ik hier code post die een beetje fatsoenlijk is
1 2 3 4 5 6 7 8 9 10 | <?php foreach($concepts as $concept) { foreach($concept->getProperties() as $property) { $this->cfname = $property->getName(); $this->_insert(); $createdData[] = $this; $this->_increaseID(); } } ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | [4] => Customfield Object ( [ID:Customfield:private] => 10009 [CUSTOMFIELDTYPEKEY:Customfield:private] => text [CUSTOMFIELDSEARCHERKEY:Customfield:private] => text2 [cfname:Customfield:private] => Assignee [DESCRIPTION:Customfield:private] => [defaultvalue:Customfield:private] => [FIELDTYPE:Customfield:private] => [PROJECT:Customfield:private] => [ISSUETYPE:Customfield:private] => ) [5] => Customfield Object ( [ID:Customfield:private] => 10010 [CUSTOMFIELDTYPEKEY:Customfield:private] => text [CUSTOMFIELDSEARCHERKEY:Customfield:private] => text2 [cfname:Customfield:private] => Assignee [DESCRIPTION:Customfield:private] => [defaultvalue:Customfield:private] => [FIELDTYPE:Customfield:private] => [PROJECT:Customfield:private] => [ISSUETYPE:Customfield:private] => ) |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | [4] => Customfield Object ( [ID:Customfield:private] => 10009 [CUSTOMFIELDTYPEKEY:Customfield:private] => text [CUSTOMFIELDSEARCHERKEY:Customfield:private] => text2 [cfname:Customfield:private] => Assignee [DESCRIPTION:Customfield:private] => [defaultvalue:Customfield:private] => [FIELDTYPE:Customfield:private] => [PROJECT:Customfield:private] => [ISSUETYPE:Customfield:private] => ) [5] => Customfield Object ( [ID:Customfield:private] => 10009 [CUSTOMFIELDTYPEKEY:Customfield:private] => text [CUSTOMFIELDSEARCHERKEY:Customfield:private] => text2 [cfname:Customfield:private] => Assignee [DESCRIPTION:Customfield:private] => [defaultvalue:Customfield:private] => [FIELDTYPE:Customfield:private] => [PROJECT:Customfield:private] => [ISSUETYPE:Customfield:private] => ) |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <?php $google_bodyfont=get_option('google_bodyfont')? get_option('google_bodyfont'):'Ubuntu Condensed'; $google_generaltitlefont=get_option('google_generaltitlefont')? get_option('google_generaltitlefont'):'Ubuntu Condensed'; $gbodyfont = str_replace( ' ', '+', $google_bodyfont); $generaltitlefont = str_replace( ' ', '+', $google_generaltitlefont); ?> <?php if( get_option('kaya_typhography')=="false") { ?> <link href='http://fonts.googleapis.com/css?family=Ubuntu+Condensed' rel='stylesheet' type='text/css'/> <?php }else{ ?> <?php if($google_bodyfont !="") { ?> <link rel='stylesheet' type='text/css' href='http://fonts.googleapis.com/css?family=<?php echo $gbodyfont; ?>'> <?php } ?> <?php if($generaltitlefont !="") { ?> <link rel='stylesheet' type='text/css' href='http://fonts.googleapis.com/css?family=<?php echo $generaltitlefont; ?>'> <?php } ?> <?php } ?> |
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 | <?php if( get_option('kaya_typhography')== "true") { ?> body{ <?php echo 'font-family:'?><?php echo $google_bodyfont; ?>!important; <?php echo 'font-size:'?><?php echo $google_bodyfont_size; ?>px!important; <?php echo 'line-height:'?><?php echo $google_bodyfont_size+6; ?>px!important; } h1, h2, h3, h4, h5, h6 {<?php echo 'font-family:'?><?php echo $google_generaltitlefont; ?>!important; } #content h1{ <?php echo 'font-size:'?><?php echo $google_h1font_size; ?>px!important; <?php echo 'line-height:'?><?php echo $google_h1font_size+6; ?>px!important; } #content h2{ <?php echo 'font-size:'?><?php echo $google_h2font_size; ?>px!important; <?php echo 'line-height:'?><?php echo $google_h2font_size+6; ?>px!important; } #content h3{ <?php echo 'font-size:'?><?php echo $google_h3font_size; ?>px!important; <?php echo 'line-height:'?><?php echo $google_h3font_size+6; ?>px!important; } #content h4{ <?php echo 'font-size:'?><?php echo $google_h4font_size; ?>px!important; <?php echo 'line-height:'?><?php echo $google_h4font_size+6; ?>px!important; } #contentn h5{ <?php echo 'font-size:'?><?php echo $google_h5font_size; ?>px!important; <?php echo 'line-height:'?><?php echo $google_h5font_size+6; ?>px!important; } #content h6{ <?php echo 'font-size:'?><?php echo $google_h6font_size; ?>px!important; <?php echo 'line-height:'?><?php echo $google_h6font_size+6; ?>px!important; } <?php }else{ // Defalut googlefont if there is no font is selected from Theme Options ?> h1, h2, h3, h4, h5, h6 { color:#181818; margin-bottom:10px; font-family: 'Ubuntu Condensed', sans-serif !important; } |
1 2 3 4 5 6 7 8 9 | <?php private function _exist($instanceType, $values = array()) { foreach($this->data as $data) { if($data instanceof $instanceType) { //hier moet ik dus values matchen! } } } ?> |
1 2 3 4 5 | <?php if($this->_exist("user", array("getName" => "Henk", "getStatus" => 1)) { //exist! } ?> |
1 2 3 4 5 6 7 8 9 10 11 12 | <?php private function _exist($instanceType, $values = array()) { foreach($this->data as $data) { if($data instanceof $instanceType) { foreach($values as $key => $value) { if($data->$key() === $value) //exist! } } } } ?> |
even heel snel naar gekeken, maar kan je geen in_array() gebruiken?quote:Op woensdag 29 februari 2012 13:50 schreef mafkees10 het volgende:
Misschien iets te geavanceerd, maar ik vraag het toch want het lukt me maar nietIk weet dat hier ook wel wat goeroes zitten
Ik heb een array met objecten. D.m.v. een functie _exist() wil ik kijken of een object aan meerdere condities voldoen. De functie _exist is als volgende:
[ code verwijderd ]
Ik wil dus een object tegen meerdere condities gelijkertijd! matchen en dat object terugkrijgen. De functie roep ik zo aan:
[ code verwijderd ]
De key in de array is de functienaam, the value in de array is de waarde.
Hoe kan ik ervoor zorgen dat ik het object terugkrijg die aan alle waarden in de array matcht? Ik dacht aan
[ code verwijderd ]
Echter, het nadeel van bovenstaande is dat hij één voor één matcht en niet tegelijkertijd. Het resultaat is nooit zoals het moeten want meerdere objecten kunnen dezelfde waarde hebben. Ik moet dus de operator && gebruiken in de if constructie, maar ik zie hem niet. Iemand een idee hoe ik makkelijk de waarden kan testen? Ik moet een foreach in een foreach juist vermijden, dus als iemand tips heeftGraag!
1 2 3 | <?php if(in_array($data->$key(), $values) ?> |
in_array controleert of de opgegeven waarde voorkomt in de array (ja je zou kunnen zeggen dat hij hem doorloopt).quote:Op woensdag 29 februari 2012 13:54 schreef mafkees10 het volgende:
Kan ik even testen ja! maar loopt die dan de array door? Het probleem is dus dat ik de code nu niet ter beschikking heb (pas vrijdag weer) en dus niets kan testen voor nu. Ik kan het vrijdag even gaan testen iig!
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 | <?php $footercolumn=get_option('footercolumn'); echo '<div id="panel_widget">'; echo '<div id="panel_wrapper">'; echo '<div class="panel">'; if($footercolumn == '5') { $footerclass="one_fifth"; } if($footercolumn == '4') {$footerclass="one_fourth";} if($footercolumn == '3') { $footerclass="one_third"; } if($footercolumn == '2') {$footerclass="one_half"; } if($footercolumn == '1') { $footerclass="fullwidth"; } for($fc=1; $fc<=$footercolumn; $fc++) { $last = ($fc == $footercolumn and $footercolumn != 1) ? 'last' : ''; ?> <div class="<?php echo $footerclass; ?> <?php echo $last; ?>"> <?php if ( !function_exists('dynamic_sidebar')|| !dynamic_sidebar('top_togglebox_column_'.$fc.'') ) : ?> <h3> <?php _e( ' Toggle Box Column '.$fc.'', 'Apogee' ); ?> </h3> <p> <?php _e( 'Wesce sit amet porttitor leo. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Quisque interdum, nulla sit amet varius dignissim Vestibulum pretium risus. <a href="#"> View More »</a>', 'Apogee' ); ?> </p> <?php endif; ?> </div> <?php } echo '</div>'; echo '</div>'; ?> <!-- The tab on top --> <div class="tab"> <ul class="login"> <li id="toggle"> <a id="open" class="open" href="#"></a> <a id="close" style="display: none;" class="close" href="#"></a> </li> </ul> </div> </div> |
1 2 3 4 5 6 7 | <?php if($footercolumn == '5') { $footerclass="one_fifth"; } if($footercolumn == '4') {$footerclass="one_fourth";} if($footercolumn == '3') { $footerclass="one_third"; } if($footercolumn == '2') {$footerclass="one_half"; } if($footercolumn == '1') { $footerclass="fullwidth"; } ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | <?php $footercolumn=get_option('footercolumn'); echo '<div id="panel_widget">'; echo '<div id="panel_wrapper">'; echo '<div class="panel">'; for($fc=1; $fc<=$footercolumn; $fc++) { $last = ($fc == $footercolumn and $footercolumn != 1) ? 'last' : ''; ?> <div class="<?php echo $footerclass; ?> <?php echo $last; ?>"> <p>Dit is slechts 1 regel tekst, maar verschijnt hier 4 keer</p> </div> <?php } echo '</div>'; echo '</div>'; ?> <!-- The tab on top --> <div class="tab"> <ul class="login"> <li id="toggle"> <a id="open" class="open" href="#"></a> <a id="close" style="display: none;" class="close" href="#"></a> </li> </ul> </div> </div> |
1 2 3 | <?php for($fc=1; $fc<=$footercolumn; $fc++) ?> |
welk knopje verspringt ?quote:Op woensdag 29 februari 2012 16:32 schreef Mirel het volgende:
Ah ok, ik had ook wat er na komt verwijderd en toen flipte alles. Maar ok, die regel is weg.
edit: als ik dus die ene netgenoemde echo weghaal, dan gaat de tekst waar ik het wil hebben, linksboven, maar het knopje verspringt dan. Is het vanaf dit moment nog een PHP issue of CSS?
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 | <?php $footercolumn=get_option('footercolumn'); echo '<div id="panel_widget">'; echo '<div id="panel_wrapper">'; { $last = ($fc == $footercolumn and $footercolumn != 1) ? 'last' : ''; ?> <div class="<?php echo $footerclass; ?> <?php echo $last; ?>"> <iframe width="900" height="400" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" data-src="http://maps.google.com/maps?f=q&source=s_q&hl=en&geocode=&q=filmdepartment.nl,+Ondiep-Zuidzijde,+Egelantierstraat-Mari%C3%ABndaalstraat,+Utrecht,+Nederland&aq=0&oq=filmdepartment&sll=37.0625,-95.677068&sspn=44.47475,107.138672&ie=UTF8&hq=filmdepartment.nl,&hnear=Ondiep-Zuidzijde,+Noordwest,+Utrecht,+The+Netherlands&t=h&ll=52.102644,5.097678&spn=0.005272,0.019333&z=16&iwloc=A&output=embed" style="visibility:hidden;"></iframe><br /><small><a href="http://maps.google.com/maps?f=q&source=embed&hl=en&geocode=&q=filmdepartment.nl,+Ondiep-Zuidzijde,+Egelantierstraat-Mari%C3%ABndaalstraat,+Utrecht,+Nederland&aq=0&oq=filmdepartment&sll=37.0625,-95.677068&sspn=44.47475,107.138672&ie=UTF8&hq=filmdepartment.nl,&hnear=Ondiep-Zuidzijde,+Noordwest,+Utrecht,+The+Netherlands&t=h&ll=52.102644,5.097678&spn=0.005272,0.019333&z=16&iwloc=A" style="color:#0000FF;text-align:left">View Larger Map</a></small> </div> <?php } echo '</div>'; echo '</div>'; ?> <!-- The tab on top --> <div class="tab"> <ul class="login"> <li id="toggle"> <a id="open" class="open" href="#"></a> <a id="close" style="display: none;" class="close" href="#"></a> </li> </ul> </div> </div> |
Daar heb ik ook aan gedacht, maar misschien denk ik weer te moeilijk! Vrijdag even controleren dus! Bedanktquote:Op woensdag 29 februari 2012 13:56 schreef remi1986 het volgende:
[..]
in_array controleert of de opgegeven waarde voorkomt in de array (ja je zou kunnen zeggen dat hij hem doorloopt).
http://php.net/manual/en/function.in-array.php
De functie _exist is voor zover ik weet geen standaard PHP functie. Dus ik ben wel benieuwd wat de implementatie is. Kun je die hier eens posten (en dan tussen [php] en [/php] om de code leesbaar te houden).quote:Op woensdag 29 februari 2012 17:32 schreef mafkees10 het volgende:
[..]
Daar heb ik ook aan gedacht, maar misschien denk ik weer te moeilijk! Vrijdag even controleren dus! Bedankt
Ik zit me net te bedenken dat dit niet klopt.
Stel ik heb een object user met daarin:
private $pass;
private $name;
private $status;
en de drie getters.
Als ik vervolgens:
_exist("user", array("getPass" => "test", "getName" => "test")) dan returnt hij bij getPass al true indien het wachtwoord "test" is. De getName wordt dan dus genegeerd! Als ik de uitkomst van de functie in een array stop, dan krijg ik een andere user die ook het wachtwoord "test" heeft maar met de naam "henk" ook terug. Dat is niet de bedoeling dus. Als ik de uitkomst in een variable stop krijg ik de laatste user terug die als wachtwoord test heeft. Beide niet goed dus
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | <?php private function _exist($instanceType, $values = array()) { $result = array(); foreach($this->data as $data) { if($data instanceof $instanceType) { foreach($values as $key => $value) { // We nemen aan dat alles klopt, daarna gaan we controleren. $found = true; if($data->$key() !== $value) { $found = false; break; } if($found) { $result[] = $data; } } } } return $result; } ?> |
Matcht ook nietquote:Op woensdag 29 februari 2012 20:53 schreef Light het volgende:
Ah, zover had ik niet terug gelezen.
[ code verwijderd ]
Zoiets zou het dan worden, denk ik.
Nog nooit met namespaces gewerkt bij PHP, dat moet ik uitdokterenquote:Op woensdag 29 februari 2012 23:21 schreef totalvamp het volgende:
Heeft iemand hier al gewerkt met namespaces? Ik ben momenteel nog aan het inlezen erover en wil ze gaan gebruiken in mijn aankomende projecten.
Daar ben ik ook al mee bezig. Ik volg de spelregels die ik in een programmeerboek heb gevonden, daarbuiten sla ik scripts op in aparte mappen.quote:Wat ik wil gaan maken is een standaard MVC, maar dan met niet al te veel opties en dingen die ik zelf nooit gebruik. Het wordt aangeraden toch wel te beginnen hiermee.
hmm hoe bedoel je scripts?quote:Op woensdag 29 februari 2012 23:26 schreef Ofyles2 het volgende:
[..]
Nog nooit met namespaces gewerkt bij PHP, dat moet ik uitdokteren
[..]
Daar ben ik ook al mee bezig. Ik volg de spelregels die ik in een programmeerboek heb gevonden, daarbuiten sla ik scripts op in aparte mappen.
Scripts als in Javascript en CSS.quote:Op woensdag 29 februari 2012 23:55 schreef totalvamp het volgende:
[..]
hmm hoe bedoel je scripts?
Het voordeel van een MVC is dat je alles beschikbaar hebt wanneer je het nodig hebt en anders wordt het niet geladen. Ik ben benieuwd naar jouw structuur.
Werkt erg leuk, vereist wel PHP 5.3quote:Op woensdag 29 februari 2012 23:21 schreef totalvamp het volgende:
Heeft iemand hier al gewerkt met namespaces? Ik ben momenteel nog aan het inlezen erover en wil ze gaan gebruiken in mijn aankomende projecten.
Ik zou bezorgt zijn als mijn hoster dat niet zou hebben... Zeker als deze niet upgradet naar de nieuwste versies.quote:
1 2 3 | <?php $arr = system('/usr/bin/wget --spider http://www.nu.nl', $ret); ?> |
Thanks!quote:Op maandag 5 maart 2012 00:01 schreef GlowMouse het volgende:
Dat komt omdat wget stderr gebruikt ipv stdout. Op http://stackoverflow.com/(...)n-the-browser-window staan wat oplossingen.
Dat is niet echt wat ik bedoel. Ik heb een goedkoop product gevonden.quote:
Dat weet ik dus niet. Ik heb zelf geen enkele kennis op het gebied van programmeren.quote:
Oke, waar kan ik iemand vinden die dit in onze webshop wilt implementeren? Ik heb momenteel geen progger. De webshop is wel zelf opgezet waar ik wel verstand van heb, maar alles wat met codes te maken heeft ben ik een totale noob in.quote:Op woensdag 7 maart 2012 18:36 schreef Scorpie het volgende:
Alles meer dan een ochtend werk zou afzetterij zijn. Wss gebruikt je progger ook addthis en customized hij wat dingetjes en hop het werkt.
Thanks again GM.quote:Op woensdag 7 maart 2012 17:43 schreef GlowMouse het volgende:
Werkt setcookie("cart", NULL, 1) of setcookie("cart[]", NULL, 1)? Anders zou je door $_COOKIE['cart'] moeten loopen en voor elk element setcookie moeten aanroepen.
1 2 3 4 5 6 7 | <?php foreach ($_COOKIE['cart'] as $k => $v) { setcookie('cart['.$k.']', NULL, 1); } ?> |
Geen idee, diensten mogen niet op Fokquote:Op woensdag 7 maart 2012 18:43 schreef Yuri_Boyka het volgende:
[..]
Oke, waar kan ik iemand vinden die dit in onze webshop wilt implementeren? Ik heb momenteel geen progger. De webshop is wel zelf opgezet waar ik wel verstand van heb, maar alles wat met codes te maken heeft ben ik een totale noob in.
Misschien dat je iemand kan PMen, als dat wel mag.quote:Op woensdag 7 maart 2012 18:43 schreef Yuri_Boyka het volgende:
[..]
Oke, waar kan ik iemand vinden die dit in onze webshop wilt implementeren? Ik heb momenteel geen progger. De webshop is wel zelf opgezet waar ik wel verstand van heb, maar alles wat met codes te maken heeft ben ik een totale noob in.
Als ik weet wie hier de pro is en dit kan maken dan kan dat wel ja. Maar dat weet ik niet.quote:Op woensdag 7 maart 2012 19:58 schreef totalvamp het volgende:
[..]
Misschien dat je iemand kan PMen, als dat wel mag.
Kan inderdaad niet AL te moeilijk zijn.
1 2 3 4 5 6 7 8 9 10 | <!-- AddThis Button BEGIN --> <div class="addthis_toolbox addthis_default_style "> <script type="text/javascript" src="https://apis.google.com/js/plusone.js"></script> <a class="addthis_button_facebook_like" fb:like:layout="button_count"></a> <a class="addthis_button_tweet"></a> <iframe src="http://www.hyves.nl/respect/button?url=http%3A%2F%2FWEBSITE.hyves.nl%2F&counterStyle=horizontal" style="border: medium none; overflow:hidden; width:120px; height:120px;" scrolling="no" frameborder="0" ></iframe> <div class="s_plusone"><g:plusone size="medium"></g:plusone></div> </div> <script type="text/javascript" src="http://s7.addthis.com/js/250/addthis_widget.js#pubid=xa-4e20919036eba525"></script> <!-- AddThis Button END --> |
Idd je hebt gelijk, ik plaats hem later wel als het moet.quote:Op donderdag 8 maart 2012 01:36 schreef Diabox het volgende:
Hoe ziet je HTML en CSS eruit?
Zou overigens sowieso die Hyves button niet op m'n site willen, maar dat ben ik
PS. Hoort eigenlijk thuis in een ander topic
Kijk anders een naar phpmailer ... heb je veel meer mogelijkheden mee.quote:Op vrijdag 9 maart 2012 11:21 schreef F4T4L_3RR0R het volgende:
Stukje code:
mail("geadresseerde@domein.ext","Onderwerp",$bericht\r\n . "Verzonden naar: " . $ontvangers);
Moet er het volgende uit gooien:
Dit is het bericht
Verzonden naar: Kees
Zonder \r\n werkt het wel, maar ik wil er juist een nieuwe regel in hebben.
1 2 3 | <?php mail("geadresseerde@domein.ext","Onderwerp",$bericht . "\n\n" . "Verzonden naar: " . $ontvangers); ?> |
1 2 3 | <?php (preg_match('(http://www.youtube.com/watch\?v=[a-zA-Z0-9-_])', $videoLink) ?> |
1 2 3 | <?php $videoLink = 'http://www.youtube.com/watch?v=Zu^%$4WXi:;trtgPRek'; ?> |
quote:Op vrijdag 9 maart 2012 14:06 schreef xaban06 het volgende:
Kan iemand mij hiermee helpen? Ik ben een leek met regexp? Ik wil controleren of de ingevoerde waarde een correct youtube URL is.
Op het moment heb ik:
[ code verwijderd ]
Echter het volgende matched, terwijl dat niet moet:
[ code verwijderd ]
De regexp moet zijn:
- Altijd starten met: http://www.youtube.com/watch?v=
- Achter de v=, mag gebruikt worden:
- a-z, A-Z, 0-9 en underscore
Echter moet het volgende URL ook matchen:
- http://www. y outube.com/watch?v=FaNpWJY9SEs&feature=relmfu
Dus na de URL, is & toegestaan.
1 2 3 4 5 6 7 8 9 10 11 12 13 | <?php $videoLink = 'http://www.youtube.com/watch?v=Zu^%$4WXi:;trtgPRek'; print 'test 1: ' . preg_match('(^bhttp:\/\/(?:www\.)?youtube.com\/watch\?(?=.*v=\w+)(?:\S+)?$)', $videoLink); $videoLink = 'http://www.youtube.com/watch?v=FaNpWJY9SEs'; print ' test 2: ' . preg_match('(^http:\/\/(?:www\.)?youtube.com\/watch\?(?=.*v=\w+)(?:\S+)?$)', $videoLink); $videoLink = 'http://www.youtube.com/watch?v=FaNpWJY9SEs&feature=relmfu'; print ' test 3: ' . preg_match('(^http:\/\/(?:www\.)?youtube.com\/watch\?(?=.*v=\w+)(?:\S+)?$)', $videoLink); ?> |
Lijkt niet te werken:quote:Op vrijdag 9 maart 2012 14:27 schreef The_Terminator het volgende:
[..]
[ code verwijderd ]
Gejat van: http://stackoverflow.com/(...)alidation-with-regex
1 2 3 4 5 6 7 | <?php $videoLink = 'http://www.youtube.com/watch?v=WXi)(*&^%$#@34:;trt4'; print ' test: ' . preg_match('(^http:\/\/(?:www\.)?youtube.com\/watch\?(?=.*v=\w+)(?:\S+)?$)', $videoLink); ?> |
Raar... Ik heb het ook getest en kreeg dit terug: test 1: 0 test 2: 1 test 3: 1quote:Op vrijdag 9 maart 2012 14:35 schreef xaban06 het volgende:
[..]
Lijkt niet te werken:
# cat match.php
[ code verwijderd ]
# php match.php
test: 1
Zou kunnen. Ik heb het nogmaals getest (nu wel de correcte link gepaste...) en hier werkt het zonder probleem.quote:
Ik heb het op 3 servers getest; één met php 4, de andere php 5 en steeds dezelfde (correcte) uitkomst.quote:Op vrijdag 9 maart 2012 14:45 schreef xaban06 het volgende:
Ook met
[ code verwijderd ]
werkt het nog steeds niet correct.
1 | preg_match('(^bhttp:\/\/(?:www\.)?youtube.com\/watch\?(?=.*v=[a-zA-Z0-9-_]+)(?:\S+)?$)', $videoLink) |
http://gskinner.com/RegExr/quote:Op zondag 11 maart 2012 17:37 schreef xaban06 het volgende:
[..]
Nou, niet echtLoop er nog steeds mee te kloten
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <?php $videoLink = 'http://www.youtube.com/watch?v=WXi)(*&^%$#@34:;trt4'; print 'test 1: ' . preg_match('%(?:youtube\.com/(?:[^/]+/.+/|(?:v|e(?:mbed)?)/|.*[?&]v=)|youtu\.be/)([^"&?/ ]{11})%i', $videoLink); $videoLink = 'http://www.youtube.com/watch?v=FaNpWJY9SEs'; print ' test 2: ' . preg_match('%(?:youtube\.com/(?:[^/]+/.+/|(?:v|e(?:mbed)?)/|.*[?&]v=)|youtu\.be/)([^"&?/ ]{11})%i', $videoLink); $videoLink = 'http://www.youtube.com/watch?v=FaNpWJY9SEs&feature=relmfu'; print ' test 3: ' . preg_match('%(?:youtube\.com/(?:[^/]+/.+/|(?:v|e(?:mbed)?)/|.*[?&]v=)|youtu\.be/)([^"&?/ ]{11})%i', $videoLink); if(preg_match('%(?:youtube\.com/(?:[^/]+/.+/|(?:v|e(?:mbed)?)/|.*[?&]v=)|youtu\.be/)([^"&?/ ]{11})%i', $videoLink, $match)) { print ' test 4 (video id): ' . $match[1]; } ?> |
1 | test 1: 0 test 2: 1 test 3: 1 test 4 (video id): FaNpWJY9SEs |
Lijkt te werken, thanks!quote:Op zondag 11 maart 2012 17:51 schreef The_Terminator het volgende:
[ code verwijderd ]
Bovenstaande zou moeten werkenHet laaste voorbeeld trekt ook de ID uit de link
Output:
[ code verwijderd ]
Van: http://stackoverflow.com/(...)atch/6382259#6382259
1 2 3 | <?php $videoLink = 'http://www.youtube.com/watch?v=yuhjgtrfgy!'; ?> |
1 2 3 4 5 | <?php namespace Bookings; ?> |
Je bent ontslagenquote:Op maandag 12 maart 2012 19:42 schreef totalvamp het volgende:
Vandaag gesolliciteerd bij een webbedrijf als lead developergesprek ging lekker en kwam allemaal goed over. Hopelijk snel weer aan het werk!
Moet alleen even meer voorbeeldcode maken om ze te overtuigen (slechte ervaringen met programmeurs helaas). Dus ik ga een boekings systeem maken (gelijk voor een vriend zijn site). Dit zal waarschijnlijk ook Open Source worden(nog niet zeker) en ik zal het wat code posten om te zien wat FoK! ervan vindt.
Eerste regels van mijn script:
[ code verwijderd ]
Jammer van die PHP-sluittag ?>, die is nergens voor nodig.quote:Op maandag 12 maart 2012 19:42 schreef totalvamp het volgende:
Vandaag gesolliciteerd bij een webbedrijf als lead developergesprek ging lekker en kwam allemaal goed over. Hopelijk snel weer aan het werk!
Moet alleen even meer voorbeeldcode maken om ze te overtuigen (slechte ervaringen met programmeurs helaas). Dus ik ga een boekings systeem maken (gelijk voor een vriend zijn site). Dit zal waarschijnlijk ook Open Source worden(nog niet zeker) en ik zal het wat code posten om te zien wat FoK! ervan vindt.
Eerste regels van mijn script:
[ code verwijderd ]
was meer voor hierquote:Op maandag 12 maart 2012 20:39 schreef Light het volgende:
[..]
Jammer van die PHP-sluittag ?>, die is nergens voor nodig.
Waar is de vendor-namespace?quote:Op maandag 12 maart 2012 19:42 schreef totalvamp het volgende:
Vandaag gesolliciteerd bij een webbedrijf als lead developergesprek ging lekker en kwam allemaal goed over. Hopelijk snel weer aan het werk!
Moet alleen even meer voorbeeldcode maken om ze te overtuigen (slechte ervaringen met programmeurs helaas). Dus ik ga een boekings systeem maken (gelijk voor een vriend zijn site). Dit zal waarschijnlijk ook Open Source worden(nog niet zeker) en ik zal het wat code posten om te zien wat FoK! ervan vindt.
Eerste regels van mijn script:
[ code verwijderd ]
Mwoah, het brengt wel een risico met zich mee: http://www.sitepoint.com/should-you-close-your-php-code-tags/quote:Op maandag 12 maart 2012 22:18 schreef totalvamp het volgende:
[..]
was meer voor hierdaarnaast maakt het niet heel veel uit of je het wel of niet doet.
Ik zou meteen een MVC-systeem meegeven, vlammen kan nooit kwaad.quote:Op maandag 12 maart 2012 19:42 schreef totalvamp het volgende:
Vandaag gesolliciteerd bij een webbedrijf als lead developergesprek ging lekker en kwam allemaal goed over. Hopelijk snel weer aan het werk!
Moet alleen even meer voorbeeldcode maken om ze te overtuigen (slechte ervaringen met programmeurs helaas). Dus ik ga een boekings systeem maken (gelijk voor een vriend zijn site). Dit zal waarschijnlijk ook Open Source worden(nog niet zeker) en ik zal het wat code posten om te zien wat FoK! ervan vindt.
Eerste regels van mijn script:
[ code verwijderd ]
Wat een risico.... als je gewoon netjes blijft bouwen is dat geen probleem. En anders heb je een reden om je code te verbeteren. Persoonlijk vind ik niet afsluiten een teken van luiheid.quote:Op maandag 12 maart 2012 23:38 schreef Intrepidity het volgende:
[..]
Waar is de vendor-namespace?
[..]
Mwoah, het brengt wel een risico met zich mee: http://www.sitepoint.com/should-you-close-your-php-code-tags/
Ik twijfel tussen eenquote:Op maandag 12 maart 2012 19:42 schreef totalvamp het volgende:
Vandaag gesolliciteerd bij een webbedrijf als lead developergesprek ging lekker en kwam allemaal goed over. Hopelijk snel weer aan het werk!
Moet alleen even meer voorbeeldcode maken om ze te overtuigen (slechte ervaringen met programmeurs helaas). Dus ik ga een boekings systeem maken (gelijk voor een vriend zijn site). Dit zal waarschijnlijk ook Open Source worden(nog niet zeker) en ik zal het wat code posten om te zien wat FoK! ervan vindt.
Eerste regels van mijn script:
[ code verwijderd ]
Ik vind het ook een redelijke dirty oplossing voor een probleem wat makkelijk te voorkomen is imho...quote:Op dinsdag 13 maart 2012 07:57 schreef Pakspul het volgende:
[..]
Wat een risico.... als je gewoon netjes blijft bouwen is dat geen probleem. En anders heb je een reden om je code te verbeteren. Persoonlijk vind ik niet afsluiten een teken van luiheid.
Luiheid is een goede eigenschap voor programmeurs. De beste programmeurs zijn lui.quote:Op dinsdag 13 maart 2012 07:57 schreef Pakspul het volgende:
[..]
Persoonlijk vind ik niet afsluiten een teken van luiheid.
Dat is geen risico, misschien als je werkt met notepad ofzo, maar elke goede IDE geeft aan dat er whitespace ergens is.quote:Op maandag 12 maart 2012 23:38 schreef Intrepidity het volgende:
[..]
Waar is de vendor-namespace?
[..]
Mwoah, het brengt wel een risico met zich mee: http://www.sitepoint.com/should-you-close-your-php-code-tags/
Nouja ik moet dat dus gaan ontwikkelen, zit te denken aan code-igniter te gebruiken, maar die lopen voor mijn gevoel nog een beetje achter en het is best wel traag.quote:Op maandag 12 maart 2012 23:49 schreef Ofyles2 het volgende:
[..]
Ik zou meteen een MVC-systeem meegeven, vlammen kan nooit kwaad.
beide zijn goedquote:Op dinsdag 13 maart 2012 08:52 schreef Scorpie het volgende:
[..]
Ik twijfel tussen eenen een
als reactie.
Ja, want het wiel opnieuw uitvinden is altijd beter dan proven technology gebruiken.quote:Op dinsdag 13 maart 2012 14:32 schreef totalvamp het volgende:
[..]
Dat is geen risico, misschien als je werkt met notepad ofzo, maar elke goede IDE geeft aan dat er whitespace ergens is.
daarnaast zet ik nooit iets achter sluit tags (tenzij er html achter moet staan ofzo, maar dat is alleen met de view).
[..]
Nouja ik moet dat dus gaan ontwikkelen, zit te denken aan code-igniter te gebruiken, maar die lopen voor mijn gevoel nog een beetje achter en het is best wel traag.
[..]
beide zijn goed
Het is wel fijn dat je zelf een beetje het hele MVC in elkaar kan gaan zetten. Dan kun je dingen tenminste op je eigen manier oplossen.
Ik lees een artikel over MVC, pas de regels nauwkeurig toe en geef mijn eigen inbreng.quote:Op dinsdag 13 maart 2012 14:59 schreef Scorpie het volgende:
[..]
Ja, want het wiel opnieuw uitvinden is altijd beter dan proven technology gebruiken.
Je jat geen concept maar een pattern, en terwijl jij bezig bent dat te 'verfijnen' unzip ik een CakePHP, Symphony of andersoortig MVC framework en hop het werkt. Ik begin aan mijn data model, definieer wat classes en heb een view binnen no time werkend, terwijl je in je eigen MVC nog aan de basale dingen aan het coderen bent.quote:Op dinsdag 13 maart 2012 15:36 schreef Ofyles2 het volgende:
[..]
Ik lees een artikel over MVC, pas de regels nauwkeurig toe en geef mijn eigen inbreng.
Niet echt het wiel opnieuw uitvinden, slechts een concept jatten en deze verfijnen.
Maar als je de kans krijgt is het bouwen ervan stukken beter omdat je dan weet hoe alles in elkaar steekt. Met CI Zend Symphony etc moet je eerst weer heel hun manier van programmeren overnemen, terwijl je het anders op je eigen manier kan doen.quote:Op dinsdag 13 maart 2012 16:06 schreef Scorpie het volgende:
[..]
Je jat geen concept maar een pattern, en terwijl jij bezig bent dat te 'verfijnen' unzip ik een CakePHP, Symphony of andersoortig MVC framework en hop het werkt. Ik begin aan mijn data model, definieer wat classes en heb een view binnen no time werkend, terwijl je in je eigen MVC nog aan de basale dingen aan het coderen bent.
Soms is een eigen MVC framework bouwen leuk, nodig en nuttig, meestal is het onnodig tijd verdoen omdat anderen alles wat je bedacht hebt op dat gebied ook al hebben bedacht en meestal nog beter hebben geimplementeerd ook.
Toevallig heb ik ook wat MVC Frameworks gedownload en even op mijn USB-stick gezet. Dit in het geval dat ik er even niet meer uitkom.quote:Op dinsdag 13 maart 2012 16:06 schreef Scorpie het volgende:
[..]
Je jat geen concept maar een pattern, en terwijl jij bezig bent dat te 'verfijnen' unzip ik een CakePHP, Symphony of andersoortig MVC framework en hop het werkt. Ik begin aan mijn data model, definieer wat classes en heb een view binnen no time werkend, terwijl je in je eigen MVC nog aan de basale dingen aan het coderen bent.
Soms is een eigen MVC framework bouwen leuk, nodig en nuttig, meestal is het onnodig tijd verdoen omdat anderen alles wat je bedacht hebt op dat gebied ook al hebben bedacht en meestal nog beter hebben geimplementeerd ook.
En dat kan je met een MVC Framework niet omdat............?quote:Op dinsdag 13 maart 2012 16:24 schreef totalvamp het volgende:
[..]
Maar als je de kans krijgt is het bouwen ervan stukken beter omdat je dan weet hoe alles in elkaar steekt.
En dat is slecht omdat............?quote:Met CI Zend Symphony etc moet je eerst weer heel hun manier van programmeren overnemen, terwijl je het anders op je eigen manier kan doen.
En dat is relevant omdat.........?quote:Heel veel bedrijven hebben vaak hun eigen MVC of iets wat gebruik maakt van andere MVC libraries.
Tja ik hou je niet tegen natuurlijk, ieder zijn eigen ding. Ik heb voor mezelf iig besloten dat gebruikmaken van frameworks veel meer voordelen dan nadelen oplevert dat ik zelf niet meer begin aan het bouwen van een framework, hoogstens een abstractielaag erbovenop.quote:Op dinsdag 13 maart 2012 16:39 schreef Ofyles2 het volgende:
[..]
Toevallig heb ik ook wat MVC Frameworks gedownload en even op mijn USB-stick gezet. Dit in het geval dat ik er even niet meer uitkom.
Dat dus. Het is inderdaad leuk om eens mee te stoeien. Leuk dat je zelf weet hoe het MVC in elkaar steekt. Maar het is handiger hulp in te schakelen als diegene ook kennis heeft van het MVC.quote:Op dinsdag 13 maart 2012 16:45 schreef Scorpie het volgende:
[..]
Tja ik hou je niet tegen natuurlijk, ieder zijn eigen ding. Ik heb voor mezelf iig besloten dat gebruikmaken van frameworks veel meer voordelen dan nadelen oplevert dat ik zelf niet meer begin aan het bouwen van een framework, hoogstens een abstractielaag erbovenop.
Kan wel maar moet je bergen met documentatie doorspitten.quote:Op dinsdag 13 maart 2012 16:44 schreef Scorpie het volgende:
En dat kan je met een MVC Framework niet omdat............?
de manier waarop die frameworks momenteel werken achterhaald is. Hierdoor krijg je absurde classnames(vooral met Zend). En CI gaat niet goed om met sessies IMO.quote:En dat is slecht omdat............?
Omdat het logisch is dat je niet afhankelijk bent van een externe partij die de software moet updaten, dus is het wel relevant als je bij een bedrijf gaat werken die een eigen CMS wilt ontwikkelen.quote:En dat is relevant omdat.........?
Wat mee spelen en je hebt het wel door hoor. Je bent een stuk meer tijd kwijt aan zelf 'n degelijk framework bouwen.quote:Op dinsdag 13 maart 2012 18:08 schreef totalvamp het volgende:
[..]
Kan wel maar moet je bergen met documentatie doorspitten.
Geen idee, ik gebruik frameworks dagelijks in professionele setting en prive setting.quote:Op woensdag 14 maart 2012 09:21 schreef Chandler het volgende:
@Scorpie; yup, lekker als hobbie er mee wezen spelen. Voor mijn part had het 2 jaar gekost, boeiend. In de tussentijd heb ik ook andere websites gebouwd zonder mijn frameworktelt dat ook mee?
Maar nu begrijpt hij wel hoe frameworks werken, terwijl hij anders gewoon copy paste dingen aan het doen was en uiteindelijk alleen dat framework begreep. Terwijl hij nu makkelijker de structuur in meerdere kan zien.quote:Op woensdag 14 maart 2012 09:18 schreef Scorpie het volgende:
Een jaar? Hell, in die tijd had je 5 projecten kunnen afmaken in een framework.
Dus je zegt dat mensen die met frameworks werken niet begrijpen hoe frameworks in het algemeen werken en dat je daarvoor eerst je eigen framework dient te maken? Lijkt me nogal een boude statement.quote:Op woensdag 14 maart 2012 16:38 schreef totalvamp het volgende:
[..]
Maar nu begrijpt hij wel hoe frameworks werken, terwijl hij anders gewoon copy paste dingen aan het doen was en uiteindelijk alleen dat framework begreep. Terwijl hij nu makkelijker de structuur in meerdere kan zien.
Ja dat is meestal het geval. Mensen die ik ken die met frameworks werken weten dan alleen hoe dat framework voor hun werkt. Ze weten niet de details over hoe het framework technisch in elkaar zit.quote:Op woensdag 14 maart 2012 17:05 schreef Scorpie het volgende:
[..]
Dus je zegt dat mensen die met frameworks werken niet begrijpen hoe frameworks in het algemeen werken en dat je daarvoor eerst je eigen framework dient te maken? Lijkt me nogal een boude statement.
Dan werk je met prutsers. Ik ken niemand die op dat niveau acteert.quote:Op woensdag 14 maart 2012 18:06 schreef totalvamp het volgende:
[..]
Ja dat is meestal het geval. Mensen die ik ken die met frameworks werken weten dan alleen hoe dat framework voor hun werkt. Ze weten niet de details over hoe het framework technisch in elkaar zit.
Ik ken ze... ik werk niet met ze.. meestal ben ik degene die hun troep moet opruimen in code. Dan doen ze dingen die nergens op slaan. Geloof mij er zijn zat sites waarvan de code eigenlijk van geen kant klopt.quote:Op woensdag 14 maart 2012 21:44 schreef Scorpie het volgende:
[..]
Dan werk je met prutsers. Ik ken niemand die op dat niveau acteert.
Eens, zijn heel veel prutsers op de markt helaas. Of niet helaas, blinken wij uit hehe.quote:Op woensdag 14 maart 2012 22:32 schreef totalvamp het volgende:
[..]
Ik ken ze... ik werk niet met ze.. meestal ben ik degene die hun troep moet opruimen in code. Dan doen ze dingen die nergens op slaan. Geloof mij er zijn zat sites waarvan de code eigenlijk van geen kant klopt.
Ik werkte bij een websitebedrijf wat gebruik maakte van russische programmeurs... Ik was zelf bugfixer daar. Nou de dingen die je soms tegenkomt... Er was een bedrijf dat klaagde omdat de btw uitrekeningen van een heel jaar niet klopte... Bleek dus dat het BTW script letterlijk 3x achter elkaar werd opgeroepen.quote:Op woensdag 14 maart 2012 22:39 schreef Diabox het volgende:
[..]
Eens, zijn heel veel prutsers op de markt helaas. Of niet helaas, blinken wij uit hehe.
Wat een onzin.quote:Op dinsdag 13 maart 2012 18:08 schreef totalvamp het volgende:
de manier waarop die frameworks momenteel werken achterhaald is. Hierdoor krijg je absurde classnames(vooral met Zend). En CI gaat niet goed om met sessies IMO.
The Zend Framework uses a highly descriptive naming convention that results in long-winded class names such as Zend_Search_Lucene_Analysis_Analyzer_Common_Text_CaseInsensitive.quote:
En daar heb je het dus fout.quote:Op woensdag 14 maart 2012 23:05 schreef boem-dikkie het volgende:
Hoe moeten classnames zijn?
Alles-omschrijvend is, en dat zijn ze, als je met veel 'dezelfde' soort classes werkt krijg je als je die zelf moet opstellen ook lange namen, of onduidelijk namen die totaal niet meer omschrijven wat een class doet.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <?php //In bovenstaande scripts etc moet er ook een namespace staan namespace Common\Text; /** * Commentaar blabla uitleg over class * */ class CaseInsensitive { public function foo() { return 'Fooooo'; } } // Gebruik $obj = \Zend\Search\Lucene\Analysis\Analyzer\Common\Text\CaseInsensitive; |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <?php if(isset($_POST['submit'])) { $to = 'Emailadres@email.com' ; $subject = 'Cup a Cake Recepten inzenden'; $headers = 'MIME-Version: 1.0' . "\r\n"; $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; $message = "<table><tr><td>Your Name</td><td>".$_POST['name']."</td></tr> <tr><td>E-Mail</td><td>".$_POST['email']."</td></tr> <tr><td>Contact No</td><td>".$_POST['contact']."</td></tr> <tr><td>Message</td><td>".$_POST['message']."</td> </tr></table>" ; mail($to, $subject, $message, $headers); header('Location: recepteninzenden.php'); } ?> |
1 | Your Name".$_POST['name']." E-Mail".$_POST['email']." Contact No".$_POST['contact']." Message".$_POST['message']." " ; mail($to, $subject, $message, $headers); header('Location: contact.php'); } ?> |
Ik heb hem van het internet gejat, wat houdt dat in?quote:Op donderdag 15 maart 2012 09:52 schreef Catch22- het volgende:
Wat voor error geeft hij?
En je mag echt de grootst mogelijk fout; userinput niet sanatizen.
1 2 3 4 5 6 7 8 9 10 | <?php $message = "<table><tr><td>Your Name</td><td>".$_POST['name']."</td></tr> <tr><td>E-Mail</td><td>".$_POST['email']."</td></tr> <tr><td>Contact No</td><td>".$_POST['contact']."</td></tr> <tr><td>Message</td><td>".$_POST['message']."</td> </tr></table>" ; echo $message; // mail($to, $subject, $message, $headers); // header('Location: recepteninzenden.php'); ?> |
Nou ja, als ik ze eruit knip dan staat gewoon alles exclusief wat ik er net uit heb geknipt op de paginaquote:
Beveiliging is niet je enige probleem hierin. In je huidige code zet je tekens die als HTML geïnterpreteerd kunnen worden niet om naar de corresponderende entities waardoor je opmaak eraan gaat zodra er bepaalde tekens voorkomen in de userinput.quote:Op donderdag 15 maart 2012 10:40 schreef RenRen- het volgende:
Mijn eisen zijn vrij laag hoor, het wordt niet echt gepubliceerd en als het werkt doe ik al een dansje. Beveiliging is echt iets voor latere zorg voor mij, als ik afgestudeerd ben mik ik alles er ook weer af, kunnen ze me ook niet spammen.
Ah ok dan.quote:Op donderdag 15 maart 2012 10:40 schreef RenRen- het volgende:
Mijn eisen zijn vrij laag hoor, het wordt niet echt gepubliceerd en als het werkt doe ik al een dansje. Beveiliging is echt iets voor latere zorg voor mij, als ik afgestudeerd ben mik ik alles er ook weer af, kunnen ze me ook niet spammen.
quote:Op donderdag 15 maart 2012 10:49 schreef GlowMouse het volgende:
Eindigt de bestandsnaam op .php? Zoja, dan ondersteunt je host geen php meer.
Hier had ik dus echt nog nooit van gehoordquote:Op donderdag 15 maart 2012 10:54 schreef The_Terminator het volgende:
[..]
Beveiliging is niet je enige probleem hierin. In je huidige code zet je tekens die als HTML geïnterpreteerd kunnen worden niet om naar de corresponderende entities waardoor je opmaak eraan gaat zodra er bepaalde tekens voorkomen in de userinput.
Zie ook: http://php.net/manual/en/function.htmlentities.php
Ik ben er zo een met een vagina. Tot zoquote:Op donderdag 15 maart 2012 10:54 schreef _Flash_ het volgende:
[..]
Ah ok dan.
Kan je het hele script eens copy pasten?
En test even met het volgende script of je provider php ondersteunt:
<?php
echo "hello world";
?>
@The_Terminator
Dat is natuurlijk ook onderdeel van de beveiliging.
Zo te zien gaat het hem om het principe. Zijn code zou moeten werken lijkt me, ben benieuwd hoe het complete script inclusief form er uit ziet, wellicht zit ergens anders een typefout.
Oh, jij schrijft ook kutcodequote:Op donderdag 15 maart 2012 10:56 schreef RenRen- het volgende:
[..]
Ik ben er zo een met een vagina. Tot zo
Nee dat deed het mannetje op het internet die deze code schreefquote:
1 | Warning: Cannot modify header information - headers already sent by (output started at /cupacake/process_recepteninzenden.php:12) in /cupacake/process_recepteninzenden.php on line 24 |
Wat gek is, want ik had wel in alle velden iets in heb gevuld.quote:Your Name
E-Mailllll Ben
Contact No
Message
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <?php if(isset($_POST['submit'])) { $to = '.@hotmail.com' ; $subject = 'Cup a Cake Recepten inzenden'; $headers = 'MIME-Version: 1.0' . "\r\n"; $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; $message = "<table><tr><td>Your Name</td><td>".$_POST['name']."</td></tr> <tr><td>E-Mailllll</td><td>".$_POST['email']."</td></tr> <tr><td>Contact No</td><td>".$_POST['contact']."</td></tr> <tr><td>Message</td><td>".$_POST['message']."</td> </tr></table>" ; mail($to, $subject, $message, $headers); header('Location: verzonden_recepteninzenden.php'); } ?> |
Die header fout wordt veroorzaakt doordat er al output wordt verzonden voordat de header() functie wordt aangeroepen: header('Location: verzonden_recepteninzenden.php');quote:Op donderdag 15 maart 2012 11:10 schreef RenRen- het volgende:
[..]
Nee dat deed het mannetje op het internet die deze code schreef![]()
Oké, nu staat hij op mijn echte server, ik heb mijn formulier ingevuld en krijg ik:
[ code verwijderd ]
Eigenlijk is de bedoeling dat je die hele pagina niet zietmaar dat hij een loop maakt naar een 'bedankt voor het bericht'-pagina.
Goed, dit krijg ik in mijn email:
[..]
Wat gek is, want ik had wel in alle velden iets in heb gevuld.
De code zoals hij in process_receptenverzenden.php staat:
[ code verwijderd ]
quote:Op donderdag 15 maart 2012 11:10 schreef RenRen- het volgende:
[..]
Nee dat deed het mannetje op het internet die deze code schreef![]()
Oké, nu staat hij op mijn echte server, ik heb mijn formulier ingevuld en krijg ik:
[ code verwijderd ]
Eigenlijk is de bedoeling dat je die hele pagina niet zietmaar dat hij een loop maakt naar een 'bedankt voor het bericht'-pagina.
Goed, dit krijg ik in mijn email:
[..]
Wat gek is, want ik had wel in alle velden iets in heb gevuld.
De code zoals hij in process_receptenverzenden.php staat:
[ code verwijderd ]
quote:header() is used to send a raw HTTP header. See the » HTTP/1.1 specification for more information on HTTP headers.
Remember that header() must be called before any actual output is sent, either by normal HTML tags, blank lines in a file, or from PHP. It is a very common error to read code with include(), or require(), functions, or another file access function, and have spaces or empty lines that are output before header() is called. The same problem exists when using a single PHP/HTML file.
Oke. Ik weet niet of ik het allemaal begrijp maar ik ga een poging wagenquote:Op donderdag 15 maart 2012 11:15 schreef The_Terminator het volgende:
[..]
Die header fout wordt veroorzaakt doordat er al output wordt verzonden voordat de header() functie wordt aangeroepen: header('Location: verzonden_recepteninzenden.php');
Waarschijnlijk staat er een spatie voor je php code of wordt er ergens anders via print of echo iets verzonden waardoor de headers al zijn verzonden.
Het probleem dat de ingevoerde gegevens niet in de mail terechtkomen kan worden veroorzaakt doordat je form de methode GET gebruikt om de gegevens te verzenden en jij ze uit de POST array probeert te halen. Om dit uit te kunnen zoeken zou je ook de code van je formulier waar de gebruiker de gegevens invoert moeten posten.
Je kunt eventueel checken of er überhaupt iets wordt verzonden dmv: print_r($_REQUEST);
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | <form name="contact" method="POST" action="process_recepteninzenden.php"> <table width="456" border="0" cellpadding="0" cellspacing="0"> <tr> <td height="28" class="contactformulier" valign="top">Naam</td> <td><input name="Naam" class="contactformulier" type="text"></td> </tr> <tr> <td height="28" class="contactformulier" valign="top">E-mailadres</td> <td><input name="email" class="contactformulier" type="text" onsubmit="return ValidateRequiredFields();"></td> </tr> <tr> <td height="28" class="contactformulier" valign="top">Naam recept</td> <td><input name="Naam recept" class="contactformulier" type="text"></td> </tr> <tr> <td height="28" class="contactformulier_textarea" valign="top">Recept</td> <td><textarea rows="8" cols="50" name="Recept" class="contactformulier_textarea" /></textarea></td> </tr> <tr> <td> </td> <td valign="top" align="center"><button type="image" value="Verstuur" name="submit" class="verzendknop">Verstuur</button></td> </tr> </table> </form> |
Zie hierbovenquote:Op donderdag 15 maart 2012 11:18 schreef _Flash_ het volgende:
Ok het versturen gaat goed. Kennelijk blijven die velden in de mail leeg vanwege een foutje in het voorliggende formulier.
Kan je die code ook eens posten?
1 | Warning: Cannot modify header information - headers already sent by (output started at /home/deb36484/domains/irenkapetrarca.com/public_html/cupacake/process_recepteninzenden.php:11) in /home/deb36484/domains/irenkapetrarca.com/public_html/cupacake/process_recepteninzenden.php on line 23 |
De ontbrekende data komt doordat de namen van je velden verschillen met de sleutels die je uit de POST array probeert te halen.quote:Op donderdag 15 maart 2012 11:24 schreef RenRen- het volgende:
[..]
Oke. Ik weet niet of ik het allemaal begrijp maar ik ga een poging wagen![]()
- Moet die header dan hogerop in de code? Zodat hij eerder wordt uitgevoerd?
Ik heb alle spaties en white spaces gewoon weggehaald (op de enters na iedere lijn na) .
De code die ik postte was alle PHP-code op de pagina, verder alleen een head en een body, meer niet. Als dat weg moet hoor ik het wel![]()
Code van het formulier:
[ code verwijderd ]
En nu kijken naar dat stukje wat jij stuurde.
[..]
Zie hierboven
Edit:
Oh dit gebeurt:
[ code verwijderd ]
Ik heb alles helemaal tegen elkaar gezet, de php staat direct na de body-tag, geen spatie of iets.quote:Op donderdag 15 maart 2012 11:31 schreef _Flash_ het volgende:
Die header-melding is niet zo'n probleem. Dat komt doordat er of een spatie o.i.d. nog vóór die header in de output-HTML naar voren komt. Staat er toevallig een witregel voor de openings <?php tag?
Of check anders het bestandsformaat eens. Deze moet zonder zogenaamde BOM-header zijn. Sommige editors doen dit standaard verkeerd.
Dat de velden in je mail leeg zijn komt door de naamgeving. Je gebruikt in het form wel de namen "Naam", "email", "Naam recept" maar in het verzendscript staan nog "name", "contact" etc.
Deze moeten gelijk aan elkaar zijn. En het is beter om geen spatie te gebruiken in zo'n name.
Ook bedankt. Echt stom van mequote:Op donderdag 15 maart 2012 11:32 schreef The_Terminator het volgende:
[..]
De ontbrekende data komt doordat de namen van je velden verschillen met de sleutels die je uit de POST array probeert te halen.
Een input met name="Naam" verwijst naar $_POST['Naam'] en niet naar $_POST['name']
Ik stuur je even een DMquote:Op donderdag 15 maart 2012 11:38 schreef _Flash_ het volgende:
Graag gedaan. Waar kunnen we de recepten inzien of opsturen?
Mooi!quote:Op donderdag 15 maart 2012 11:37 schreef RenRen- het volgende:
OPGELOST. Ik had dus niet door dat ik dat soort dingen niet kan doen, het werkt! Heeeel erg bedankt iedereen
1 2 3 | <?php $input_naam = isset($_POST['name']) ? htmlentities($_POST['name']) : ''; ?> |
1 | <td>Your Name</td><td>".$input_naam."</td> |
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |