abonnement Unibet Coolblue Bitvavo
  FOK!-Schrikkelbaas woensdag 22 maart 2006 @ 21:10:39 #61
1972 Swetsenegger
Egocentrische Narcist
pi_36277754
quote:
Op woensdag 22 maart 2006 21:09 schreef JeRa het volgende:
Je snapt hem helemaal, en wat je dus moet doen:
-) Áltijd mysql_real_escape_string() toepassen als je het in een query zet
-) Niet strippen als je het uit de DB haalt, omdat de database op deze manier altijd de pure, ongeslashde data bevat (en zo hoort het ook)
Dat laatste snap ik niet.
mysql_real_escape_string... de naam zegt het al een beetje.... escaped (slashed) toch OOK?
pi_36278112
quote:
Op woensdag 22 maart 2006 21:10 schreef Swetsenegger het volgende:

[..]

Dat laatste snap ik niet.
mysql_real_escape_string... de naam zegt het al een beetje.... escaped (slashed) toch OOK?
Door die code bovenaan je script te zetten zorg je ervoor dat alle wijzigingen gedaan door magic_quotes_gpc ongedaan worden gemaakt dit heeft in basisbeginsel niets te maken met MySQL of wat dan ook, puur met de data die je van de gebruiker krijgt.

Door mysql_real_escape_string() te gebruiken zorg je ervoor dat je deze data van de gebruiker in een query kunt zetten zonder dat quotes kapot gaan. Voorbeeldje:

SELECT * FROM tabel WHERE naam = '$variabele'

Als $variabele nu een apostrofe bevat, dan is de query kapot. Dit kan tot beveiligingslekken leiden (SQL injection). Dáárom doe je een mysql_real_escape_string() over je data

Je database bevat dan gewoon de pure data van de gebruiker, zónder slashes (omdat dit alléén voor de query was). Als je deze opvraagt krijg je ook deze data binnen, omdat magic_quotes_gpc alleen voor $_GET, $_POST en $_COOKIES van toepassing is.
  FOK!-Schrikkelbaas woensdag 22 maart 2006 @ 21:39:35 #63
1972 Swetsenegger
Egocentrische Narcist
pi_36278869
quote:
Op woensdag 22 maart 2006 21:20 schreef JeRa het volgende:

[..]

Door die code bovenaan je script te zetten zorg je ervoor dat alle wijzigingen gedaan door magic_quotes_gpc ongedaan worden gemaakt dit heeft in basisbeginsel niets te maken met MySQL of wat dan ook, puur met de data die je van de gebruiker krijgt.

Door mysql_real_escape_string() te gebruiken zorg je ervoor dat je deze data van de gebruiker in een query kunt zetten zonder dat quotes kapot gaan. Voorbeeldje:

SELECT * FROM tabel WHERE naam = '$variabele'

Als $variabele nu een apostrofe bevat, dan is de query kapot. Dit kan tot beveiligingslekken leiden (SQL injection). Dáárom doe je een mysql_real_escape_string() over je data

Je database bevat dan gewoon de pure data van de gebruiker, zónder slashes (omdat dit alléén voor de query was). Als je deze opvraagt krijg je ook deze data binnen, omdat magic_quotes_gpc alleen voor $_GET, $_POST en $_COOKIES van toepassing is.
Ah ok, mysql_real_escape_string is 'weg' zodra $variabele de db ingaat
pi_36279020
quote:
Op woensdag 22 maart 2006 21:39 schreef Swetsenegger het volgende:

[..]

Ah ok, mysql_real_escape_string is 'weg' zodra $variabele de db ingaat
Mjup, het is dus gewoon een manier voor MySQL om apostrofes/newlines/etc in strings te ondersteunen
  FOK!-Schrikkelbaas woensdag 22 maart 2006 @ 22:11:33 #65
1972 Swetsenegger
Egocentrische Narcist
pi_36280006
quote:
Op woensdag 22 maart 2006 21:43 schreef JeRa het volgende:

[..]

Mjup, het is dus gewoon een manier voor MySQL om apostrofes/newlines/etc in strings te ondersteunen
Top,
jammer dat ik bij oude websites nogal de plank heb misgeslagen mbt slashes en escapen
Ik heb zelfs zonder enige controlle addslashes gedaan, simpelweg omdat ik toen in de veronderstelling was dat dit moest.

Iets later ben ik in ieder geval gaan controleren of magic_quotes aanstond, en zo nee addslashes.

Dus ik ben wat oude scripts aan het herzien nu en rechttrekken voordat het ECHT een zooitje wordt
pi_36280143
quote:
Op woensdag 22 maart 2006 22:11 schreef Swetsenegger het volgende:

[..]

jammer dat ik bij oude websites nogal de plank heb misgeslagen mbt slashes en escapen
Herkenning ben ooit uit pure frustratie al m'n sites afgelopen om het goed te zetten, niet leuk aangezien een deel uit de tijd kwam dat ik nog niet wist hoe JOINs werkten (en dus geneste queries schreef ).
  FOK!-Schrikkelbaas woensdag 22 maart 2006 @ 22:24:58 #67
1972 Swetsenegger
Egocentrische Narcist
pi_36280578
quote:
Op woensdag 22 maart 2006 22:15 schreef JeRa het volgende:

[..]

Herkenning ben ooit uit pure frustratie al m'n sites afgelopen om het goed te zetten, niet leuk aangezien een deel uit de tijd kwam dat ik nog niet wist hoe JOINs werkten (en dus geneste queries schreef ).
Ja zo ben ik nu ook wat sites aan het aflopen en ik ZIE me een bagger .
Nou ja, er zijn op dit moment van paginaatjes een stuk effectiever
pi_36283603
quote:
Op woensdag 22 maart 2006 22:24 schreef Swetsenegger het volgende:

[..]

Ja zo ben ik nu ook wat sites aan het aflopen en ik ZIE me een bagger .
Nou ja, er zijn op dit moment van paginaatjes een stuk effectiever
Da's op zich niet zo heel ongebruikelijk als je oude code bekijkt. Door ervaring word je beter, en dan (b)lijkt je oude code stukken slechter in elkaar te zitten dan je eerst dacht.
pi_36286761
Hum, ik zit me al weer een tijdje blind te staren op een scriptje waar ik mee bezig ben
Hopelijk kan iemand me helpen..

Ok, de bedoeling van het totale script is om voor schippers de maximale belading te berekenen.
Dit is afhankelijk van de waterstanden, dus die haal ik op van een andere website: http://www.iidesk.com/water/water

Dat ophalen doe ik hiermee en dat geeft dit als uitvoer.

Ok, en nu verder..
Nou heb ik de gemiddelde steiging of daling per dag nodig.
Op zich is het voldoende om de gemiddelde daling/stijging van de laatste 3 dagen te nemen, en ik heb alleen Kaub en Mannheim nodig.
Ik weet het, het is stom, maar ik kom er gewoon niet mee uit de voeten..

Kan iemand me er wellicht mee helpen?
pi_36287133
@Siegfried

Je hebt de gemiddelde stijging of daling per dag nodig, maar het is 'voldoende om de gemiddelde daling/stijging van de laatste 3 dagen te nemen'? Naar mijn weten heb je voor een gemiddelde per dag nog altijd alleen de gegevens van één dag nodig . Bedoel je misschien de gem. daling/stijging per weekdag?

Verder: heb je voor jezelf duidelijk wát je nu precies wilt doen? Wat wil je bereiken en kun je het probleem handmatig oplossen? Zo nee, waar loop je vast?
pi_36291440
De verschil ten opzichte van de vorige dag staat er onder (met <br><small>xx</small>

die kun je toch op dezelfde manier in de arry stoppen?
pi_36298619
quote:
Op donderdag 23 maart 2006 04:00 schreef JeRa het volgende:
@Siegfried

Je hebt de gemiddelde stijging of daling per dag nodig, maar het is 'voldoende om de gemiddelde daling/stijging van de laatste 3 dagen te nemen'? Naar mijn weten heb je voor een gemiddelde per dag nog altijd alleen de gegevens van één dag nodig . Bedoel je misschien de gem. daling/stijging per weekdag?

Verder: heb je voor jezelf duidelijk wát je nu precies wilt doen? Wat wil je bereiken en kun je het probleem handmatig oplossen? Zo nee, waar loop je vast?
Hum, nou ja handmatig lukt het me wel.. sort of..
Kijk, ik moet weten wat het water gemiddeld gedaan heeft de afgelopen dagen. Dus moet ik weten wat het van gister op vandaag deed, eergister op gister en eereergister op eergister. Dit is de stijging/daling van de afgelopen 3 dagen, bij elkaar optellen en delen door 3 (denk ik ) dan heb ik de gemiddelde stijging/daling van de afgelopen 3 dagen.. Hoop ik..
Het is van belang om dat te weten om de trend te kunnen voorspellen.. Het water gaat niet in een keer veel harder stijgen of dalen..

Wellicht dat je me nu ietsje verder kunt helpen?
pi_36298666
quote:
Op donderdag 23 maart 2006 11:22 schreef the_disheaver het volgende:
De verschil ten opzichte van de vorige dag staat er onder (met <br><small>xx</small>

die kun je toch op dezelfde manier in de arry stoppen?
Ja dat klopt, maar ik heb de waterstanden ook nodig, voor latere berekeningen.
Dus daar kan ik het in feite mee uitrekenen..
pi_36298763
quote:
Op donderdag 23 maart 2006 15:31 schreef Siegfried het volgende:

[..]

Wellicht dat je me nu ietsje verder kunt helpen?
Ik wil wel, zodra je me vertelt wat er niet lukt
pi_36298922
quote:
Op donderdag 23 maart 2006 15:31 schreef Siegfried het volgende:

[..]

Hum, nou ja handmatig lukt het me wel.. sort of..
Kijk, ik moet weten wat het water gemiddeld gedaan heeft de afgelopen dagen. Dus moet ik weten wat het van gister op vandaag deed, eergister op gister en eereergister op eergister. Dit is de stijging/daling van de afgelopen 3 dagen, bij elkaar optellen en delen door 3 (denk ik ) dan heb ik de gemiddelde stijging/daling van de afgelopen 3 dagen.. Hoop ik..
Het is van belang om dat te weten om de trend te kunnen voorspellen.. Het water gaat niet in een keer veel harder stijgen of dalen..

Wellicht dat je me nu ietsje verder kunt helpen?
Nee, daarmee bereken je de gemiddelde waterstand van de afgelopen 3 dagen.

Als je van de waterhoogte van 3 dagen de stijging/dlaing over 3 dagen wilt weten, dan trek je simpel weg de waterhoogte van nu af van de waterhoogte van 3 dagen geleden. Een negatief getal is een daling.

Dit kan ook door de veranderingen tov de vorige dag (de waarden die onder de waterstand staan in kleine letters tussen haakjes op te tellen.
pi_36299411
quote:
Op donderdag 23 maart 2006 15:41 schreef the_disheaver het volgende:

[..]

Nee, daarmee bereken je de gemiddelde waterstand van de afgelopen 3 dagen.

Als je van de waterhoogte van 3 dagen de stijging/dlaing over 3 dagen wilt weten, dan trek je simpel weg de waterhoogte van nu af van de waterhoogte van 3 dagen geleden. Een negatief getal is een daling.

Dit kan ook door de veranderingen tov de vorige dag (de waarden die onder de waterstand staan in kleine letters tussen haakjes op te tellen.
Nee hier heb je ongelijk, want ik tel niet de waterstand op, en deel die door 3 maar het verschíl van de 3 dagen..
Dus
vandaag - gister = verschil 1
gister - eergister = verschil 2
eergister - eereergister = verschil 3

(verschil 1 + verschil 2 + verschil 3) / 3 = het gem stijging/daling van de afgelopen 3 dagen, right?
Die is nauwkeuriger dan vandaag - eereergisteren, lijkt mij..
pi_36299445
quote:
Op donderdag 23 maart 2006 15:36 schreef JeRa het volgende:

[..]

Ik wil wel, zodra je me vertelt wat er niet lukt
Mja deze som nu omzetten naar PHP wil me gewoon niet lukken
Heb er vannacht mee zitten kloten, maar kwam gewoon neit verder.

Got to go now, ik kijk er morgen weer naar!

In ieder geval top dat je wilt helpen!
pi_36299800
Je moet hiervoor twee dingen weten, één: elementen uit een array benaderen. Twéé: de elementen optellen en door elkaar delen.

Even met het makkelijkst beginnen, optellen en delen doe je zo:
$som = $getal + $nogEenGetal + $nondejuWatVeelGetallen;
$gemiddelde = $som / 3;

En een array benaderen doe je door middel van brackets stel, je hebt een array met vijf elementen die je kunt benaderen van 0 -> 5, dan roep je die zo aan:
echo $array[0]; //voor het eerste element
echo $array[1]; //voor het tweede element, etc

Wat tussen de brackets staat is de zgn. key van een element, en komt overeen met wat je in je output hebt staan van die array. Je krijgt van je code een multidimensionale array terug, wat inhoudt dat je meerdere brackets achter elkaar moet gaan gebruiken. Voorbeeldje; om de waterstand in Passau op dag 4 te achterhalen doe je dit:

echo $arrayMetWaarden['Passau']['05h'][4];

Die 05h stond vrijwel overal dus die heb ik maar als voorbeeldje genomen. In plaats van Passau pak je de namen van de plaatsen waarvan jij de waardes wilt weten en bepaal je de waterstanden op de dagen die jij wilt weten. Door deze waardes van elkaar af te trekken krijg je de verschillen en met het optellen / delen van hierboven krijg je een gemiddelde stijging of daling. Succes!
pi_36300038
quote:
Op donderdag 23 maart 2006 15:54 schreef Siegfried het volgende:

[..]

Nee hier heb je ongelijk, want ik tel niet de waterstand op, en deel die door 3 maar het verschíl van de 3 dagen..
Dus
vandaag - gister = verschil 1
gister - eergister = verschil 2
eergister - eereergister = verschil 3

(verschil 1 + verschil 2 + verschil 3) / 3 = het gem stijging/daling van de afgelopen 3 dagen, right?
Die is nauwkeuriger dan vandaag - eereergisteren, lijkt mij..
Het is iets anders.

verschil nu tov 3 dagen geleden is:
verschil 1 + verschil 2 + verschil 3 OF vandaag - eereergisteren

gemiddelde stijging/daling per dag is:
verschil nu tov 3 dagen geleden / 3

Het het verschil van nu tov 3 dagen geleden kunnen dus op 2 verschillende maieren berekend worden. Maar het resultaat is dus gelijk.

Wat wil je hebben? De stijging of daling in 3 dagen tijd, of de gemiddelde stijging per dag berekend over 3 dagen tijd?
pi_36308572
ik heb nu dit:

1
2
3
4
5
6
7
<?php
    
if (file_exists("$dir/$documentname") != 0){
        
$documentname = explode (".", $documentname);
        
$documentname[0] = $documentname[0]."a";
        
$documentname = implode (".", $documentname);
    }    
?>


ik wil dit in een soort loop hebben, zodat hij blijft checken of het bestand bestaat (ook met de 'a' erachter), en dat hij een 'a' blijft toevoegen, net zolang totdat file_exist false is.

hoe doe ik dat?
As a rule, I never touch anything more sophisticated and delicate than myself.
pi_36313999
1
2
3
4
5
6
7
8
9
10
11
<?php
for($i) {
    if (
file_exists("$dir/$documentname") != 0){
        
$documentname = explode (".", $documentname);
        
$documentname[0] = $documentname[0]."a";
        
$documentname = implode (".", $documentname);
    }    else {
      break
1;
   }
}
?>
pi_36318051
moet je met een while loop doen lijkt me..
Amsterdam, stad van hash en coke,
Waar de vrouwen zich vrouwelijk gedragen..
En de mannen ook..
pi_36318729
quote:
Op donderdag 23 maart 2006 21:00 schreef Desdinova het volgende:
ik heb nu dit:
[ code verwijderd ]

ik wil dit in een soort loop hebben, zodat hij blijft checken of het bestand bestaat (ook met de 'a' erachter), en dat hij een 'a' blijft toevoegen, net zolang totdat file_exist false is.

hoe doe ik dat?
1
2
3
4
5
6
7
<?php
    
while (file_exists("$dir/$documentname")){
        
$documentname = explode (".", $documentname);
        
$documentname[0] = $documentname[0]."a";
        
$documentname = implode (".", $documentname);
    }    
?>

Je moet wel zorgen dat $dir en $documentname een waarde hebben voor de loop.
pi_36328385
Ik heb een nogal vervelend probleem op mijn site. Mensen kunnen digitale foto's uploaden en deze worden dan naar mij toegestuurd per mail.

Het uploaden gaat in PHP en het mailen doe ik via PHPmailer. Na het mailen wordt de foto weer verwijderd.

Ik zou willen dat mensen elke willekeurige foto kunnen uploaden, maar dat gaat natuurlijk niet. Zo'n 6 MB lijkt mij wel genoeg. Ik had daarom in php.ini de volgende instellingen gemaakt:

1
2
3
post_max_size = 7M
memory_limit = 8M
upload_max_filesize = 6M


Echter bij een foto van 4,45 MB, dan komt er al een lelijke php foutmelding. Fatal error, het geheugen zit aan z'n limiet.

Maar ook met respectievelijk 6,14 en 15 MB als upload, post en memory-size gaat het mis. Weet iemand hier een goede oplossing voor?
pi_36329623
Ik snap iets niet. If I am correct, moeten onderstaande codes precies hetzelfde doen.

1
2
3
4
5
6
7
8
<?php
if (!in_array('ad', $_SESSION['roles']) || !in_array('tl', $_SESSION['roles']))
{
    echo
'niet toegestaan dit te zien';
    
print_r($_SESSION['roles']);
    return;
}
?>


1
2
3
4
5
6
7
8
9
10
11
<?php
if (!in_array('ad', $_SESSION['roles']))
{
  if (!
in_array('tl', $_SESSION['roles'])
  {
    echo
'niet toegestaan dit te zien';
    
print_r($_SESSION['roles']);
    return;
  }
}
?>

Echter, krijg ik dat het in versie 2 wel werkt en in versie 1 niet... ik snap het niet, iemand een suggestie? (bij 2 parsed ie dus wel de rest van de pagina en bij 1 niet...)
  vrijdag 24 maart 2006 @ 15:07:38 #86
4159 GI
Nee ik heet geen JOE
pi_36329674
1
2
3
4
5
6
7
8
<?php
if ((!in_array('ad', $_SESSION['roles'])) || (!in_array('tl', $_SESSION['roles'])))
{
    echo
'niet toegestaan dit te zien';
    
print_r($_SESSION['roles']);
    return;
}
?>

op de gok.
pi_36329852
quote:
Op vrijdag 24 maart 2006 15:07 schreef GI het volgende:

[ code verwijderd ]

op de gok.
Thnx, had ik ook al geprobeerd, maar is niet de oplossing...
Ik heb trouwens geverifieerd dat ik idd tl in de array roles heb staan.
pi_36330706
quote:
Op vrijdag 24 maart 2006 15:06 schreef ToBe het volgende:
Ik snap iets niet. If I am correct, moeten onderstaande codes precies hetzelfde doen.
[ code verwijderd ]


[ code verwijderd ]

Echter, krijg ik dat het in versie 2 wel werkt en in versie 1 niet... ik snap het niet, iemand een suggestie? (bij 2 parsed ie dus wel de rest van de pagina en bij 1 niet...)
Het is niet hetzelfde:
1
2
3
4
5
6
<?php
if ($a || $b))
{
  ...
}
?>

De code ... wordt uitgevoerd als $a of $b waar is, of als beide waar zijn.
1
2
3
4
5
6
7
8
9
<?php
if ($a))
{
  if (
$b)
  {
    ...
  }
}
?>

De code ... wordt slechts dan uitgevoerd als $a en $b beide waar zijn. Da's dus iets anders.
  FOK!-Schrikkelbaas vrijdag 24 maart 2006 @ 15:52:55 #89
1972 Swetsenegger
Egocentrische Narcist
pi_36331181
1
2
3
4
5
6
<?php
if ($a && $b))
{
  ...
}
?>

is wel hetzelfde
pi_36336293
quote:
Op vrijdag 24 maart 2006 15:39 schreef Light het volgende:

[..]

Het is niet hetzelfde:
[ code verwijderd ]

De code ... wordt uitgevoerd als $a of $b waar is, of als beide waar zijn.
[ code verwijderd ]

De code ... wordt slechts dan uitgevoerd als $a en $b beide waar zijn. Da's dus iets anders.
Je hebt gelijk..

Maar dan blijft de vraag:
mijn $_SESSION['roles'] heeft de waarde van tl

Waarom wordt er dan geen output gegenereerd, maar krijg ik slechts te zien dat ik niet erin mag?

code nogmaals:

1
2
3
4
5
6
7
<?php
if((!in_array('ad', $_SESSION['roles'])) || (!in_array('tl', $_SESSION['roles'])))
{
    echo
'niet toegestaan dit te zien';
    return;
}
?>
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')