Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie
Stel een vraag

Discussieer mee of stel een vraag

Filters - Verfijn resultaten

Topictype

CategorieŽn

AND

Onderwerpen

AND

Subforum

Datumbereik

Topicstarter

Topicstatus

11.159 topics - Pagina 1 van 447

[PHP] Het grote Laravel topic

05-05 17:31 discussie 619

http://laravel.com/assets/img/laravel-logo.png LARAVEL

Wat is Laravel?
Laravel is een PHP 5.4+ Framework dat zich probeert te onderscheiden door een elegante syntax, moderne tools en snelle ontwikkeling. Het bevat standaard een Active Record ORM (Eloquent), templating engine (Blade) en oa. routing, queues, authentication en migrations.

Laravel is in korte tijd uitgegroeid tot een van de populairste PHP frameworks met een actieve community. Het gebruikt van Symfony componenten (zoals Http Foundation) zorgt voor een stabiele basis, maar Laravel onderscheidt zich door een simpele API met goede documentatie aan te bieden. De drempel om in te stappen is hierdoor wat lager dan voor het Symfony framework.

In een aantal punten wijkt Taylor Otwell (de ontwikkelaar van Laravel) af van de standaard conventies, wat regelmatig op kritiek komt te staan van andere frameworks/ontwikkelaars. Dit leidt dan ook regelmatig tot stevige discussies tussen voor- en tegenstanders, met name over de zgn. 'Facades'.

In februari 2015 is Laravel 5 uitgekomen, wat meer stabiliteit (SemVer) moet bieden en de basis moet zijn voor de komende jaren.
Beginnen met Laravel
De eerste plek waar je kan beginnen met leren is natuurlijk de officiŽle documentatie. Daarnaast zijn er veel blogs, screencast, tutorials en boeken over Laravel. Een onmisbare site voor veel beginners is Laracasts, waar veel screencasts over Laravel te vinden zijn, zowel om te beginnen met Laravel maar ook geavanceerdere onderwerpen buiten Laravel om. De meeste video's zijn betaald, maar er zijn ook veel gratis series.
Community
De community is erg actief, op verschillende platforms. Hieronder de belangrijkste:
Tools / Packages
In principe zijn alle algemene composer packages te gebruiken binnen Laravel, maar er zijn ook veel Laravel specifieke packages. Deze bieden meestal een Service Provider aan om snel bepaalde functionaliteit te configureren, op basis van de Laravel conventies wat betreft configuratie, views, migraties ed. Deze packages zijn naast op Packagist, op http://packalyst.com/ te vinden.

De 5 populairste Laravel packages volgens Packalyst:Een overzicht per categorie is ook te vinden op https://github.com/chiraggude/awesome-laravel
Blogs & mensen om te volgen
Laracon EU
Sinds 2013 is er een EU editie van Laracon. Dit jaar wordt op 25 + 26 augustus de 3de editie gehouden in Amsterdam. Hier worden 2 dagen lang verschillende sprekers aan het woord gelaten over Laravel, PHP of programmeren in het algemeen. In voorgaande jaren waren er veel bekenden uit de PHP wereld, zoals Fabien Potencier (Symfony), Jordi Boggiano (Composer), Frank de Jonge (FuelPHP/Flysystem) en natuurlijk Taylor Otwell zelf.

Meer informatie en kaartjes zijn te vinden op http://laracon.eu/
Waarom dit topic?
Er werd al eerder gesproken over een Laravel topic ([Laravel] Het wel en wee van dit framework*) en ik heb er voor gekozen om een nieuw topic met frisse start hiervoor op te zetten. Hopelijk kunnen we hier samen discussiŽren over de toekomst van Laravel, handig tips&trucs, nuttige packages, aanwezigheid op Laracon etc etc. Het is niet de bedoeling om hier problemen voor te leggen. Daar moet nog steeds een los topic voor aangemaakt worden!

Scheiden van resultaten query php en mysql

22-04 09:22 vraag 13

Vraag

Ik ben bezig met een project voor school, waarbij we een website met php en mysql moeten maken.
Nu moeten we ook werken met query's, wat niet zo'n probleem is, echter lukt mij nu iets niet.

Ik probeer uit een tabel genaamd favorieten meerdere youtuber_id's te halen met de volgende query:SELECT youtuber_id FROM favorieten WHERE id='$id'

In de tabel staan dus een id en een youtuber_id. als een gebruiker(id) meerdere favorieten heeft, staat deze meerdere keren in de tabel met elke keer een andere youtuber_id. Nu heb ik een id met drie verschillende youtuber_id's.

Echter geeft de query als resultaat de 3 youtber_id's achter elkaar weer, wat op zich logisch is. Ik wil ze echter als 3 aparte variabelen krijgen die ik vervolgens kan gebruiken om uit de tabel youtubers gegevens op te halen. Kan iemand mij misschien helpen?

Beste antwoord

Je zal de data in een Array moeten gooien.
http://php.net/manual/en/language.types.array.php

Nu overwrite die steeds de string waardoor je maar 1 waarde hebt.

Edit: je zou ook += kunnen doen in plaats van is, dan voegt die het steeds toe, maar is niet netter.

Tevens, escape je ID even, dit is vragen om SQL Injectie
http://php.net/manual/en/security.database.sql-injection.php
https://www.netsparker.co...ql-injection-cheat-sheet/

En nee, hobby project is geen excuus, aanleren dat je dat altijd doet!

Hoe zouden jullie websites hosten

18-04 22:17 discussie 11
Gewoon even een simpele peiling.

We zitten met een redelijk standaard, zij het wat "ouderwetse" LAMP stack.
  • CentOS 6
  • PHP 5.6 (via CustomBuild, een DirectAdmin plugin)
  • Mysql (5.6)
  • Apache (2.4)
In combinatie met DirectAdmin, beheren we hiermee een heleboel websites, een groot deel redelijk low-traffic. Bij overstappen naar PHP 7 viel toch tegen dat 2 versies naast elkaar draaien veel kopzorgen kost** :X . Dus nu willen we aan de slag met een tweede server. Maar hoe vullen we dat precies in?

Webdev is de wereld van "leef 3 seconden en je bent ouderwets" . Docker, Droplets, backend als pure API, en frontend in Vue.js/Angular/React, Node.js, noem het maar op, spanning en sensatie. Maar we willen eigenlijk gewoon naar een "iets modernere" setup, waar m'n collega's niet 3 bijscholingen voor nodig hebben, en wat voorlopig gewoon nog prima blijft werken.

Is er een reden om nŪet CentOS 7 te gebruiken? Ik zou er zelf 1 weten: als we een exotisch uitstapje doen voor 1 project, kun je op Ubuntu makkelijk een PPA toevoegen en iets ernaast installeren* .

Apache zal er gewoon nog inblijven, net als Mysql. Trouwens, wat betreft requirements voor oude sites: we zullen onze Laravel 5 applicaties overzetten naar de nieuwe server, maar die zijn redelijk flexibel (willen niet teveel onnodig werk insteken)

We zitten momenteel trouwens dus vast aan mod_ruid2, om alles te scheiden op gebruiker. Dit valt een beetje samen met een discussie die ik laatst had over PHP handlers*** . Die mod_ruid2 is meestal prima, maar misschien zijn er betere methodes ondertussen?

Wat zijn jullie ideeŽn over de situatie? Hoe zouden jullie dat in onze situatie aanpakken? Kan je de keuzes onderbouwen? Dank d:)b


* denk dat er meer PPA's zijn dan CentOS repo's
** Je kan met CustomBuild verrassend eenvoudig 2 versies binnen Apache actief hebben, als ze maar verschillende handlers hebben (mod_php, php-fpm, SuPHP etc). Toch zijn er wat restricties in hoe dat werkt!
*** SuPHP is de enige handler die tegelijk met mod_ruid2 kan draaien, en die scheid ook per gebruiker. PHP-FPM kan zoiets ook wel via httpd.conf configuratie volgens mij . Oja, weinig informatie over handlers trouwens te vinden, dit zijn 2 oude bronnen:
https://www.litespeedtech...enchmarks/php-hello-world
http://www.firewing1.com/...reforkmodphp-vs-itkmodphp

ps. Ik vergeet vast informatie, beetje geschreven over loop van de avond dit.

[PHP] Lange woorden afbreken.

13-04 11:44 discussie 11
Ik wil graag lange woorden dmv PHP afbreken.
Ik heb hiervoor een functie geschreven, en alle woorden met een strlen > x, worden netjes afgebroken.


code:
1
LongWord = "first x chars from LongWord" . ' ' . "the rest of LongWord"

Maar mijn users mogen ook BB-code gebruiken incl. [img]-tag en je voelt hem al aankomen mijn functie breekt ook lange URL's van plaatjes (tussen [img] en [/img]) af, en dat is weer niet de bedoeling.

Nou dan hoor ik je denken van: check de string eerst op aanweizigheid van [img] en [/img]. Gevonden? -> string overslaan.

Als ik dat doe, dan worden ook strings in de vorm van:

code:
1
String = "LongWord1[img]URL[/img]LongWord2"


ook overgeslagen en die moeten wel afgebroken worden.

Heb de search al gebruikt maar geen antwoord gevonden.

Lijst van mogelijke waarden combineren met de daadwerkelijke

07-04 10:57 vraag 3

Vraag

Het lukt me niet om in Laravel met Eloquent een lijst van mogelijke waarden weer te geven en die te combineren met de daadwerkelijke waarden. In dit geval gaat het om een prijs. Stel je de volgende tabelstructuur voor:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
costs
- id
- name
- default_price

cost_values
- id
- cost_id
- item_id
- price

item
- id
- name

Op de edit-pagina van item wil ik een lijst van costs weergeven, bijvoorbeeld zo:
HTML:
1
2
3
4
5
<ul>
    @foreach($costs as $cost)
        <li>{{ $cost->name }} | {{ $cost->default_price }} | {{ $cost_value_for_this_item->price }}</li>
    @endforeach
</ul>

Maar hoe kom ik dan (op een nette manier) aan $cost_value_for_this_item->price met dat $cost->id en $item->id?

Iets als \App\CostValue::where(['item_id' => $item->id, cost_id' => $cost->id])->first()->price werkt, maar dan moet je er rekening mee houden dat hij niet bestaat. Op die manier word het al snel erg lelijk en er zijn vast betere manieren.

Heeft iemand hier suggesties?

Beste antwoord

Ik ben niet bekend met Eloquent maar in "SQL land" noemt men dat gewoon een left/right (outer) join... Dat lijkt me wel een term waar je iets mee zou moeten kunnen vinden i.c.m. het Eloquent keyword? Ik mis echter, volgens mij, de relevante query (DB::table('costs')->select(...)) of niet?

Then again vraag ik me bij herlezen van je topicstart af of ik je vraag wel helemaal begrijp...

[Laravel 5] Upload artifact van build-server

02-04 13:34 vraag 10

Vraag

Beste PRGers,

Ik heb een interne website (restfull) in Laravel 5.1 gebouwd waar onze medewerkers de artifacts van onze buildservers (Jenkins) kunnen uploaden.
Momenteel gaat dit nog handmatig. Het zou veel fijner zijn wanneer we dat zouden kunnen automatiseren.

Helaas is er geen (bruikbare) plugin voor Jenkins waarmee ik een artifact kan uploaden middels HTTP Post. Dus heb ik een eenvoudig PHP script gemaakt dat dat zou moeten realiseren.
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
45
46
47
48
49
50
51
52
53
<?php
$host = 'http://localhost:8081';

$shortopts = "";
$shortopts .= "p:"; // Project ID
$shortopts .= "v:"; // Version ID
$shortopts .= "b:"; // File to upload
$shortopts .= "d:"; // Description

$options = getopt($shortopts);
var_dump($options);

if (sizeof($options) !== 4)
{
    die("Please provide 4 arguments");
}

$pid = (int)$options['p'];
$vid = (int)$options['v'];
$blob = realpath($options['b']);
if ($blob === false)
{
    die("File not found: " . $options['b']);
}

$description = $options['d'];

$url = sprintf('%s/project/%d/version/%d/blob/create', $host, $pid, $vid);
$fields = array(
    'blob_name' => '@'.$blob,
    'blob_preferred' => false,
    'blob_desc' => $description,
    '_token' => 'hier moet iets komen',
);

var_dump($fields);

$ch = curl_init();

//set the url, number of POST vars, POST data
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

//execute post
$result = curl_exec($ch);

//close connection
curl_close($ch);

// Dump result for debugging purpose
echo $result;

Zoals verwacht krijg ik een TokenMismatchException.

Het is een inhouse website, de gebruikers hoeven zichzelf niet eens te registeren / inloggen om artifacten op te slaan.
Hoe kan ik er voor zorgen dat Jenkins de artifacten kan uploaden in acht nemende de anti-CSRF maatregelen, of is het (aangezien het inhouse-only is) ook goed genoeg om de hele CSRF uit te schakelen?

Alvast bedankt voor jullie reactie!

Matis

Beste antwoord

Het gebruik van anti-CSRF betekent dat je een sessie moet starten waarvan je het token krijgt en in die sessie de post aanroep uitvoert.

Het uitschakelen kan op 3 manieren.
  1. In VerifyCsrfToken (app/Http/Middleware/VerifyCsrfToken.php) kun je de url toevoegen bij except om die call toe te staan zonder token.)
  2. In VerifyCsrfToken (app/Http/Middleware/VerifyCsrfToken.php) overschrijf je de functie shouldPassThrough. (Die erft die van Illuminate\Foundation\Http\Middleware\VerifyCsrfToken ) en daarin zorg je dat het verkeer van je Jenkins installatie het recht heeft om te posten zonder token.
  3. De 3e en minst aan te raden optie is het verwijderen van \App\Http\Middleware\VerifyCsrfToken::class, uit app/Http/Kernel.php

LoraWan GPS decoding problemen

29-03 09:52 vraag 7

Vraag

Ik heb een Lora node in elkaar geknutseld en daar een Arduino en een GPS aangesoldeerd.
Dit lijkt allemaal redelijk te werken. Het lora ding stuurt GPS data naar de gateway, en de gateway stuurt de data door naar de Semtech server.
De code van de Lora node is op basis van https://github.com/Lora-net/LoRaMac-node/blob/master, dus dat zou in principe goed moeten werken omdat anderen deze code ook gebruiken zonder problemen.

Nu heb ik een simpel PHP scriptje gemaakt om de data op te vragen bij de Semtech server. Dat werkt ook prima. Ik krijg binaire data binnen. Het decoderen van de latitude werkt ook goed maar het decoderen van de longitude gaat heel erg fout. De gedecodeerde longitude komt niet eens in de buurt van de waarde die ik verwacht.

Waarschijnlijk zie ik iets over het hoofd. Wie ziet de fout?
PHP: loratest.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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
<?php
    //LORAWAN testscriptje door Rein Velt
    //Dit scriptje zou GPS data verzonden via Lora moeten omzetten naar een correcte lat/lon
    //De locatie is 52.086309,4.2830583 (alexander Gogelweg Den Haag)
    //De data wordt door een LoraWan/Arduino verstuurd via een gateway naar Semtech
    //Het decoderen van de lat gaat redelijk goed. 52.086309 is ongeveer gelijk aan 52.086310 
    //Het decoderen van de lon gaat behoorlijk fout. 4.2830583 (goed) is niet gelijk aan 192.86280155 (fout)


    define("url","http://iot.semtech.com/raw/motes/00-00-00-00-D0-99-13-DD/data");
        

    class LoraGpsDecode
    {
        public $data;
        
        public function __construct()
        {
            $recordArr=file(url);  // haal data op (csv bestand)
            if (count($recordArr)>0)
            {
                unset($this->recordArr[0]);
                $this->data=array();
                while (list($rindex,$rdata)=each($recordArr)) //loop over records
                {
                    $this->data[$rindex]=explode(",",$rdata); //hak de records tot velden
                    //extract raw location data
                    $data=substr($this->data[$rindex][3],2,12); //het derde veld bevat data. pos 2 t/m 14 is latlon
                    //change Endian
                    $this->data[$rindex]["rawLat"]=substr($data,4,2).substr($data,2,2).substr($data,0,2);
                    $this->data[$rindex]["rawLon"]=substr($data,10,2).substr($data,8,2).substr($data,6,2);
                    //decode data                   
                    $this->data[$rindex]["location"]=$this->decode($this->data[$rindex]["rawLat"],$this->data[$rindex]["rawLon"]);  
                }
            }
        }
    
        private function decode($rawLat,$rawLng)
        {
            $_lat=hexdec($rawLat)/8388608*90;   //deze geeft een goede waarde
            $_lng=hexdec($rawLng)/8388608*180;  //deze geeft een onzin waarde
            $res=array();
            $res["lat"]=sprintf("%3.8F",$_lat);
            $res["lon"]=sprintf("%3.8F",$_lng);
            return $res;
        }

        public function dump()
        {
            $records=$this->data;
            while (list($index,$data)=each($records))
            {
                print_r($data);
            }
            print "\n";
        }

}

$p=new LoraGpsDecode();
$p->dump();

Dit is de output van het script

Array
(
    [0] => 4
    [1] => 2016-03-18 19:06:59
    [2] => 6905
    [3] => 0078144a872389

    [rawLat] => 4a1478
    [rawLon] => 892387
    [location] => Array
        (
            [lat] => 52.08746910
            [lon] => 192.85140753
        )

)
Array
(
    [0] => 4
    [1] => 2016-03-18 19:05:56
    [2] => 6904
    [3] => 0067144a442389

    [rawLat] => 4a1467
    [rawLon] => 892344
    [location] => Array
        (
            [lat] => 52.08728671
            [lon] => 192.84996986
        )

)
Array
(
    [0] => 4
    [1] => 2016-03-18 19:04:52
    [2] => 6903
    [3] => 0010144abf2289

    [rawLat] => 4a1410
    [rawLon] => 8922bf
    [location] => Array
        (
            [lat] => 52.08635330
            [lon] => 192.84711599
        )

)
Array
(
    [0] => 4
    [1] => 2016-03-18 19:03:48
    [2] => 6902
    [3] => 000c144a9a2589
    [rawLat] => 4a140c
    [rawLon] => 89259a
    [location] => Array
        (
            [lat] => 52.08631039
            [lon] => 192.86280155
        )

)

Woordentrainer in php

25-03 13:39 vraag 6

Vraag

Mijn vraag

Voor Informatica op school moeten wij een woordentrainer maken. Het gaat om de volgende opdracht:
"Opdracht 1
Vul twee array's met Engelse woordjen en de bijbehorende Nederlandse woorden.
Laat een PHP-programma steeds willekeurig een Nederlands woord kiezen.
Ontwerp een formulier met een textveld, waarin de bezoeker het bijbehorende Engelse woord kan invullen.
Laat het PHP-programma de poging van de bezoeker controleren.
Laat het PHP-programma het juiste antwoord tonen op het beeldscherm, samen met de tekst GOED of FOUT.

Opdracht 2
Laat het PHP-programma het aantal goede en foute antwoorden 'onthouden' in een sessie.
Breid het formulier uit met een 'STOP-knop'.
Wanneer de bezoeker op de STOP-knop klikt, dan verschijnt het aantal goede antwoorden en het aantal foute antwoorden in beeld, samen met een cijfer."

Ik heb geen idee waar ik moet beginnen en hoe ik dit moet doen. Het programma moet geschreven worden in html/php

Voor het maken van de scripts gebruik ik notepad++

Ik heb al geprobeerd te googlen, maar dit heeft niks opgeleverd wie kan mij helpen?

Hoe krijg ik de foutmelding over de array_sum weg?

18-03 13:49 vraag 13

Vraag

Ik heb een stuk code waar ik de volgende foutmelding op krijg, namelijk "Warning: array_sum() expects parameter 1 to be array, null given". Dit gaat over regel 20 in de code hieronder.
code:
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
$totalcars=3;
$select = "SELECT DISTINCT autoid FROM coureur WHERE leagueid=".$leagueid.""; 
$res = mysql_query($select) or die(mysql_error()); 
while($row = mysql_fetch_assoc($res))
{
    $e=0;
    while ($e < $count)                                 
    {
        $j=0;
        $selectpunt="SELECT q_punten AS qpunten, r_punten AS rpunten, r_snelstepunt AS snelstepunten, r_bonuspunt AS bonuspunten, r_puntaftrek AS strafpunten FROM uitslagen WHERE autoid=".$row['autoid']." AND raceid=".$raceidpuntenc[$e]."";
        $respunt = mysql_query($selectpunt) or die(mysql_error()); 
        while($rowpunt = mysql_fetch_Assoc($respunt))
        {
            $autoidpunten[$j]=$rowpunt['qpunten']+$rowpunt['rpunten']+$rowpunt['snelstepunten']+$rowpunt['bonuspunten']-$rowpunt['strafpunten'];
            //echo "".$row['autoid'] ." Race ".$e." - ".$autoidpunten[$j]." - ".$j."<br>";
            $j++;
        }           
        if ($j<= $merkpunten)
        {
            $totalpunt[$row['autoid']][$e]=array_sum($autoidpunten);
        }   
        else 
        {                   
            $array = $autoidpunten;
            $array_count=count($array);   
            for($i=1;$i<=$merkpunten;$i++)
            {
                $max_val[$i]=max_key($array);
                $view=$array[$max_val[$i]];
                unset($array[$max_val[$i]]);
                $totalpunt[$row['autoid']][$e]=$totalpunt[$row['autoid']][$e]+$view;
            }   
        }           
        $e++;
        unset ($autoidpunten);
    }
    $totalpoints[$row['autoid']]=array_sum($totalpunt[$row['autoid']]);
}

Wat is de oplossing om dit te verhelpen?

Beste antwoord

Je doet een array_sum() over een niet geinitialiseerde variabele. De oplossing is dus voor de while:
PHP:
1
$autoidpunten = [];

toe te voegen. Ik zou hem op een lege array initialiseren, ipv hem steeds te unsetten.

Overigens, als ik jou was, zou ik me eens inlezen in SQL injection, prepared statements en PDO ;)

PHP7, nieuwe features

17-03 13:16 discussie 32
Sinds deze week zit PHP 7 in de Arch repo, ben ik aan de slag gegaan met aantal nieuwe features.
Wel zijn er voor mij een paar verwarrend, vandaar dit topic. ;)

De nieuwe namespace parameters ontzettend handig, zo kun je nu meerdere sub-namespaces definiŽren:
PHP:
1
Namespace\{sub,sub}

Verder zijn de type declarations eindelijk toegevoegd. :)

Deze nieuwe feature vind ik wat vreemd:
PHP:
1
$v = $x ?? $z;

Dit wordt gedaan d.m.v. een isset, terwijl ik een empty() logischer zou vinden. Helaas kun je dit niet doen:
PHP:
1
$v = !empty($x) ?? $z;

Dan krijg je volgensmij empty op een isset?
Waarom empty? Dat is gezet is, wil nog niet zeggen dat het 'gevuld' is. Als voorbeeld op PHP.net wordt een $_GET gebruikt, en die wil je juist (in de meeste gevallen) niet leeg hebben.

Alleen merk ik wel op dat ik de PHP manual altijd zo cryptisch vind, en altijd ergens anders (op een blog/SO) moet kijken om te zien hoe ze echt bedoelen (praktijkvoorbeelden).

Ik heb dan ook de vraag of we de nieuwe functies wat verder zouden kunnen laten zien. :)

Beginnen met HTML/PHP

06-03 18:38 discussie 27
Hallo allemaal.

Ik ben bezig met een opdracht voor school.
Ik moet een Persoonlijk, digitalle sollicitatiebrief in HTML5 en php maken.
Voordat de brief getoond wordt op het scherm moet voornaam,achternaam en geslacht gevuld worden.
Deze gegevens moet ik verwerken om de brief persoonlijk te maken.
Bij geslacht moet ik nog radio toepassen maar dat komt nog

Alleen loop ik hier vast en ik zie niet precies wat ik fout doe.
Ik krijg de gevulde gegevens naam en achternaam niet getoond op de 2de pagina.
waarom??

De formulier:
HTML:
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
<!DOCTYPE html>

<html>

<head>

        <title> Digitale sollicitatiebrief van Dion Pisas</title>
        <!-- Kan aangepaast worden indien nodig-->
</head>
<body>
<h1> Persoonlijke informatie invullen aub. </h1>

<form method="post" action="verwerkformulier.php">

<TABLE CELLSPACING="5" CELLPADDING="5" BORDER="0">
<TR>
<TD>voornaam:</TD>
<TD><input type="text" name="voornaam" size="20"><br></TD>
</TR>
<TR>
<TD>achternaam:</TD>
<TD><input type="text" name="achternaam" size="20"><br></TD>
</TR>
<TR>
<TD>geslacht:</TD>
<TD><input type="text" name="geslacht" size="20"><br></TD>
</TR>
<TR>
<TD>Maak de venstrers leeg:</TD>
<TD><input type="reset" value="Maak de vensters leeg" ><br> <br></TD>
</TR>
<TR>
<TD>Verstuur deze gegevens</TD>
<TD><input name="submit" type="submit" value="Verstuur deze gegevens"> <br></TD>
</TR>
</form>
</html>

De php:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<html>
<body>
<H1>Persoonlijk sollicitatie brief</H1><hr>

<?php
    $voornaam = $_POST['voornaam'];
    $achternaam = $_POST['achternaam'];
    $geslacht = $_POST['geslacht'];
?>
        Voornaam Achternaam
        Adres
        Woonplaats
        <br>
        <?php echo $voornaam . " " . $achternaam . "<br>"?>
        Posthumalaan 120<br>
        3072AG Rotterdam<br>
        <br>

</body>
</html>

PHP klusje laten doen, waar?

03-03 21:53 vraag 4

Vraag

Hey mensen,

Weet iemand een website (ik heb hier gekeken maar kon niks vinden) waar ik kleine (PHP) programmeerklusjes kan laten doen online tegen een vergoeding? Het liefst met iDeal, NL bankoverschrijving of PayPal.

Bedankt en sorry als dit al ergens bekend is.

symfony/orm koppeltabel

29-02 19:32 vraag 8

Vraag

Ik zit even wat te testen in Symfony maar ik kom er even niet meer uit :F

Wat ik wil is het volgende: Een image tabel met diverse informatie van de image. Hierin zit ook een koppeling naar de user (van de image) met een many to one relatie (user kan meerdere images hebben).
Vervolgens heb ik nog een aparte tabel met de categorieŽn, echter is dit een many to many: een image kan meerdere categorieŽn hebben, en een categorie mag meerdere images hebben.

In feite zeg ik dan ook in de category entity dat hij een relatie heeft met de Image, inclusief jointable image_categories.

Nu genereer ik de entities en lijkt mij alles best, maar de koppeltabel wordt niet gevuld. Moet ik ook echt een entity gaan aanmaken met wat logica zodat hij dat gaat vullen? Ik ben gewoon nog niet zover in de wondere wereld van een ORM maar ik was van mening dat 'alles' nu wel goed was om ook daadwerkelijk data te inserten..

Image entity:
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
45
46
47
48
49
50
51
<?php

namespace CoreBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * Attribute
 *
 * @ORM\Table(name="images")
 * @ORM\Entity
 */
class Image
{

    /**
     * @var integer
     *
     * @ORM\Column(name="id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="IDENTITY")
     */
    private $id;

    /**
     * @var string
     *
     * @ORM\Column(name="name", type="string", length=255, nullable=false)
     */
    private $name;

    /**
     * @var string
     *
     * @ORM\Column(name="url", type="string", length=255, nullable=false)
     */
    private $url;


     /**
     * @ORM\ManyToOne(targetEntity="User", inversedBy="images")
     * @ORM\JoinColumn(name="user_id", referencedColumnName="id")
     */
    protected $user;


    /**
     * @ORM\ManyToMany(targetEntity="Category", mappedBy="category")
     */
    protected $category;
}

Category:
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
<?php

namespace CoreBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * Attribute
 *
 * @ORM\Table(name="categories")
 * @ORM\Entity
 */
class Category
{

    /**
     * @var integer
     *
     * @ORM\Column(name="id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="IDENTITY")
     */
    private $id;

    /**
     * @var string
     *
     * @ORM\Column(name="name", type="string", length=255, nullable=false)
     */
    private $name;

    /**
     * @ORM\ManyToMany(targetEntity="Image", inversedBy="category", fetch="EAGER")
     * @ORM\JoinTable(name="image_categories")
     */
    protected $images;
}

Beste antwoord

Wissel de owner eens om (zodat mappedBy en inversedBy op de andere entiteit komen te zitten).

Design plan voor een grote website met veel data

22-02 08:49 discussie 48
Ik zit al een tijdje te stoeien met wat gedachtes in mijn hoofd om een huidige applicatie om te gooien. 1 van de problemen waar ik mee zit is dat het dermate groot is, dat het gewoon geleidelijk gedaan moet worden.
Daarbij zit ik nu al met wat "problemen" in de huidige applicatie die ik uiteindelijk dan ook wil oplossen. Denk hierbij dan aan traagheid, dingen die soms onnodig vaak worden opgehaald uit de DB en geen scheiding tussen logica, view en de database. Daarbij kunnen derden geen gebruik maken van onze functionaliteiten, of zelfs ik persoonlijk niet als ik stukjes wil herbruiken voor een andere website..

Mijn eerste gedachte is dan ook om een service te maken. In feite ťťn grote bak die van alles loopt te rekenen, data ophaalt en prepareert voor de 'frontend' op het moment dat er een request wordt gedaan. Nu zit ik echter wel met een paar vraagstukken.

Gegeven is dat de 'backend' c.q. service in PHP draait, de frontend in een mix van html, css, js en eventueel dan nog een deel PHP.

Wat zou een goede oplossing zijn voor de frontend, zodat je makkelijk 'calls' kunt maken naar je data?
Ik heb wel ervaring met wat API's maar dat is dan 9 van de 10x pure 'domme' calls en uiteindelijk ben je dan alsnog relatief lang bezig met het verwerken van de calls. Is de data returned wel goed?, heb ik alles? en dan moet je nog alles netjes stylen/plaatsen.

Voor mijn gevoel moet er gewoon iets zijn wat mijn leven een stuk makkelijk kan maken door echt de 'logic' & data als een service aan te bieden, waarbij het ook nog eens makkelijk is om dit door de frontend op te laten pakken. Ik zou echt alleen nog niet precies weten wat, hoe of met wat. Ik sta overigens ook open om andere talen te gebruiken mocht dat echt veel profijt opleveren. Denk aan NodeJS, of iets in .NET. In feite is alles wel mogelijk, echter zit de voorkeur in iets met PHP.

PHP sql met koppeltabel

12-02 21:02 discussie 29
Goedemiddag,

Ik zit met een opdracht voor school waar ik niet uit kom. Het gaat om het volgende:
Ik ben bezig met een vriendenboekje. Mijn code bestaat voornamelijk uit PHP en wat sql er tussendoor. Ik heb hier 2 tabellen en een koppeltabel. In tabel 1 staan personen, in tabel 2 dingen. De koppeltabel geeft aan welke personen in het bezit zijn van welke dingen. Tabel 1 heeft dus een primary key, tabel 2 ook en de koppeltabel maakt de koppeling tussen deze 2. Mijn koppeltabel heeft bestaat uit een primary key, en vervolgens 2 kolommen met de waarde van de primary keys van de andere 2 tabellen. dus zoiets:
Koppeltabel
Primary key Mensen dingen
1 1 1
2 1 2
3 2 1
4 2 4

Nu wil ik een overzicht maken van de mensen, met daarachter de dingen die ze hebben. Dit lukt me, maar wat me niet lukt is de mensen die meerdere dingen hebben maar ťťn keer te laten zien. Ik ben zo ver dat dit waarschijnlijk met een for loopje moet, maar ik krijg het niet werkend. Iemand toevallig enig idee?

Ik kan mijn scriptje laten zien welke nu dus alle mensen en dingen laat zien, maar de mensen dubbel. Maar gezien dat enkel een while loopje is dat door de requltaten heen gaat en deze in een tabel zet heeft dat weinig nut lijkt me.

Ik hoop dat iemand me kan helpen. In ieder geval onwijs bedankt.

[Ervaringen] Het grote Drupal-topic

03-02 14:02 discussie 1.047

DRUPAL

http://drupalcode.org/project/drupal.git/blob_plain/refs/heads/8.x:/core/misc/druplicon.png
Wat is Drupal?
Drupal is een CMS/framework. De core bestaat uit enkele noodzakelijke modules en daar omheen kan je naar keuze eigen modules toevoegen. Het systeem kent een aantal handige API's om makkelijk dingen gedaan te krijgen. De form API stelt je bijvoorbeeld in staat in snel en dynamisch formulieren te maken.

Drupal is gemakkelijk te gebruiken. Er is een volledig grafische installatiewizard, dus naast het aanmaken van een database (wat al voor je gedaan is als je hosting hebt gehuurd) hoef je niks te doen. Het installeren duurt nog geen minuutje, waarna de site volledig klaar voor gebruik is.Als je Drupal op een eigen computer wil testen, dan moet je zelf een webserver installeren. Weet je niet hoe dat moet, probeer dan MAMP (Mac) of Xampp (Windows).
FAQ
Q: Na de installatie krijg ik een wit scherm te zien? Is Drupal nu kapot?
A: Waarschijnlijk mag PHP niet genoeg geheugen gebruiken. Zoek in php.ini even naar de instelling voor de 'memory limit' en verhoog die een stukje, net zolang totdat het werkt. Soms kan je ook in .htaccess de memory limit instellen met php_value memory_limit 128M, waarbij '128' dus het aantal megabytes is.

Q: Wat zijn nodes?
A: Elk stukje content dat op zichzelf staat is een node. Denk hierbij aan forumtopics, blogposts, maar ook statische pagina's.

Q: Hoe doe ik *willekeurig iets*?
A: De API-documentatie is een ontzettend handig hulpmiddel. Het is voornamelijk bruikbaar als je wil weten hoe je met PHP-code iets voor elkaar kan krijgen, maar je kan ook standaard bestanden, zoals de template files van meegeleverde themes, raadplegen.

Ervaringen: Groupware

02-02 23:52 discussie 55
Ik heb een tijdje thuis verschillende groupware gebruikt (m.n. Horde), maar momenteel ben ik in verband met een herinstallatie en vernieuwde eisen (activesync-exchange-ondersteuning) nieuwe oplossingen aan het onderzoeken. Er zijn echter enorm veel open/free/semi-free/closed oplossingen op de markt. De topics over dergelijke software die op GoT te vinden zijn zijn (blijkens mijn relatief vluchtige zoektocht) allemaal toch wat gedateerd (behalve exchange -gerelateerde zaken). Ik zie zelf door de bomen het bos niet meer, en groupware goed (of maar enigszins voldoende) testen is toch een hele klus. Een link&ervaringenverzameltopic lijkt me daarom heel nuttig.

Ik zal beginnen met een verzameling links naar bekende en of eventueel minder bekende redelijk complete (of overcomplete) programma's. De lijst is zeker niet volledig zijn, niet-vermelde noemenswaardige software zal ik toevoegen.

Horde
EGroupware
Zarafa
Zimbra
Scalix
OBM
phpGroupWare
Simple Groupware
Citadel
Kolab
SOGo
Kerio Connect
Open-Xchange
Group-Office
Tine 2.0
AtMail Commercial
IGSuite
GROUP-E
Feng Office
Cyn.in
Microsoft Exchange en SharePoint
IBM Lotus Domino
Novell GroupWise
Oracle Beehive
Google Apps
Bynari Collaboration Suite
IceWarp
ownCloud
CommuniGate
OpenText FirstClass
AXIGEN

Mijn ervaring beperkt zich eigenlijk tot Horde, en in mindere mate EGroupware. Exchange gebruik ik ook, maar dat beheer ik niet. Momenteel ben ik (ivm SyncML&ActiveSync-vereisten) Horde 4 en OBM aan het onderzoeken. Kolab zou ook tot de mogelijke kandidaten gerekend kunnen worden als ik me niet vergis.

Wat zijn andere mogelijkheden/hoe zijn de ervaringen met de diverse programma's?

'Groupware is een heel breed begrip, getuige ook wikipedia nl,en,de. Delen van agenda, adressen berichten en bestanden kan natuurlijk ook in een wiki, maar ik denk dat de in dit topic te bespreken software in ieder geval gerichte functies voor agenda, adressen en berichten moet hebben.

[PHP] url triggeren in PHP

27-01 12:42 vraag 7

Vraag

Ik wil vanuit PHP deze url laten uitvoeren / triggeren:

http://mijnsite.nl:8080/j...p;idx=57&switchcmd=On

Ik plaats het op php forum omdat het volgens mij meer PHP vraagstuk is dan dat het iets met domoticz te maken heeft.
...

Doel: Hiermee in domoticz een lamp inschakelen.
...

Wat ik al gevonden of geprobeerd heb maar wat niet werkt.
code:
1
2
3
4
5
6
7
<?php 
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, "http://url:8080/json.htm?type=command&param=switchlight&idx=57&switchcmd=On");
curl_setopt ($ch, CURLOPT_HEADER, 0);
curl_exec ($ch);
curl_close ($ch);
?>

Totaal van records aangeven met php/mysqli lukt niet

27-01 09:09 vraag 11

Vraag

Ik ben voor mijzelf een projectje begonnen. Het komt er kort op neer dat ik bezig ben met een formulier waar personen gegevens kunnen invullen over een hoeveelheid troepen, van tribalwars, en deze hoeveelheid wordt dan inclusief gebruikersnaam opgeslagen in een database. Het probleem is echter dat ik het totaal aantal troepen van alle gebruikers bij elkaar opgeteld wil zijn en dat gegeven dan outputten in een html tabel. Het is me nu wel gelukt om een totaal van troepen per gebruiker weer te geven, maar het lukt me niet om dat van alle gebruikers in totaal te doen.

Dit is de code die ik nu gebruik:
PHP: test.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
$mysqli = new mysqli($servername, $username, $password, $db);
 
if ($mysqli->connect_errno) {
    printf("Connect failed: %s\n", $mysqli->connect_error);
    exit();
}
 
$query = "SELECT * FROM Troepen";
 
if ($result = $mysqli->query($query)) {
 echo "<table border=1 width=70% bgcolor=white>";
 echo "<tr>";
 echo "<th> Speler</th>";
 echo "<th> Aanvallend</th>";
 echo "<th> Verdedigend</th>";
 echo "<th> Totaal</th>";
 echo "</tr>";
 
 while ($row = $result->fetch_assoc()) {
  $username = $row["username"];
  $aanvallend = $row["bijlvechter"] + $row["cavalerist"] + $row["boogschutter_te_paard"] + $row["ram"] + $row["katapult"];
  $verdedigend = $row["speervechter"] + $row["zwaardvechter"] + $row["boogschutter"] + $row["gepantserde_cavalerist"];
  $totaal = $aanvallend + $verdedigend;
 
  echo "<tr>";
  echo "<td> $username</td>";
  echo "<td> $aanvallend </td>";
  echo "<td> $verdedigend </td>";
  echo "<td> $totaal </td>";
  echo "</tr>";
  ob_flush();
  flush();
    }  
 echo "</table>";
    $result->free();
}
 
$mysqli->close();

Sessie data komt bij mij wel door bij klant niet.

27-01 08:15 vraag 5

Vraag

Mijn vraag
Ik ben voor een klant van mij bezig om omnikassa op zijn site te zetten.
Het omnikassa gedeelte werkt goed en de betalingen werken wel gewoon. Ik heb alleen het probleem dat ik geen orderdata van klanten in mijn database krijg. Ik doe dit door de data eerst in de database te drukken en vervolgens te verwijderen als de betaling bijvoorbeeld fout is gegaan. Het probleem waar ik tegen aan loop is dat als ik zelf een order plaats dit netjes in het systeem komt en bij de klant dit somehow niet wil lukken.

Wat ik zelf denk is dat dit komt doordat ik een session start uitgecomment heb. Dit heb ik de week erop opgelost maar de bestelling van vandaag is alsnog weer leeg aangekomen en mijn eigen willen weer wel.Heeft het misschien te maken dat de website korte tijd zonder deze session heeft gedraaid? Ik heb hier niet veel ervaring mee gehad tot nu toe.

Relevante software en hardware die ik gebruik
Hier zijn wat relevante stukjes code die ik hier heb gebruikt. Ik haal de data uit de session op zodat ik zowel de gebruiker id en de items uit het winkelmandje heb.
Met de for loop ga ik de artikelen door en voeg ik ze in de loop toe aan de orderregels tabel toe vervolgens voeg ik hier de verzendkosten aan ten zet ik ook de order zelf in de db.
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
session_start();

$sOrderId = date("Y") . "." . $ordernummer;
$userid = $_SESSION['Zend_Auth']['storage'];
$userid = $userid->user_id;

$t=time();

$status = '1';

/* Tel het aantal artikelen wat in de winkel wagen zit */
$aantalartikelen = count($_SESSION['winkelwagen']);

$msg = "Er is iemand op start.php beland" ;
$msg .= "User id= " . $userid . " / order_id= " . $ordernummer ."/ ";

for ($i = 0; $i < $aantalartikelen; $i++){
$artikel = $_SESSION['winkelwagen'][$i]['article_id'];
$nummer = $_SESSION['winkelwagen'][$i]['number'];
$titel = $_SESSION['winkelwagen'][$i]['title'];
$aantal = $_SESSION['winkelwagen'][$i]['aantal'];
$artikelprijs = $_SESSION['winkelwagen'][$i]['price'];

//invoegen order regels voor mail systeem.
$msg .= "Dit is het " . $i . "e artikelnummer wat besteld is: " . $_SESSION['winkelwagen'][$i]['number'] ." aantal = " . $_SESSION['winkelwagen'][$i]['aantal'] . "/ ";

//query voor plaatsen order regels
mysqli_query($con,"INSERT INTO orders_regels (order_id, article_id, number, title, aantal, price, status_id) 
VALUES('" . $ordernummer . "', '" . $artikel . "', '" . $nummer . "', '". $titel ."', '" . $aantal . "', '" . $artikelprijs . "', '". $status ."')");
}
mysqli_query($con,"INSERT INTO orders_regels (order_id, article_id, number, title, aantal, price, status_id) 
VALUES('" . $ordernummer . "', ' 10000 ', ' V-1000 ', ' Verzendkosten ', ' 1 ', '7.00', '". $status ."')");

mysqli_query($con,"INSERT INTO orders (order_id,user_id, nr, datumtijd, payment_type, send_data_id) VALUES (" . $ordernummer . ", ". $userid .", " . $sOrderId . ", " . $t . ", 2, 0)");

mail ('------------@------.nl, "start.php benaderd", $msg);

Wat ik al gevonden of geprobeerd heb
Ik heb al gekeken of dit ligt aan de browser die gebruikt wordt heb alle varianten van zowel desktop en mobiele versies geprobeerd dit geeft geen problemen bij mij.
Ik heb een mail functie in het bestand toegevoegd dat mij de data stuurt voordat dit na de rabobank gaat. Hier krijg ik net als voorheen een gevulde mail als ik hem verstuur en als de klant dit doet gaat het weer fout.


Ik hoop dat jullie hier iets in kunnen zien ik zie er in elk geval niks in.

[Laravel] Onverwacht reultaat van sortBy()

21-01 19:30 vraag 7

Vraag

Als oefening voor mezelf probeer ik een adres boek te maken met Laravel. Als ik mijn adres lijst wil sorteren krijg ik niet het resultaat dat ik verwacht. ik heb de volgende code in mijn controller:
PHP:
1
2
3
4
5
public function test(){
        $adres = Adres::all()->sortBy( 'surname' );
        return View::make('adres.test')
                    ->with('adres', $adres);
    }

en in mijn view dit:
PHP:
1
2
3
4
5
6
7
@section('content')
 <div class="col-md-10 table-responsive">   
    @foreach ($adres as $test)
        {{ $test->surname }}<br>
    @endforeach
 </div> 
@stop

Als resultaat krijg ik een achternamen lijst met eerst alle namen met 1 woord, dan alle namen met 2 woorden, daarna alle namen met 3 woorden. dus zoiets als:
  • Akkermans
  • ...
  • Wagenaar
  • de Bekker
  • ...
  • van Zeeland
  • van den Heuvel
  • ...
  • van der Zee
Mijn verwachting is dat een spatie tussen de letters niet uit maakt voor de manier van sorteren. Als ik met phpMyadmin naar de dataset kijk en sorteer dan krijg ik wel de achternamen gesorteerd zoals ik zou verwachten. Ik heb geprobeerd dit te googelen maar vind niks. (Kan er ook aan liggen dat ik geen goede steek woorden kan verzinnen)
Waarom wordt er op deze manier gesorteerd en voor kom ik het?

Beste antwoord

Je kan ook een flag meegeven om case insensitive te sorteren:
PHP:
1
Adres::all()->sortBy('surname', SORT_STRING | SORT_FLAG_CASE)

Zie http://php.net/manual/en/function.sort.php

Maar in dit geval kan je ook via MySQL sorteren, dat is waarschijnlijk efficienter ook.

[PHP] Opcache op grote vps

19-12-2015 discussie 20
Er zijn op internet tal van sites te vinden die Opcache tutorials hebben met hoe je het aanzet en dergelijke. Je hebt ook mensen die toegeven dat er niet heel veel documentatie over is:
https://www.scalingphpboo...e-settings-tuning-config/

Wij zitten met het probleem dat we een vps hebben waar tientallen sites op draaien, allemaal redelijk low-volume (daarom kan het nog op ťťn redelijk krachtige VPS). Maar er komen problemen als je opcache dan wilt gebruiken.

Laatst probeerden we wat met een aardig grote cache size en dergelijke, maar je krijgt een interessante error als je gewoon niet al je files kan cachen voor zover wij merkten, namelijk
white page of death...
(Dit is eigenlijk nog best een interessant issue, mocht je ideeŽn hebben hoor ik het graag. In de opcache error log kwam in ieder geval niet iets te staan de afgelopen keer. Het repliceren is nogal een lastige boel helaas :| )

De performance gains zijn echter significant, 10x zo snel is niet ongehoord.... Hoe kunnen we dit nou handig aanpakken? We hebben beperkte cache capaciteit uiteraard.

edit: Op vps staan momenteel 137k php bestanden.

Databasekeuze-discussie

15-12-2015 discussie 52
Ik ben met een vriend bezig met een project(je) wat als het goed gaat, flink uit de hand kan lopen(positief gezien). Echter is er een kleine discussie ontstaan betreft database keuze :-)


70,000 regels per user per jaar
elke regel is +/- 15Kb

verwacht word een max van 300,000 users in +/- 5 jaar, voor al deze users is er ook historische data beschikbaar. Dus stel user x is in jaar 1 al actief is dat na 5 jaar dus 70,000 * 5 = 350000 regels voor 1 user met 5 jaar aan historische data.

vanuit deze data worden grafieken gegenereerd die weer als rapport gestuurd worden naar de user.

Nu wil ik het genereren van deze data door PHP laten doen voor al deze users. Dit kan op een aparte server waardoor deze server zich alleen maar bezig hoeft te houden met het genereren van de rapporten. Nu heb ik alleen een discussie met diegene waarmee ik dit wil gaan realiseren.

Hij zegt dit kan je vergeten met MySQL en PHP dat gaat nooit goed en snel werken. Waarop mijn reactie was, er zal vast een combinatie zijn php met ?? waarbij dit normaal mogelijk is.

Wat is jullie gedachten hierover ? Het staat al wel vast dat het een taal of database moet zijn die op een (l)unix server moet kunnen draaien.

[PHP] htaccess gebruiken

07-12-2015 discussie 29
Ik heb een site gemaakt waarbij ingelogde gebruikers scans kunnen uploaden en nadien bekijken. Die scans komen in een met htaccess beveiligde map te staan. De gebruikersnaam + het wachtwoord van de map wil ik intern gebruiken in de php code, zodat gebruikers deze niet zelf moeten invoeren.

Zulke URL's komen er dan zo uit te zien: username:pswd@http://www.blabla.nl/scans/bla.jpg

Het probleem is dat de gebruikersnaam en het wachtwoord zichtbaar zijn zodra je de cursor op de link plaatst. Hetzelfde geldt voor rechter muistoets en view source. Nu zou ik de statusbalk kunnen wissen en rechter muistoets + view source kunnen blokkeren, maar bestaat er niet een betere mogelijkheid?

[PHP/GD] Specifieke grafiekdata ophalen uit txt-file

03-12-2015 discussie 32
Hoi allemaal,

ik hoop dat ik hier goed zit met deze vraag, ik heb de headers gelezen, normaal woon ik in EL en van PHP heb ik weinig kaas gegeten. Belangrijk is, vind ik, om meteen te vermelden dat alles wat ik hier ga vragen, moet draaien op een RPi B+. Ik ben bezig met een meet en regelsysteem. Er wordt e.e.a. geregeld aan de hand van bepaalde metingen. Een soort mini domotica, maar toch net anders. De hele RPi moet uiteindelijk "bediend" worden vanuit een webpagina. Dat lukt an sich wel, een knopje maken in HTML en daar een actie aan verbinden kan zelfs ik.

Ik heb GD gevonden en geÔnstalleerd, mooie library om grafiekjes mee te maken. Deze pagina bood een hele mooie basis, aan de hand daarvan heb ik een grafiekje doorgebouwd. Op dit moment genereer ik data aan de hand van een random formule met gedempte output. Levert voor de bŁhne een leuke grafiek op, maar zegt nog helemaal niets.

In een ander deel van de programmatuur lees ik met behulp van een C routine data van een I2C connectie uit naar een txt file. Dat gaat goed, ik krijg een waarde van 0 tot 255 terug (1 byte data per sending) en die schrijf ik, voor nu, direct naar het txt file. Gewoon mooi keurig 1 byte per regel, na iedere schrijfactie start ik dus weer op een nieuwe regel. Eventueel kan ik daar nog een index getal voor zetten, dat is 2 seconde schrijfwerk. Ik verwacht dat het makkelijker is om de conversie naar bruikbare data te doen in het C bestandje dan in het PHP scriptje, omdat het PHP scriptje al relatief veel uit moet voeren en eigenlijk snel klaar moet zijn, dus dat laat ik even ter zijde. Die conversie maken gaat mij nog wel lukken.

Nou wil ik natuurlijk die data weer uitlezen. Eenieder die wel eens een grafiekje met GD gemaakt heeft, weet dat je daarvoor een aantal samples nodig hebt. En daar zit mijn vraag. Ik wil graag die samples uitlezen uit het txt filetje. En daarin blijken zoveel mogelijkheden te zijn, dat ik met mijn beperkte PHP kennis door de bomen het bos niet meer zie.

Volgens mij zou het script in de basis zo moeten werken, maar ik wil meer, dat heb ik alvast in comments in de code gezet.
PHP:
1
2
3
4
5
6
7
8
9
$f = fopen("file.txt", "r");

#count samples;
#while(current sampe < total samples){
#use specific column data
echo fgets($f); 
#$ypoint = echoed data
}
fclose($f);

Ik wil niet meer samples lezen dan dat er opgeslagen zijn. dus overal waar geen waarde is, hoeft ook geen grafiek getekend te worden. De vertalingsslag van waarde uit mijn I2C communicatie naar waarde die de GD library zal kunnen gebruiken, is zo gedaan. Eigenlijk wil ik nog een extra kolom met daadwerkelijke waarde (niet de waarde die de grafiek nodig heeft), dus zal ik ook de juiste kolom moeten selecteren.

Voor een deel heb ik dan ook wel wat aan deze en deze HTML lessons, maar niet voldoende. Vandaar mijn vraag hier. Van Google word ik ook niet wijzer, heel veel is in perl of juist het opslaan van data ofzo, maar niets geeft echt antwoord op mijn specifieke situatie of draagt het lastige deel bij. Combineren van oplossingen zou kunnen, maar de juiste combinatie heb ik nog niet gevonden.

Alvast bedankt voor jullie hulp.
Resultaten per pagina: 25 | 50 | 100
1 2 3 ... 447


Samsung Galaxy S7 edge Athom Homey Apple iPhone SE Raspberry Pi 3 Apple iPad Pro Wi-Fi (2016) HTC 10 Hitman (2016) LG G5

© 1998 - 2016 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True