Dan doe je wat verkeerd, je zult de index voor de join wel vergeten zijn.quote:Op donderdag 15 maart 2012 12:39 schreef _Flash_ het volgende:
Qua performance zijn ze niet vergelijkbaar.
Maar de resultaten zijn ook anders.quote:Op donderdag 15 maart 2012 14:25 schreef totalvamp het volgende:
@_FLASH_
gebruik PostgrSQL ipv MysQL en doe een FULLTEXT search ipv like.
FULLTEXT search is vele malen snellen dan een LIKE.
Ongetwijfeldquote:Op donderdag 15 maart 2012 14:42 schreef GlowMouse het volgende:
[..]
Dan doe je wat verkeerd, je zult de index voor de join wel vergeten zijn.
Wat is eigenlijk het voordeel van 1 index op 2 velden en in welke situaties is dat het beste te benutten? Ik heb dat nooit goed gesnapt...quote:Op donderdag 15 maart 2012 16:29 schreef GlowMouse het volgende:
In ad1 en ad2 mist de index op klant. Ik zou hier een index maken op (klant,soort) (1 index op 2 velden).
zie het als een gesorteerde lijst; een telefoonboek is één index op (plaats,naam). Dat werkt makkelijker dan wanneer er alleen op plaats of alleen op naam is gesorteerd, maar alleen als je een naam zoekt in een specifieke plaats (of sorteert op plaats,naam; of bij één plaats wilt sorteren op naam).quote:Op donderdag 15 maart 2012 19:07 schreef The_Terminator het volgende:
[..]
Wat is eigenlijk het voordeel van 1 index op 2 velden en in welke situaties is dat het beste te benutten? Ik heb dat nooit goed gesnapt...
helaas, geen koelkastquote:Op donderdag 15 maart 2012 20:33 schreef kucher het volgende:
Een index alleen heeft niet heul veul nut tenzij je graag GROUP BY gebruikt op die 2 kolommen (zover ik weet), maar een (primary key/foreign key/unique) constraint met 2 (of meer) kolommen wel.
Is goed! Ik ga proberen de rest werkend te maken, en als ik dan nog tijd heb kom ik hier nog wel mijn neus om de hoek steken. Heel erg bedanktquote:Op donderdag 15 maart 2012 11:57 schreef _Flash_ het volgende:
Thanks, mooie site.
Als je nog wat tips wilt voor de beveiliging of om spam te voorkomen (je gaat veel spam krijgen met zo'n formulier) dan moet je het maar laten weten
Oh, dit ga ik proberen, bedankt!quote:Op donderdag 15 maart 2012 11:57 schreef The_Terminator het volgende:
[..]
Mooi!
Ik heb nog wel een suggestie als zijnde een verbetering van je huidige invoer-verwerking:
[ code verwijderd ]
De $input_naam variable kun je vervolgens in je mail gebruiken:
[ code verwijderd ]
Hierdoor weet je zeker dat bijzondere tekens goed verwerkt worden en dat je geen waarschuwingen krijgt indien een een element niet bestaat in de POST array.
Geef je een geldigheidsduur mee aan de setcookie functie?quote:Op maandag 19 maart 2012 10:32 schreef Crutch het volgende:
Ik kom er niet uit.
Cookies die ik 'check' en 'set' in een if-statement worden niet onthouden wanneer ik de browser afsluit en daarna weer open.
Als ik een cookie 'set' buiten een if-statement dan blijft deze wel aanwezig.
Dus cookies worden gewoon geaccepteerd, check.
Register Globals staat op 'on', check.
Ik kwam ook ergens de functie ob_start(); tegen, maar dat maakt verder geen verschil als ik die functie aanroep aan het begin van mijn code.
Als ik een cookie aanmaak in een if-statement en ik ververs de pagina dan is ie wel aanwezig, maar sluit ik de browser en open ik de pagina opnieuw dan is ie weer weg.
Ik gebruik overigens MAMP in OSX.
STOP DE PERSEN!!quote:Op maandag 19 maart 2012 10:43 schreef The_Terminator het volgende:
[..]
Geef je een geldigheidsduur mee aan de setcookie functie?
Phpmailer is een tool om mailtjes mee te versturen.quote:Op zondag 18 maart 2012 23:48 schreef Mirel het volgende:
Ik moet een contactformulier maken op een website die ik sinds kort beheer (www.sbscoaching.nl). Ik kom er net achter dat ik niks kan invullen in de tekstboxen. Die doen het gewoon in een testbestand.
Hoe komt dit? Ik weet niet echt waar ik naar moet zoeken..
De site heeft zover ik weet nergens een contactformulier staan. Ik zie in de backend wel een mapje genaamd phpmailer, maar ik weet niet waar die voor is.
Wat? Meen je dit? Welke pipo heeft bedacht dat dit een goed idee was?quote:
als je netjes code dan valt dat wel meequote:Op maandag 19 maart 2012 14:29 schreef totalvamp het volgende:
[..]
GELIJK weer uitzetten anders weet je zeker dat je script gehackt wordt.
Het is een serieus veiligheids probleem... dat kun je niet goedpraten.quote:Op maandag 19 maart 2012 14:31 schreef GlowMouse het volgende:
[..]
als je netjes code dan valt dat wel mee
Ah thanks. Zulke dingen zijn toch waardeloosquote:Op maandag 19 maart 2012 12:18 schreef _Flash_ het volgende:
Haal die drie java-dingetjes even uit de <body>. De maker van die HTML heeft de pagina dmv die commando's beveiligd tegen klikken, rechtsklikken en selecteren e.d. Daarom gebeurt er niks als je in zo'n tekst-vakje klikt.
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 | <?php <script type="text/JavaScript"> <!-- function MM_swapImgRestore() { //v3.0 var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc; } function MM_preloadImages() { //v3.0 var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array(); var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++) if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}} } function MM_findObj(n, d) { //v4.01 var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) { d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);} if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n]; for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); if(!x && d.getElementById) x=d.getElementById(n); return x; } function MM_swapImage() { //v3.0 var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3) if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];} } //--> </script> ?> |
1 | <body onContextMenu="return false;" onmousedown="return false;" onselectstart="return false;"> |
laat me raden: de eigenaar van de site is voor het eerst online en denkt ik moet alles beveiligen tegen allesquote:Op maandag 19 maart 2012 14:38 schreef Mirel het volgende:
OH DAT. Die shit heb ik er zelf in moeten doen ooit.
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 | <?php // We definiëren eerst de variabelen die altijd hetzelfde blijven. $ontvanger = "mirelmirelmirel@gmail.com"; $onderwerp = "Ingevuld contactformulier SBS Coaching!" // We definiëren vervolgens de veranderlijke variabelen. $email = $_POST['email']; $aanhef = $_POST['aanhef']; $voornaam = $_POST['voornaam']; $tussenvoegsels = $_POST['tussenvoegsels']; $achternaam = $_POST['achternaam']; $geboortedatum = $_POST['geboortedatum']; $priveadres = $_POST['priveadres']; $telefoon = $_POST['telefoon']; $opleidingwerkniveau = $_POST['opleidingwerkniveau']; $plaats = $_POST['plaats']; $vragenopmerkingen = $_POST['vragenopmerkingen']; //Bericht $bericht = "Iemand heeft je contactformulier ingevuld.<br>Het gaat om '".$voornaam."', met het e-mailadres '".$email."', wonende in '".$plaats."'. Hij vulde de volgende opmerking in:<br><br>'".$tekst."'"; // Verzenden mail($ontvanger, $onderwerp, $bericht); // Bericht verzonden echo "Uw bericht werd verzonden."; ?> |
1 2 3 4 5 6 7 8 9 10 11 12 | <?php $bericht = "Iemand heeft je contactformulier ingevuld. <br> '".$aanhef."' '".$voornaam."' '".$tussenvoegsels." '".$achternaam." <br> '".$email."' <br> '".$geboortedatum."' <br> '".$opleidingwerkniveau"' <br> '".$priveadres."' <br> '".$telefoon."' <br> '".$plaats."' <br> opmerkingen: <br> '".$vragenopmerkingen."'"; ?> |
ok staat uit en alles werkt, dank je.quote:Op maandag 19 maart 2012 14:29 schreef totalvamp het volgende:
[..]
Wat? Meen je dit? Welke pipo heeft bedacht dat dit een goed idee was?
GELIJK weer uitzetten anders weet je zeker dat je script gehackt wordt. Ze hebben niet voor niets die functie verwijderd in de nieuwste PHP versie.
Klik er eens op dan.quote:Op maandag 19 maart 2012 14:54 schreef Mirel het volgende:
Ok die zooi is nu in te vullen, maar de submit doet niks. Browser zegt dat http://sbscoaching.nl/contactformulieraction.php niet bestaat![]()
quote:Op maandag 19 maart 2012 15:11 schreef Sitethief het volgende:
sluit regel 5 eerst maar eens correct af.
je kan die variabelen toch gewoon inline gooien?quote:Op maandag 19 maart 2012 15:12 schreef Sitethief het volgende:
En of je gebruikt enkele aanhalingstekens om je strings, of dubbele, maar allebei is niet nodig.
Er was ook iets dat als ik de laatste ' en " weghaalde, dat de php ; z'n kleurtje kwijtraakte, wat betekende dat de code onjuist was.quote:Op maandag 19 maart 2012 15:12 schreef Catch22- het volgende:
Dus; fix een goede editor en lees een debugguide.
[..]
je kan die variabelen toch gewoon inline gooien?
1 2 3 4 5 | <?php $string = "blabla".$variabele."bloblo"; //of $string = 'blabla'.$variabele.'bloblo'; ?> |
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 | <?php class plugin extends hoofd { public function validate() { parent::verander('plugin test'); } } class hoofd { public $veranderVariabel = 'null'; public function __construct($databaseCls = '') { $this->databaseCls = $databaseCls; } public function startPlugin() { $p = new plugin(); $p->validate(); } public function verander($var) { $this->veranderVariabel = $var; } public function geef() { return $this->veranderVariabel; } } $databaseCls = true; $hoofd = new hoofd($databaseCls); echo $hoofd->geef(); echo $hoofd->veranderVariabel . '<br />'; $hoofd->startPlugin(); // zou nu 'plugin test' moeten zijn? echo $hoofd->geef(); echo $hoofd->veranderVariabel . '<br />'; ?> |
Begin maar opnieuw met OO.quote:Op dinsdag 20 maart 2012 14:00 schreef Chandler het volgende:
Kleine vraag, waarschijnlijk kijk ik ergens overheen
Stel ik heb 2 classes
[ code verwijderd ]
Waar ga ik de fout in? omg. wil in een class een andere class laden en dan de parent qua gegevens updaten en dan weer verdergaan met de parent en deze gegevens kunnen gebruiken.
Waarom wil je variabelen wijzigen in je hoofdclass?quote:Op dinsdag 20 maart 2012 18:23 schreef Chandler het volgende:
Wat ik wil is gewoon in een class een andere class aanroepen, deze class voert bepaalde code uit en moet daarvoor weer variabelen in de hoofd class aanpassen, that's all.
@Scorpie; je hebt gelijk al heb ik al vele malen een hoop documentatie doorgelezen maar krijg het er blijkbaar niet in!
Buiten dat bovenstaande enorme troep is, kan je toch in je klasse gewoon een nieuwe instantie aanmaken en in een variabele stoppen?quote:Op dinsdag 20 maart 2012 18:23 schreef Chandler het volgende:
Wat ik wil is gewoon in een class een andere class aanroepen, deze class voert bepaalde code uit en moet daarvoor weer variabelen in de hoofd class aanpassen, that's all.
@Scorpie; je hebt gelijk al heb ik al vele malen een hoop documentatie doorgelezen maar krijg het er blijkbaar niet in!
Unsigned int, opslaan kan dan makkelijk met INET_ATON() en weer ophalen met INET_NTOA().quote:Op donderdag 22 maart 2012 16:18 schreef PiRANiA het volgende:
Heeft iemand een goed idee hoe ik IP's het beste kan opslaan in een databaas? Het worden op termijn miljoenen rows die goed doorzoekbaar moeten zijn.
Omzetten naar int? Of zal char goed zijn? Binary misschien?
Lijkt me makkelijker dan om 1 veld ip4 te hebben en 1 ip6.quote:Op donderdag 22 maart 2012 16:27 schreef Ofyles2 het volgende:
Ik houd het voorlopig bij VARCHAR, dit om voorbereid te zijn op IPv6.
Uiteraard kijk ik wel of het eenvoudiger kan.
is het een autoincrement waarde?quote:Op vrijdag 23 maart 2012 14:10 schreef LightLuke het volgende:
Ik kom er even niet uit, ik verwijder een record in mijn database waardoor ik dus een gat krijg in de data
het was 1,2,3,4,5
Ik verwijder 2 dus nu heb ik 1,3,4,5.
Met welke mysql update query krijg ik gewoon weer een rijtje 1,2,3,4 eruit?
1 2 | ALTER TABLE tablename DROP id ALTER TABLE tablename ADD id INT NOT NULL AUTO_INCREMENT FIRST, ADD PRIMARY KEY (id), AUTO_INCREMENT=1 |
Het is geen autoincrement waardequote:Op vrijdag 23 maart 2012 14:29 schreef mschol het volgende:
[..]
is het een autoincrement waarde?
niet netjes maar zou moeten werken:
[ code verwijderd ]
volgens mij kent mysql geen functie om alles opnieuw toe te wijzen
waarom zou je dat willen? In welke situatie gebruik je dit?quote:Op vrijdag 23 maart 2012 14:10 schreef LightLuke het volgende:
Ik kom er even niet uit, ik verwijder een record in mijn database waardoor ik dus een gat krijg in de data
het was 1,2,3,4,5
Ik verwijder 2 dus nu heb ik 1,3,4,5.
Met welke mysql update query krijg ik gewoon weer een rijtje 1,2,3,4 eruit?
In het bepalen van de volgorde van een playlist.quote:Op vrijdag 23 maart 2012 15:05 schreef totalvamp het volgende:
[..]
waarom zou je dat willen? In welke situatie gebruik je dit?
1 | UPDATE tblPlaylists SET positie = positie - 1 WHERE positie > $netverwijderdepositie AND playlistid = $playlist |
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |