ik heb ooit een keer een heel mooi boekhoudscript gemaakt en deze moet nu een beetje aangepast worden
eigelijk heel veel

het is van jaren allemaal hardcoded in elkaar gezet en eigenlijk bijna geen gebruik van functies

ik heb dus op heel veel paginas 1 en dezelfde code staan die eigenlijk gewoon in een functie zouden moeten

maar op 1 of andere manier weet ik niet meer hoe ik meerdere outputs krijg

input is datum, accountid, userid

output is een hele waslijst
die ik dus individueel moet kunnen opvragen indien dit zou kunnen met een functie
ik zal hier ff een voorbeeld geven van 1 van de codes die er nu in staan





$sqldranken = "SELECT * FROM systeem_invoertotaal WHERE account='$accountid' AND id_user='$userid' AND soort='dranken' AND invoer_over='$datum' ORDER BY id ASC";
$resultaatdranken = $db->sql_query($sqldranken) or die(mysqli_error());
							

$eindtotaaldrankenbtwlaagafgerond = '0';
$eindtotaaldrankenbtwhoogafgerond = '0';

while($omzetdranken = mysqli_fetch_assoc($resultaatdranken)){
$btwsoort = ''.$omzetdranken['btwhoogte'].'';	
															
if($btwsoort == btwlaag) {
$omzetdrankenbtwlaag = mysqli_fetch_array($db->sql_query("SELECT * FROM systeem_invoertotaal WHERE account='$accountid' AND id='$omzetdranken[id]' AND id_dame='$userid' AND soort='dranken' AND btwhoogte='btwlaag' AND invoer_over='$datum';"));

$totaaldrankenbtwlaagafgerond = $omzetdrankenbtwlaag[aantal] * $omzetdrankenbtwlaag[bedrag];												$totaaldrankenbtwhoogafgerond = '0';
												
}
elseif($btwsoort == btwhoog) {
$omzetdrankenbtwhoog = mysqli_fetch_array($db->sql_query("SELECT * FROM systeem_invoertotaal WHERE account='$accountid' AND id='$omzetdranken[id]' AND id_dame='$userid' AND soort='dranken' AND btwhoogte='btwhoog' AND invoer_over='$datum';"));

$totaaldrankenbtwhoogafgerond = $omzetdrankenbtwhoog[aantal] * $omzetdrankenbtwhoog[bedrag];
$totaaldrankenbtwlaagafgerond = '0';
}
else {
$totaaldrankenbtwlaagafgerond = '0';
$totaaldrankenbtwhoogafgerond = '0';
		
}

$eindtotaaldrankenbtwlaagafgerond = $eindtotaaldrankenbtwlaagafgerond + $totaaldrankenbtwlaagafgerond;
$eindtotaaldrankenbtwhoogafgerond = $eindtotaaldrankenbtwhoogafgerond + $totaaldrankenbtwhoogafgerond;							
}




dit is maar een klein stukje maar ik moet gewoon weer ff snappen hoe ik 2 outputs uit een functie krijg
of meerdere

:)

mag ook iets anders zijn als ik het maar op verschillende plekken kan gebruiken
Uhm hoe ga ik dit uitleggen...
Ik probeer het even in delen
En ik hoop dat jullie het geheel
Dan misschien snappen

Mijn systeem die dus op dit moment aan buitenkant heel snel en goed werkt.
Houd een soort pos systeem bij van zzp'ers

Deze zzp'ers (ongeveer 100)
Verkopen bepaalde diensten en producten

Dit wordt aan het einde van de dag als een soort loon specificatie opgeslagen in een database

Dit wordt per dag voor alle 100 zzp'ers gedaan

Denk hierbij aan uren die ze hebben bv gewerkt maar ook dingen die ze hebben verkocht
Elk los product of dienst die ze hebben verkocht of geleverd heeft een bepaalde BTW tarief dit tarief moet dus ook per product opgeslagen worden
Tevens wordt er van die dag ook bijgehouden op welk heffing percentage er die dag is gewerkt
Waarom.... Omdat het nog wel eens gebeurt dat dit percentage ineens gewijzicht moet worden

Er wordt dus per persoon alles per dag nauwkeurig bijgehouden

Alle verdere eventuele berekeningen worden via de scripts gedaan.

Ik heb dus bv 1 pagina die een soort loon specificatie maakt van die ene dag van 1 gebruiker

Maar ik heb ook pagina's die de hele omzet van gehele maand
Uit de database halen uit deze zelfde tabelen
Van bv 1 gebruiker
Of van allemaal

Ik heb ook pagina's die van alle gebruikers alles ophaald van een dag, jaar of maand

Omzet
Winst
Pin
Creditcard
Uitgaves
BTW hoog
Btwlaag
Heffingen
Zelfs 1 pagina waar alles van een geheel jaar instaat
Enz


En nog heel veel meer

In het begin had ik netjes scripties gemaakt die alleen de gegevens opvroegen van hetgeen dat ik nodig had

Maar om berekeningen goed te doen moest ik rekening houden met heel veel
En toen ik van een jaar gegevens had duurde het belang met laden
En mijn server werd letterlijk gek

Ik had toen om het sneller te laten lopen een hele simpele HTML cache gemaakt
En dit werkte eerst heel goed
Echter bij elke nieuwe invoer klopte de cache niet meer en werd er dus weer een nieuwe gemaakt met weer alle berekeningen
Dit was voor mijn klanten een drama
En moest ik dus iets nieuws maken

Aangezien ik met de betrekkingen variabelen maak waar het antwoord van een bepaald deel instaat kwam ik tot conclusie dat het slimmer zou zijn om deze variabelen op te slaan in een cache bestand zodat ik indien ik van een bepaalde dag al gegevens had deze niet nog een keer hoefde te doen


Maar omdat ik dus op veel pagina's verschillende sorteer / while delen had
Was het voor mij sneller om heel veel van berekeningen toen te knippen en te plakken
En een beetje te tweaken
Zodat elke pagina elk cache bestand kon maken
Maar die wel allemaal eigenlijk dezelfde variabelen gaf
Zodat als 1 pagina een cache maakte
Dit op een andere pagina niet nog een keer hoefde

Wat echt jaren perfect heeft gedraaid en nogsteeds goed draait

Waar in echter nu tegenaan loop
Is dat ik een berekening moet aanpassen en toevoegen
Die vanwege de verschillende soorten select mogelijkheden andere antwoorden geeft op ene pagina en als ik cache leeg haal en dan ergens anders een cache maak

Ik moet nu dus er voor zorgen dat ik 1 pagina maak die eigenlijk alle berekeningen maakt en een cache maakt

Aangezien de invoer op al deze pagina's andere variabelen gebruikt dacht ik aan een functie
Die ik dus in geval er geen cache zou zijn van die specifieke dag deze automatisch aanmaakt
Als ik dit in een loop zet moeten er bv 100 cache worden gemaakt of veel veel meer

Maar alles wil ik via 1 deel laten lopen
Ik dacht eerst aan een simpele include
Waar in in het script variabelen aan mee geef
Een functie leek mij Indië het mogelijk is beter

Ik ben op dat gebied nog een noob
Een enkele functie schijven met 1 antwoord snap ik meer ik moet heel veel antwoorden hebben en daarom zocht ik een manier om dit samen te voegen in 1 functie met meerdere outputs

Classes enz
Of andere dingen heb ik helemaal geen kaas van gegeten en dus ga ik dat niet gebruiken


PS ik gaf eerder over die framework enzo dat het troep is en zij bij voorbaat daar al sorry op maar ik zal mij even toelichten

Wat ik nu zeg hoeft dus niet zo te zijn maar omdat ik dit niet met 100% zekerheid aan mijn klanten kan garanderen waag ik mij niet aan dingen die ik zelf niet onder controle heb

Alles kwa Bv een framework enz is geschreven door mensen
Indien deze mensen een fout hebben gemaakt en dit is heel goed mogelijk dan ben ik faiet
En heb een enorme schade claim
Als bv laravel schrijvers enz mij zou garanderen dat als er iets fout gaat of wordt gehackt via,of doormiddel van dat framework dat all mijn rechtzaken over AVG wet en misgelopen inkomsten van alle bedrijven
En schade betaald worden door laravel scripters
En dit ook bij een notaris vastleggen dan ga ik dolgraag ermee aan de gang

Anders dus niet

Ik zal even een heel don voorbeeld pakken
Met iets dat 80% blijkbaar gebruikt en ik dus ook een hekel aan heb
Wordpress
Ja dat is geen framework
Echter dit is ook zogenaamd een heel goed script wordt gezegd

Statistisch gezien is dit 1 van de meest gehackte scripts ter wereld en poging tot

Wordt dit steeds verbeterd vast wel.
Is het 100% waterdicht
Zeker niet

Waarom niet
Omdat de code open en bloot te doorspitten is
En elke ingebouwde beveiliging dus omgezijld kan worden

Ik heb 3 servers draaien
80% van aanvallen op mijn server zijn gebaseerd op Wordpress

Die ik gelukkig nergens heb staan
Hieruit vloeit dus mijn angst voor scripts van derde

Wordt ik nu gehackt
Dan is het mijn fout
En hier ben ik voor gedekt
Ga ik andermans spullen gebruiken en ik wordt gehacked dan ben ik fucked

Alvast bedankt voor u begrip













Als bv laravel schrijvers enz mij zou garanderen dat als er iets fout gaat of wordt gehackt via,of doormiddel van dat framework dat all mijn rechtzaken over AVG wet en misgelopen inkomsten van alle bedrijven
En schade betaald worden door laravel scripters
En dit ook bij een notaris vastleggen dan ga ik dolgraag ermee aan de gang

Holy... Het is Amerika niet. En wat als jij nu een lek openbaart?

Had iemand al 'externe (security) audit' geroepen? Maar misschien moet je even niet meteen aan doemscenario's denken.

Angst maakt je alleen maar onzeker!!

Daar zijn de beroeps- en bedrijfsaansprakelijkheidsverzekering voor uitgevonden.
haha ja ok,
echter heb ik dus onder andere met overheden enz te maken
en is alles om deze reden allemaal heel streng


en ik denk persoonlijk dat zoiets als bv laravel voor mij niet eens gaat werken omdat ik gewoon heel veel dingen odig heb die niet standaard in scripts ziten

ik heb daar verder geen verstand van wat wel en niet kan met zoiets,
als ik morgen bv ergens bij iemand een kant en klaar script kan krijgen voor 1000 waar al mijn mogelijkheden en wensen inzitten of makkelijk aanpasbaar dan betaal ik dat

echter is mijn eigen script op dit moment getaxeerd op boven de 30.000
dit hebben ze gebaseert op alle mogelijkheden in mijn systeem
(niemand gaat dat ooit betalen ervoor!!!)

en als ik iemand vind die voor mij dingen wil schrijven op niveau die ik wil zit ik op hele hoge bedragen vaak
lukt hetgene niet niet dat ik wil maar moet wel betalen

en dan vraag je je af waarom ik alles liever zelf doe. :)

ik kan blijkbaar met mijn noob achtige, extreem oude manier van scripten , meer voorelkaar krijgen dan iemand die heel hoog en gevorderd hier in is


ik heb zelfs een keer, en dan praat ik over 9 jaar geleden een gesprek met belasting gehad, hun zochten en manier om bepaalde bedrijven beter op paper te hebben

ik stelde toen dus een simpelere manier voor van mijn systeem
en hun verklaarde mij toen voor gek want wat ik toen voorstelde was onmogelijk te realiseren volgens hun
omdat de berekingingen die hun wouden hebben heel moeilijk en een database konden worden gezet

ik heb met mijn systeem het tegendeel bewezen





[size=xsmall]Toevoeging op 17/03/2020 10:30:04:[/size]

Ward van der Put op 17/03/2020 10:14:46

Daar zijn de beroeps- en bedrijfsaansprakelijkheidsverzekering voor uitgevonden.


scripts van derde gebruiken vallen niet onder deze verzekering
en zou ik dat wel willen betaal ik mij blauw omdat ik het zelf niet heb geschreven

het komt een beetje neer op en inbraak verzekering waar je voordeur openstaat
echter garandeert mijn huis beveiliger dat ik indien ik alles opslot zet mijn huis gegarandeerd veilig is

laravel geeft mij deze garantie niet
Even voor de duidelijkheid:
Laravel is een framework, en niet bepaald een bibliotheek aan scripts. Het zijn meer hulpmiddelen die framework je kan bieden. Denk bijvoorbeeld aan:
- Nette URL's
- Sessie-afhandeling
- Database afhandeling en queries
- Authenticatie
- Templates

Toch al de belangrijkste aspecten van een webapplicatie. En dat is nog maar een greep. Lees je nu eerst maar eens in voordat je allemaal vage dingen gaat denken en roepen.

Als je twijfelt aan de veiligheid, dan laat je een security-audit doen! Die controleert je hele applicatie op zwakheden.

Overigens wordt Laravel door duizenden sites gebruikt. Dus waarom zou je het dan niet vertrouwen, terwijl zij het wel doen? Een framework is bovendien geen waterdicht vangnet voor hackers, dus je moet zelf ook de boel veilig houden.

Of je bouwt je eigen framework, maar dan ben je het wiel opnieuw aan het ontwikkelen, en extra lang bezig.

Dus lees je gewoon eens in over hoe classes werken, wat MVC is, probeer eens een simpele testsite te bouwen, en zie hoe makkelijk het gaat. Misschien is CakePHP een mooie instap om MVC te begrijpen met een gemiddelde leercurve.
zoals ik al eerder zei ik ben een noob op dit gebied en en geen geld om iemand in te huren / te betalen om een security- audit te doen

dus zolang ik nog niet rijk ben moet ik dit dus zelf nog allemaal even doen met de kennis die ik heb

roeien met de riemen die je hebt zeggen ze dan

dus om weer even naar mijn allereerste vraag te komen waar ik misschien iets van kan leren
heb ik hier een klein voorbeeldje even in elkaar gezet van code maar deze werkt dus niet

hoe krijg ik outputs even los gezien van de inputs


function berekening_dranken($in1,$in2,$in3){
 $uit0 = '0';
 $uit1 = '0';
 $uit2 = '0';
 $uit3 = '0';
 $uit4 = '0';
 $uit5 = 'text';
 $uit6 = '0';
 $uit7 = '0';
 $uit8 = '0';
 $uit9 = 'lol';
  return [$uit0,$uit1,$uit2,$uit3,$uit4,$uit5,$uit6,$uit7,$uit8,$uit9];
}

$datum = '2020-03-14';
$account = '43';
$userid = '37';

$dranken = berekening_dranken($datum,$account,$userid);

echo '-'.$dranken[uit0].'<br>';
echo '-'.$dranken[uit1].'<br>';
echo '-'.$dranken[uit2].'<br>';
echo '-'.$dranken[uit3].'<br>';
echo '-'.$dranken[uit4].'<br>';
echo '-'.$dranken[uit5].'<br>';
echo '-'.$dranken[uit6].'<br>';
echo '-'.$dranken[uit7].'<br>';
echo '-'.$dranken[uit8].'<br>';
echo '-'.$dranken[uit9].'<br>';


ik zal vast wel iets vergeten zijn maar met mijn kennis op dit gebied zou ik even niet weten wat.


Je doet niks met $in1, 2 en 3?
ja als ik straks de berekingenen enzo ga maken dan heb ik die inputs nodig maar dit is alleen even een test/ leer moment

als ik return ['uit0' => $uit0,'uit1' => $uit1,'uit2' => $uit2,'uit3' => $uit3];
gebruik werkt het wel .
maar waarom kan ik niet gewoon
return [$uit0,$uit1,$uit2,$uit3];

gebruiken?

er gaan straks dus gegeven in en andere gegevens uit.

tenminste dat is het idee
Een dringend advies, ga terug naar de tekentafel. Dit word echt niks.
Lees ook alle details in de code. Met name strings, int's en consorten...

<?php

function berekening_dranken($in1,$in2,$in3)
{
	$uit = [
    "uit1" => 0,
    "uit2" => 0,
    "uit3" => 'text',
    "uit4" => $in1,
    "uit5" => $in2,
    "uit6" => $in3
	];

	return $uit;
}

$datum = '2020-03-14';
$account = 43;
$userid = 37;

$dranken = berekening_dranken($datum,$account,$userid);

//print_r($dranken);

echo '-'.$dranken['uit1'].'<br>';
echo '-'.$dranken['uit2'].'<br>';
echo '-'.$dranken['uit3'].'<br>';
echo '-'.$dranken['uit4'].'<br>';
echo '-'.$dranken['uit5'].'<br>';
echo '-'.$dranken['uit6'].'<br>';
?>
ik was net ff aan het testen en met
return compact('uit0','uit1','uit2','uit3'); 

kan het wel

ik hoef hier dus geen $ te gebruiken ?


[size=xsmall]Toevoeging op 17/03/2020 12:33:08:[/size]

Bart V B op 17/03/2020 12:28:52

Een dringend advies, ga terug naar de tekentafel. Dit word echt niks.
Lees ook alle details in de code. Met name strings, int's en consorten...

<?php

function berekening_dranken($in1,$in2,$in3)
{
	$uit = [
    "uit1" => 0,
    "uit2" => 0,
    "uit3" => 'text',
    "uit4" => $in1,
    "uit5" => $in2,
    "uit6" => $in3
	];

	return $uit;
}

$datum = '2020-03-14';
$account = 43;
$userid = 37;

$dranken = berekening_dranken($datum,$account,$userid);

//print_r($dranken);

echo '-'.$dranken['uit1'].'<br>';
echo '-'.$dranken['uit2'].'<br>';
echo '-'.$dranken['uit3'].'<br>';
echo '-'.$dranken['uit4'].'<br>';
echo '-'.$dranken['uit5'].'<br>';
echo '-'.$dranken['uit6'].'<br>';
?>




kijk zo leer ik nog is wat
thanks.

en dit is dus de tekentafel

ik zal hier even mee geen klooien of ik hier iets me kan

Reageren