abonnement Unibet Coolblue Bitvavo
  donderdag 15 maart 2012 @ 12:04:49 #1
12348 _Flash_
Heeft altijd blackjack
pi_109125419


Als je vragen hebt over PHP/MySQL, dan zit je hier goed met een vaste kliek guru's en een groot aantal regelmatige bezoekers. Beperk je vragen niet tot "hij doet het niet" of "hij geeft een fout" - onze glazen bol is kapot en we willen graag van je weten wát er niet lukt en wélke foutmelding je precies krijgt :)

Zie ook:
PHP Dataverwerking
Officiële PHP website
PHP Documentatie
MySQL Reference Manual
Yet Another PHP Faq
PHP Cheat Sheet
PHP5 Power Programming - boek met uitleg over OOP, Pear, XML, etc

Tutorials:
W3Schools PHP
W3Schools SQL
Devil, just come on back if you ever wanna try again, because I told you once you son of a bitch, I'm the best there's ever been!
  donderdag 15 maart 2012 @ 12:25:35 #2
12348 _Flash_
Heeft altijd blackjack
pi_109126001
Ok. Zal ik eens een vraag neerzetten.

Stel je hebt een tabel met klanten en een tabel met adressen. Eén klant heeft drie adressen.
Nu ben je een zoekfunctie aan het schrijven die ook in de adressen moet gaan zoeken naar bepaalde keywords. Dit wil je in één query doen, waar dan alle unieke klanten uit komen rollen waarbij de keywords voorkomen in minimaal 1 van de doorzoekbare velden van de klant en/of bijbehorende adressen.

Nu kan je via 3 left joins de drie adressen aan een klant breien en dan in de WHERE via LIKE gaan testen. Dit gaat zwaar ten koste van de performance.

Hoe zou je dit het beste kunnen oplossen?

Idee van mijzelf: plemp alle adresinformatie in één nieuwe kolom (tekstarea) in de klantentabel en zoek hierbinnen. Scheelt je JOINS en is relatief eenvoudig, bij een update van adresinformatie moet je even dit veld ook updaten.

Wie weet er wat slimmers?
Devil, just come on back if you ever wanna try again, because I told you once you son of a bitch, I'm the best there's ever been!
  donderdag 15 maart 2012 @ 12:29:07 #3
75592 GlowMouse
l'état, c'est moi
pi_109126126
Die twee opties zijn vergelijkbaar.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  donderdag 15 maart 2012 @ 12:39:45 #4
12348 _Flash_
Heeft altijd blackjack
pi_109126493
Qua performance zijn ze niet vergelijkbaar. Als je ze aan elkaar joint en dan gebruik maakt van LIKE om in die 20 a 30 extra velden te zoeken, dan kost dat zo een seconde of 20 tot 60. (Stel 1000 klanten en dus ook 3000 adressen).

Hou je de adresinformatie ook in een hulp-kolom in de klantentabel bij, dan werkt de zoekfunctie bijna instantaneous.

Ik vraag me af of er via mysql nog wat te bedenken is dat snel en toch eleganter dan het genoemde alternatief werkt.

Ik bedenk me, dat is niet echt een PHP-vraag, maar goed :-)
Devil, just come on back if you ever wanna try again, because I told you once you son of a bitch, I'm the best there's ever been!
  donderdag 15 maart 2012 @ 13:38:40 #5
4159 GI
Nee ik heet geen JOE
pi_109128268
Waarom hou je in de adressentabel niet een key (of meerdere keys) bij om te kijken bij welke klant het hoort ?
  donderdag 15 maart 2012 @ 13:50:33 #6
12348 _Flash_
Heeft altijd blackjack
pi_109128694
Zit de vertraging in dit geval niet in het toepassen van LIKE op zoveel velden?

NB, voor iedere key en ieder extra veld ontstaat weer een ritsje extra LIKES:

WHERE (klant.naam LIKE %key1% OR adres1.plaats LIKE %key1% OR...)
AND (klant.naam LIKE %key2% OR adres1.plaats LIKE %key2% OR...)
Devil, just come on back if you ever wanna try again, because I told you once you son of a bitch, I'm the best there's ever been!
pi_109129973
@_FLASH_
gebruik PostgrSQL ipv MysQL en doe een FULLTEXT search ipv like.
FULLTEXT search is vele malen snellen dan een LIKE.
  donderdag 15 maart 2012 @ 14:35:51 #8
63192 ursel
"Het Is Hier Fantastisch!
pi_109130285
Ook voor MySQL zijn daar oplossingen voor. Hoef je niet direct andere DB neer te zetten.
  donderdag 15 maart 2012 @ 14:42:12 #9
75592 GlowMouse
l'état, c'est moi
pi_109130453
quote:
0s.gif Op donderdag 15 maart 2012 12:39 schreef _Flash_ het volgende:
Qua performance zijn ze niet vergelijkbaar.
Dan doe je wat verkeerd, je zult de index voor de join wel vergeten zijn.
quote:
0s.gif 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.
Maar de resultaten zijn ook anders.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  donderdag 15 maart 2012 @ 14:57:15 #10
12348 _Flash_
Heeft altijd blackjack
pi_109130895
quote:
0s.gif 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.

Ongetwijfeld :)
De id's van beide tabellen zijn primary keys.
In de join zeg ik iets als SELECT ... FROM klant LEFT JOIN adres AS adres1 ON klant.id=adres.id_klant WHERE ...

Bedoel je met "index voor de join" iets dat ik in de tabellen zelf moet instellen of iets in de query?
Devil, just come on back if you ever wanna try again, because I told you once you son of a bitch, I'm the best there's ever been!
  donderdag 15 maart 2012 @ 15:29:05 #11
75592 GlowMouse
l'état, c'est moi
pi_109131983
Post de EXPLAIN van je query met joins en like eens.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  donderdag 15 maart 2012 @ 16:09:06 #12
12348 _Flash_
Heeft altijd blackjack
pi_109133366
Oei daar vraag je me wat. Op de live site is het deel van de adressen er nu hardhandig uitgecomment om de performance weer acceptabel te krijgen. Zal vanavond even echo'en en copypasten.

Edit; toch even handmatig de PHP code hersteld die de query genereert, ter lering en/of vermaak:

$zoektermen = explode(" ", $zoekstring);
foreach ($zoektermen AS $zoekterm) {
$where_deel .= " AND (".$system_prefix."klant.klantnaam LIKE '%".$zoekterm."%' OR ".$system_prefix."klant.klantcode LIKE '%".$zoekterm."%' OR ad1.adres1 LIKE '%".$zoekterm."%' OR ad1.adres2 LIKE '%".$zoekterm."%' OR ad2.adres1 LIKE '%".$zoekterm."%' OR ad2.adres2 LIKE '%".$zoekterm."%' OR ad2.plaats LIKE '%".$zoekterm."%' OR ad1.telefoon LIKE '%".$zoekterm."%' OR ad2.telefoon LIKE '%".$zoekterm."%')";
}
$sql_query = mysql_query("SELECT COUNT(".$system_prefix."klant.id) as aantal FROM (".$system_prefix."klant LEFT JOIN ".$system_prefix."klant_adres AS ad1 ON (".$system_prefix."klant.id=ad1.klant AND ad1.soort=1)) LEFT JOIN ".$system_prefix."klant_adres AS ad2 ON (".$system_prefix."klant.id=ad2.klant AND ad2.soort=2) WHERE ".$system_prefix."klant.status='ok'".$where_deel.";");
Devil, just come on back if you ever wanna try again, because I told you once you son of a bitch, I'm the best there's ever been!
  donderdag 15 maart 2012 @ 16:19:24 #13
12348 _Flash_
Heeft altijd blackjack
pi_109133790
De explain:

id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE prefix_klant ALL NULL NULL NULL NULL 1451 Using where
1 SIMPLE ad1 ALL NULL NULL NULL NULL 2902
1 SIMPLE ad2 ALL NULL NULL NULL NULL 2902 Using where
Devil, just come on back if you ever wanna try again, because I told you once you son of a bitch, I'm the best there's ever been!
  donderdag 15 maart 2012 @ 16:29:23 #14
75592 GlowMouse
l'état, c'est moi
pi_109134174
In ad1 en ad2 mist de index op klant. Ik zou hier een index maken op (klant,soort) (1 index op 2 velden).
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_109139029
quote:
0s.gif 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).
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...
  donderdag 15 maart 2012 @ 20:25:22 #16
75592 GlowMouse
l'état, c'est moi
pi_109142958
quote:
0s.gif 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...
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).
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_109143490
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.
  donderdag 15 maart 2012 @ 20:34:26 #18
75592 GlowMouse
l'état, c'est moi
pi_109143534
quote:
0s.gif 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.
helaas, geen koelkast
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_109144309
quote:
0s.gif 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 :)
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 bedankt O+

quote:
0s.gif 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.
Oh, dit ga ik proberen, bedankt! O+
  zondag 18 maart 2012 @ 18:36:41 #20
363305 Muffle
Mufflelicious
pi_109242604
Wie zou mij kunnen helpen met PHP code?
Het betreft algoritmes invoeren om punten te berekenen, maar hiervoor moeten variabelen worden gemaakt enzovoort.
pi_109245779
Zelf beginnen en als je er niet uitkomt horen we het wel.
  zondag 18 maart 2012 @ 21:22:00 #22
12348 _Flash_
Heeft altijd blackjack
pi_109250390
Hoe ver ben je en waar gaat het fout?
Devil, just come on back if you ever wanna try again, because I told you once you son of a bitch, I'm the best there's ever been!
  zondag 18 maart 2012 @ 23:48:59 #23
87680 Mirel
Mirel wil een bongophone.
pi_109259473
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.
When all else fails, you always have delusion.
  maandag 19 maart 2012 @ 10:32:30 #24
118585 Crutch
Filantroop || Taalzwengel
pi_109265962
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.
Je moeder is een hamster
pi_109266241
quote:
0s.gif 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.
Geef je een geldigheidsduur mee aan de setcookie functie?
  maandag 19 maart 2012 @ 10:49:41 #26
118585 Crutch
Filantroop || Taalzwengel
pi_109266393
quote:
0s.gif Op maandag 19 maart 2012 10:43 schreef The_Terminator het volgende:

[..]

Geef je een geldigheidsduur mee aan de setcookie functie?
STOP DE PERSEN!!

Ja deed ik dus wel, maar ik zag over het hoofd dat ik eerder tijdens het testen ergens in mijn if-statement nadat ik de cookie aanmaakte de cookie nogmaals aanmaakte zonder geldigheidsduur. :')

Tja dan vervalt ie wanneer je de browser sluit.

Gewoon slordig van me, maar toch bedankt. :')
Je moeder is een hamster
  maandag 19 maart 2012 @ 12:08:52 #27
12348 _Flash_
Heeft altijd blackjack
pi_109268852
quote:
0s.gif 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.
Phpmailer is een tool om mailtjes mee te versturen.

Wat bedoel je met "Ik kom er net achter dat ik niks kan invullen in de tekstboxen. Die doen het gewoon in een testbestand."? Heb je al een begin gemaakt met het opmaken van het HTML-formulier opgemaakt en een PHP-script dat de mailing verzorgt? Waar gaat het mis?

Zo te zien zit er trouwens geen CMS achter de site. Is dat niet een idee om te koppelen?
Devil, just come on back if you ever wanna try again, because I told you once you son of a bitch, I'm the best there's ever been!
  maandag 19 maart 2012 @ 12:12:28 #28
87680 Mirel
Mirel wil een bongophone.
pi_109268958
Het HTML formulier is af, en het phpscript erachter ook, maar die kan ik nog niet testen. Ik kan letterlijk niks in een tekstveld typen: http://sbscoaching.nl/contact-test.php

Er is niks mis met het formulier zover ik weet, ik heb die even op een testpagina op m'n eigen site gezet en daar kan ik wel gewoon dingen erin tikken. Zo'n tekstboxje heb ik even verplaatst op een andere plek in de sbscoaching site (zonder form tag), en daar kan ik ook niks invullen.
When all else fails, you always have delusion.
  maandag 19 maart 2012 @ 12:18:49 #29
12348 _Flash_
Heeft altijd blackjack
pi_109269157
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.
Devil, just come on back if you ever wanna try again, because I told you once you son of a bitch, I'm the best there's ever been!
pi_109273017
quote:
0s.gif Op maandag 19 maart 2012 10:32 schreef Crutch het volgende:
Register Globals staat op 'on', check.
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.
  maandag 19 maart 2012 @ 14:31:27 #31
75592 GlowMouse
l'état, c'est moi
pi_109273055
quote:
0s.gif Op maandag 19 maart 2012 14:29 schreef totalvamp het volgende:

[..]

GELIJK weer uitzetten anders weet je zeker dat je script gehackt wordt.
als je netjes code dan valt dat wel mee
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_109273089
quote:
0s.gif Op maandag 19 maart 2012 14:31 schreef GlowMouse het volgende:

[..]

als je netjes code dan valt dat wel mee
Het is een serieus veiligheids probleem... dat kun je niet goedpraten.
  maandag 19 maart 2012 @ 14:34:11 #33
87680 Mirel
Mirel wil een bongophone.
pi_109273163
quote:
0s.gif 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.
Ah thanks. Zulke dingen zijn toch waardeloos :')

Maar welke zijn het precies? Ik zie niks in de source. Op de indivuele pagina op de server staat ook niks. Op de index staat dit, maar het is iets anders, niet voor de muiskliks:
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_pd.MM_p=new Array();
    var 
i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0i<a.lengthi++)
    if (
a[i].indexOf("#")!=0){ d.MM_p[j]=new Imaged.MM_p[j++].src=a[i];}}
}

function 
MM_findObj(nd) { //v4.01
  
var p,i,x;  if(!dd=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    
d=parent.frames[n.substring(p+1)].documentn=n.substring(0,p);}
  if(!(
x=d[n])&&d.allx=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(!
&& d.getElementByIdx=d.getElementById(n); return x;
}

function 
MM_swapImage() { //v3.0
  
var i,j=0,x,a=MM_swapImage.argumentsdocument.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.oSrcx.oSrc=x.srcx.src=a[i+2];}
}
//-->
</script>
?>
When all else fails, you always have delusion.
pi_109273279
Niks wat daarbij staat...

dit moet je vinden
1<body onContextMenu="return false;" onmousedown="return false;" onselectstart="return false;">
  maandag 19 maart 2012 @ 14:38:45 #35
87680 Mirel
Mirel wil een bongophone.
pi_109273313
OH DAT. Die shit heb ik er zelf in moeten doen ooit. :')

:')
When all else fails, you always have delusion.
pi_109273348
quote:
0s.gif Op maandag 19 maart 2012 14:38 schreef Mirel het volgende:
OH DAT. Die shit heb ik er zelf in moeten doen ooit. :')

:')
laat me raden: de eigenaar van de site is voor het eerst online en denkt ik moet alles beveiligen tegen alles :')
  maandag 19 maart 2012 @ 14:44:01 #37
87680 Mirel
Mirel wil een bongophone.
pi_109273505
Zoiets
When all else fails, you always have delusion.
  maandag 19 maart 2012 @ 14:54:33 #38
87680 Mirel
Mirel wil een bongophone.
pi_109273866
Ok die zooi is nu in te vullen, maar de submit doet niks. Browser zegt dat http://sbscoaching.nl/contactformulieraction.php niet bestaat ;(

Hij staat echt daar:
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.";
?>

Ik moet nog de rest van de variabelen erin doen. Ik vraag me overigens af hoe ik ze onder elkaar krijg. Dat met die ' en " komma's voor en na een string snap ik niet.

Zoiets?
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."'";
?>

Die string ID's zijn slordig ja ):O
When all else fails, you always have delusion.
  maandag 19 maart 2012 @ 14:57:44 #39
75592 GlowMouse
l'état, c'est moi
pi_109273973
check je error log
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  maandag 19 maart 2012 @ 14:59:52 #40
118585 Crutch
Filantroop || Taalzwengel
pi_109274046
quote:
0s.gif 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.
ok staat uit en alles werkt, dank je.
Je moeder is een hamster
  maandag 19 maart 2012 @ 15:00:15 #41
87680 Mirel
Mirel wil een bongophone.
pi_109274060
Remote server or file not found
Check that the address is spelled correctly, or try searching for the site.

Is wel goedgespeld. :?

Ik zie nergens anders een plek waar errors komen dan in de browser.
When all else fails, you always have delusion.
  maandag 19 maart 2012 @ 15:07:21 #42
118585 Crutch
Filantroop || Taalzwengel
pi_109274292
quote:
0s.gif 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 ;(
Klik er eens op dan.
Je moeder is een hamster
  maandag 19 maart 2012 @ 15:08:28 #43
87680 Mirel
Mirel wil een bongophone.
pi_109274325
Dat doe ik, en dan geeft de browser een error dat het niet bestaat of dat de naam fout is. Maar dat is niet zo. Of mis ik nu iets? :? Maar het is puur php, dus dan zou ik neem ik aan gewoon een blanco pagina zien?
When all else fails, you always have delusion.
  maandag 19 maart 2012 @ 15:10:01 #44
56176 Catch22-
Ben je Blind?!
pi_109274369
hij geeft een HTTP500 error, je hebt dus een fout in je script. Debuggen 101
Heel veel groetjes, Catch22
En zoals mijn opa zei: "Al is het meisje nog zo mooi, haar poep stinkt ook". Rust Zacht opa..
Met GHB nooit meer nee
Storneren een optie?
pi_109274407
misschien een htaccess error :)
  maandag 19 maart 2012 @ 15:11:17 #46
87680 Mirel
Mirel wil een bongophone.
pi_109274413
In opera zag ik niet wat voor soort error het was. In firefox was het enkel een lege pagina. Maar ik vraag ook hier wat de fout in het script is. Het gedeelte wat in de mail te zien is is me nooit duidelijk, met al die komma's :?
When all else fails, you always have delusion.
  maandag 19 maart 2012 @ 15:11:33 #47
25889 Sitethief
Fulltime Flapdrol
pi_109274424
sluit regel 5 eerst maar eens correct af.
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
  maandag 19 maart 2012 @ 15:11:56 #48
118585 Crutch
Filantroop || Taalzwengel
pi_109274435
quote:
0s.gif Op maandag 19 maart 2012 15:11 schreef Sitethief het volgende:
sluit regel 5 eerst maar eens correct af.
_O-
Je moeder is een hamster
  maandag 19 maart 2012 @ 15:12:29 #49
25889 Sitethief
Fulltime Flapdrol
pi_109274455
En of je gebruikt enkele aanhalingstekens om je strings, of dubbele, maar allebei is niet nodig :).
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
  maandag 19 maart 2012 @ 15:12:45 #50
56176 Catch22-
Ben je Blind?!
pi_109274467
Dus; fix een goede editor en lees een debugguide.

quote:
0s.gif 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 :).
je kan die variabelen toch gewoon inline gooien?
Heel veel groetjes, Catch22
En zoals mijn opa zei: "Al is het meisje nog zo mooi, haar poep stinkt ook". Rust Zacht opa..
Met GHB nooit meer nee
Storneren een optie?
  maandag 19 maart 2012 @ 15:12:58 #51
87680 Mirel
Mirel wil een bongophone.
pi_109274473
Oke. Die had ik van een tutorial gevonden :)
When all else fails, you always have delusion.
  maandag 19 maart 2012 @ 15:14:04 #52
87680 Mirel
Mirel wil een bongophone.
pi_109274510
quote:
11s.gif 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?
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.
When all else fails, you always have delusion.
  maandag 19 maart 2012 @ 15:24:12 #53
25889 Sitethief
Fulltime Flapdrol
pi_109274801
1
2
3
4
5
<?php
$string 
"blabla".$variabele."bloblo";
//of
$string 'blabla'.$variabele.'bloblo';
?>

Als je jezelf vastlegt om een van beide te gebruiken kun je ook niet zomaar door de war komen, vroeger was er nog een snelheidsprobleem tussen beiden dat is er nu niet.

Met de code die jij schrijft zou ik opteren voor de single quote, zodat je er veilig HTML tussen kan zetten die dubbele quotes gebruiken, hoef je die niet te escapen. Officieel mogen enkele quotes ook in HTML, alleen zie je dat veel minder imho

Het lijkt me een stap te ver om nu diep in te gaan in het memory gebruik van concatenate en manieren om dit te versnellen etc etc. Probeer eerst de basis concepten van PHP te begrijpen.
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
pi_109312221
Kleine vraag, waarschijnlijk kijk ik ergens overheen

Stel ik heb 2 classes

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 />';
?>

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.
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  dinsdag 20 maart 2012 @ 14:06:34 #55
25889 Sitethief
Fulltime Flapdrol
pi_109312421
Je kunt volgens mij niet in in een parent de child class oproepen, met andere woorden, extending gaat maar een kant op, namelijk parent->child. Nu heb je volgens mij een loop want je roept in hoofd plugin aan en die extend hoofd en die roept plugin aan etc etc.
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
pi_109313169
Wat ben je van plan? Want ik zit even je code door te lezen, maar ik snap er helemaal geen hol van. Childs aanroepen in je parent class en parent functies aanroepen die niet bestaan?

Duik eerst eens in het OO programmeren, want je hebt er volgens mij nog niet echt kaas van gegeten en gooi protected abstract function validate(); even in je hoofd klasse, zodat je verplicht wordt om in kinder klasses deze aan te roepen.
pi_109313360
quote:
0s.gif 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.
Begin maar opnieuw met OO.
pi_109321250
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! :)
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_109321348
quote:
0s.gif 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! :)
Waarom wil je variabelen wijzigen in je hoofdclass?
pi_109321442
Ik ben bezig met een 1 produkt webshop en daarin wil ik plugins verwerken maar zie nu dat ik die beter buiten de class kan aanroepen en dan de shop class kan aanroepen om gegevens te verwerken!.
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_109372228
quote:
0s.gif 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?
In je parent hou je dan de instanties bij. Waarom extend plugin hoofd? Weet je wat extenden is en waar t voor gebruikt wordt? Ik heb een vermoeden dat je het als doorgeefluik aan het gebruiken bent...
pi_109391308
Gisteren maar een nieuw project gestart(na het hebben van een vage droom). Hier kan ik weer gelijk alle nieuwe technieken voor leren en gebruiken :).
Het is een simulator :P
  donderdag 22 maart 2012 @ 16:18:46 #63
136730 PiRANiA
All thinking men are atheists.
pi_109391433
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?
  donderdag 22 maart 2012 @ 16:24:59 #64
91039 mstx
2x1/2 = 1/2 x 1/2
pi_109391641
quote:
5s.gif 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?
Unsigned int, opslaan kan dan makkelijk met INET_ATON() en weer ophalen met INET_NTOA().
Op donderdag 2 juli 2009 22:41 schreef RTB het volgende:
als ik elk rap"liedje" een kans moest geven was ik aan het eind van dit millennium nog bezig met het tempo waarin die kotshoop uitgebraakt wordt.
👾
  donderdag 22 maart 2012 @ 16:27:19 #65
111382 Ofyles2
Bestemming: onbekend
pi_109391712
Ik houd het voorlopig bij VARCHAR, dit om voorbereid te zijn op IPv6.

Uiteraard kijk ik wel of het eenvoudiger kan.
pi_109396531
quote:
0s.gif 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.
Lijkt me makkelijker dan om 1 veld ip4 te hebben en 1 ip6.
pi_109427797
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?
Typ mee! FOK!Whatpulse
PSN OnlineID: LightLuke92
pi_109428661
quote:
0s.gif 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?
is het een autoincrement waarde?

niet netjes maar zou moeten werken:
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 
volgens mij kent mysql geen functie om alles opnieuw toe te wijzen
pi_109428739
quote:
0s.gif 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
Het is geen autoincrement waarde :P
Typ mee! FOK!Whatpulse
PSN OnlineID: LightLuke92
pi_109429989
quote:
0s.gif 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?
waarom zou je dat willen? In welke situatie gebruik je dit?
pi_109430423
quote:
0s.gif Op vrijdag 23 maart 2012 14:31 schreef LightLuke het volgende:

[..]

Het is geen autoincrement waarde :P
Dan bepaal je zelf toch gewoon de waarde??

Edit:
Laat maar, vraag verkeerd geinterpreteerd :)
pi_109431872
quote:
0s.gif Op vrijdag 23 maart 2012 15:05 schreef totalvamp het volgende:

[..]

waarom zou je dat willen? In welke situatie gebruik je dit?
In het bepalen van de volgorde van een playlist.
de genoemde getallen staan voor de positie van een track in een playlist.
Typ mee! FOK!Whatpulse
PSN OnlineID: LightLuke92
  vrijdag 23 maart 2012 @ 15:55:28 #73
56176 Catch22-
Ben je Blind?!
pi_109431912
1UPDATE tblPlaylists SET positie = positie - 1 WHERE positie > $netverwijderdepositie AND playlistid = $playlist
Heel veel groetjes, Catch22
En zoals mijn opa zei: "Al is het meisje nog zo mooi, haar poep stinkt ook". Rust Zacht opa..
Met GHB nooit meer nee
Storneren een optie?
pi_109432016
quote:
11s.gif Op vrijdag 23 maart 2012 15:55 schreef Catch22- het volgende:

[ code verwijderd ]

Haha thanks! Dat is hem :)
Typ mee! FOK!Whatpulse
PSN OnlineID: LightLuke92
  zaterdag 24 maart 2012 @ 09:58:58 #75
370539 kucher
is snucher
pi_109455878
Het hangt af van de toepassing, je kan

• Gewoon niet IP-adressen bewaren als dat niet een vereiste is voor de functionaliteit van het programma
• De eerste 48 bits opslaan in een bigint
• Bij het ontbreken van een IP-type, aangepaste typen en arrays het volledige adres opslaan in 2 bigints (niet echt een optie in de meeste gevallen)
• Het adres met nullen opslaan in een char(39)

De eerste optie is de makkelijkste, de tweede is een goede interim-oplossing en bij de laatste 2 oplossingen moet je IPv4 omzetten in gelijkwaardige IPv6-adressen (:: ffff: ...). Het beste zou zijn om een native IP gegevenstype hebben met functies ter ondersteuning, zoals multicast() en routable().

Als de functionaliteit vereist is om IP-adressen op te slaan in MySQL, dan zou ik optie 4 nemen, anders 1 of 2. Tenzij je een IPv6 router aan het implementeren bent in stored functions, dan is optie 3 het efficiëntst (oftewel nooit).

[ Bericht 7% gewijzigd door kucher op 24-03-2012 10:09:32 ]
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')