PHP-scripts in apart PHP-bestand

Overzicht

Sponsored by: Vacatures door Monsterboard

Pagina: « vorige 1 2 3 4 volgende »

- Ariën -
Beheerder

- Ariën -

22/11/2021 10:23:39
Anchor link
Hoe ziet je relevante code eruit?
Zet die het eens met vermelding van de bestandsnaam tussen de code-tags.

Zet ook de error reporting in PHP op maximaal.
Gewijzigd op 22/11/2021 10:24:24 door - Ariën -
 
PHP hulp

PHP hulp

30/11/2021 04:32:37
 
Gerard van Katwijk

Gerard van Katwijk

22/11/2021 10:32:32
Anchor link
- Ariën - op 22/11/2021 10:05:03:
Als jij mijn vragen ontwijkt, dan kan ik er moeilijk op antwoorden.
Wanneer het lijkt alsof ik jouw vragewn ontwijk, heb ik jou niet goed gesnapt, want waarom zou ik vragen ontwijken?
Quote:
Je weet het verschil tussen een grafische interface en een commandline?

Volgens mij wel. Een commandline is iets waar je een commando invoert, dat vervolgens wordt uitgevoerd (zoals "sudo apt-get install -y smarty") en het overige gaat middels een grafische interface. Maar net als de meeste mensen die auto rijden geen flauw benul hebben WAARDOOR hun auto rijdt, weet ik ook niet echt WAARDOOR dingen gaan waardoor ze gaan.
Quote:
Verder ken ik Geany niet. Ik gebruik zelf Apache Netbeans om te programmeren.

Geany werd meegeleverd met het Raspberry-besturingssysteem en wordt omschreven als een "vrije platformonafhankelijke broncodebewerker en IDE".
 
Ozzie PHP

Ozzie PHP

22/11/2021 10:34:47
Anchor link
Als ik het goed begrijp ...

- Ariën - op 22/11/2021 09:50:37:
En wat projecteert het dan? Op welk Operating System werk je dan? Of is dat een groot geheim ;-)



Gerard van Katwijk op 22/11/2021 09:15:06:
... tot heden met het RISC-besturingssysteem.


https://miro.medium.com/max/2400/0*UK56HXNiGHnxmEJy.png
 
- Ariën -
Beheerder

- Ariën -

22/11/2021 10:37:07
Anchor link
Ik vroeg gewoon op welk Operating Systeem je normaal gesproken je werk doet.

Dat lijkt mij geen lastige vraag? Dan weet ik in ieder geval wat voor software ik kan adviseren.

Maar blijkbaar is dat dus de RISC distro ? Dan kan je toch ook prima klikken met de muis? ;-)

En werk je met je website op een aparte server (Raspberry Pi)?
Gewijzigd op 22/11/2021 10:37:45 door - Ariën -
 
Gerard van Katwijk

Gerard van Katwijk

22/11/2021 10:40:19
Anchor link
- Ariën - op 22/11/2021 10:23:39:
Hoe ziet je relevante code eruit?
Zet die eens met vermelding van de bestandsnaam tussen de code-tags.

Jeetje, wat vraag je me nou? Wil je dat ik de hele inhoud van mijn index.php-bestand hier naar toe kopieer?
Quote:
Zet ook de error reporting in PHP op maximaal.

Geen idee waar je het hier over hebt. :( Ik ben een absolute beginner! Dit is net zoiets, in mijn beleving, als aan iemand vragen die nog nooit auto gereden heeft om gas te geven. Zo iemand moet eerst verteld worden dat wanneer die met diens voet op een bepaald pedaal trapt, de auto vooruit gaat.
 
Ivo P

Ivo P

22/11/2021 10:46:49
Anchor link
volgens mij praten Ariën en Gerard redelijk langs elkaar heen, doordat Ariën kennelijk van generatie of wat later is dan Gerard en ik, en de pre-pc tijd gemist heeft:

In de commodore-64, MSX, Acorn, ZX-81 etc etc tijd die voor de opkomst van Microsoft gebaseerde Operating systems als MS-DOS bestond, had elk merk zijn eigen operating system.

Blijkbaar (was mij ook niet bekend) wordt Risc OS nog steeds gebruikt.
Ik vraag me wel af welke hardware Gerard daarbij dan gebruikt.

Naar ik vermoed niet een Raspi.

En als je ooit hebt leren werken met command line georienteerde omgevingen op de C64 of MSX, dan is het mogelijk ook minder bezwarend om ook op een webserver gewoon de command line te gebruiken. Dat heeft zelfs mijn voorkeur boven grafische oplossingen die vaak beperkt zijn tot wat de bouwer van zo'n tool als nodig beschouwde en wat.
 
- Ariën -
Beheerder

- Ariën -

22/11/2021 10:47:36
Anchor link
Als iets niet werkt dan willen we wel graag weten wat je aan relevante hebt. Ik ga ervan uit je fouten in een zo compact mogelijke code kan reproduceren.

We krijgen hier namelijk wel eens een vraag van iemand die met 400 regels aan code komt, en dát willen we voorkomen.

En foutafhandeling (error_reporting) in PHP wordt overal wel zo'n beetje besproken. Dat kan je in je script met ini_set doen, maar ook in php.ini of .htaccess.
 
Gerard van Katwijk

Gerard van Katwijk

22/11/2021 10:50:39
Anchor link
- Ariën - op 22/11/2021 10:37:07:
Ik vroeg gewoon op welk Operating Systeem je normaal gesproken je werk doet.

Dat schreef ik toch? Of was ik onduidelijk? Normaal gesproken en het liefst werk ik met het RISC-besturingssysteem. Maar omdat ik daarop geen .AMP (dat zou dan RAMP moeten gaan heten en van RISC schrikken de meeste mensen al) kan draaien noch PHP, worstel ik nu om me het Raspberry-besturingssysteem eigen te maken.
Quote:
Maar blijkbaar is dat een RISC-distro. Dan kan je toch ook prima klikken met de muis? ;-)

Klopt!
Quote:
En werk je met je website op een aparte server (Raspberry Pi)?

Klopt ook. :) Op m'n ene Pi draait het RISC-besturingssysteem en op m'n andere het Raspberry-(een Linux-versie)besturingsysteem.
 
- Ariën -
Beheerder

- Ariën -

22/11/2021 10:52:44
Anchor link
Nu is dat duidelijk. :-)
 
Gerard van Katwijk

Gerard van Katwijk

22/11/2021 11:36:50
Anchor link
Ivo P op 22/11/2021 10:46:49:
volgens mij praten Ariën en Gerard redelijk langs elkaar heen, doordat Ariën kennelijk van generatie of wat later is dan Gerard en ik, en de pre-pc tijd gemist heeft:
In de commodore-64, MSX, Acorn, ZX-81 etc etc tijd die voor de opkomst van Microsoft gebaseerde Operating systems als MS-DOS bestond, had elk merk zijn eigen operating system.
Dat is, volgens mij, nog steeds zo. Immers, ook MS, Apple e.d. hebben hun eigen besturingssysteem. Maar de RISC-microprosessor ARM, waar zit die tegenwoordig niet in?
Quote:
Blijkbaar (was mij ook niet bekend) wordt Risc OS nog steeds gebruikt.

Klopt. Al weer heel wat jaren geleden bestond de Nederlandse computervereniging "BigBenClub", waar ik ook al heel lang lid van ben, 25 jaar. Bij die gelegenheid ontvingen alle leden gratis een pas op de markt gekomen Raspberry Pi, waarop (ook) het RISC-besturingsysteem kon draaien.
Quote:
Ik vraag me wel af welke hardware Gerard daarbij dan gebruikt.

Zie boven. M'n eerste computer was de BBC Micro liefkozend de "beep" genoemd, in de jaren 80 van de vorige eeuw. M'n laatse voordat ik overstapte op de Pi was de Kinetic RiscPC.
Quote:
Naar ik vermoed niet een Raspi.

Wel dus. :)
Quote:
En als je ooit hebt leren werken met command line georienteerde omgevingen op de C64 of MSX, dan is het mogelijk ook minder bezwarend om ook op een webserver gewoon de command line te gebruiken. Dat heeft zelfs mijn voorkeur boven grafische oplossingen die vaak beperkt zijn tot wat de bouwer van zo'n tool als nodig beschouwde en wat.

Ik heb eigenlijk nooit met commandoregels gewerkt. In 1987 kwam Acorn al met een grafische interface. Nu heeft elk platform een grafische interface maar die aan RISC gekoppeld is, vind ik nog steeds het meest gebruiksvriendelijk vanwege o.a. de vele overlappende vensters die mogelijk zijn i.p.v. dat geklooi met tab's.
Op de Pi met het Raspberry-besturingssysteem kreeg ik eigenlijk voor het eerst pas serieus te maken met een commandoregelsysteem middels LXTerminal.
 
- Ariën -
Beheerder

- Ariën -

22/11/2021 11:54:31
Anchor link
Ik ben inmiddels al op de hoogte, zodat ik nu ook weet wie ik voor mij heb.

Nog gelukt met de eerste stapjes in Smarty?
 
Gerard van Katwijk

Gerard van Katwijk

22/11/2021 12:03:36
Anchor link
- Ariën - op 22/11/2021 11:54:31:
Nog gelukt met de eerste stapjes in Smarty?

Niet echt. Geen idee hoe ik verder moet of dat ik mogelijk iets verkeerd heb gedaan. Ben ijverig aan het rondstruinen op het internet, maar echt een beginnersverhaal heb ik nog niet kunnen vinden.
 
Rob Doemaarwat

Rob Doemaarwat

22/11/2021 12:26:07
Anchor link
Hm, kun je misschien een voorbeeld geven van wat je precies verwacht / zou willen doen (in code)?

Ik krijg het idee dat je gewoon zoiets wilt (of schat ik het nu te simpel in?):
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php

include('mijn_functies.php');

?>
<!DOCTYPE html>
<html>
  <head>
    <title><?php print(mijn_titel()); ?></title>
  </head>
  <body>
    <?php print(mijn_body()); ?>
    enz
  </body>
</html>


Via een template parser kun je dit vereenvoudigen tot:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<!DOCTYPE html>
<html>
  <head>
    <title>{{ mijn_titel }}</title>
  </head>
  <body>
    {{ mijn_body }}
    enz
  </body>
</html>

Maar daar krijg je wel een behoorlijke overhead (+ leercurve) voor terug (uiteraard zitten er ook wel meerdere voordelen aan vast).

Toevoeging op 22/11/2021 12:30:55:

Ter info: "Geany" is op Linux distro's wat "Kladblok" / "Notepad" voor Windows gebruikers is.
 
- Ariën -
Beheerder

- Ariën -

22/11/2021 14:09:53
Anchor link
Gerard van Katwijk op 22/11/2021 12:03:36:
Niet echt. Geen idee hoe ik verder moet of dat ik mogelijk iets verkeerd heb gedaan. Ben ijverig aan het rondstruinen op het internet, maar echt een beginnersverhaal heb ik nog niet kunnen vinden.

In PHP zet je alle data klaar in aparte pakketjes, het 'assignen'. In HTML roep je die data op.

Simpel voorbeeld:

index.php
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
require_once('Smarty.class.php');

$smarty = new Smarty(); // Class Smarty inladen

// Stel de juiste paden in voor de directories voor de:
// templates, automatisch gecompileerde templates, configuratie en de cache.

$smarty->setTemplateDir('/web/www.example.com/templates/');
$smarty->setCompileDir('/web/www.example.com/templates_c/');
$smarty->setConfigDir('/web/www.example.com/configs/');
$smarty->setCacheDir('/web/www.example.com/cache/');

// Assign een string naar Smarty-variabelen
$smarty->assign('titel', 'Mijn eerste Smarty-site');
$smarty->assign('naam', 'Piet Pietersen');

// Toon het
$smarty->display('index.tpl');
?>


En dan hebben we index.tpl in de /templates staan:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<!DOCTYPE html>
<html>
<head>
<title>{$titel}</title>
</head>
<body>

<h1>{$titel}</h1>
<p>Mijn naam is: {$naam}</p>

</body>
</html>


Et voila...
Je hebt je PHP-code en je HTML gescheiden van elkaar. ;-)

Nu kan je ook bijvoorbeeld foreach en if-else-eleif structuren gebruiken in je templates, en nog veel meer.

@Rob: Een templateparser geeft wat meer overhead, en heeft een leercurve. Maar het heeft wel diverse gemakken, zoals ingebouwde caching, en het compileren van de output om de werking te verstellen en en een debug-modus om te zien welke data er ge-assigned is. Ook heeft Smarty wat standaard plugins voor formulier-onderdelen.
Gewijzigd op 22/11/2021 14:16:59 door - Ariën -
 
Gerard van Katwijk

Gerard van Katwijk

22/11/2021 18:30:06
Anchor link
Rob Doemaarwat op 22/11/2021 12:26:07:
Hm, kun je misschien een voorbeeld geven van wat je precies verwacht / zou willen doen (in code)?

Dat zal ik bij deze nog een keer proberen. :)
Wanneer ik een website wil maken bestaande uit bijvoorbeeld 3 pagina's, dan krigen ze allemaal het zelfde voetdeel. In de HTML-code moet ik dan 3 keer hetzelde maken en als ik wat wil veranderen moet ik dat 3 keer doen. Dat is op zich nog geen ramp maar naarmate het steeds meer pagina's worden, wens je dat dat anders zou kunnen. Bij voorbeeld door op elke pagina iets te hebben in de geest van: "Ga naar bestand A, kijk daar wat hier moet komen en voer dat uit. Net zoals dat bij CSS gaat, wanner je de stijlen in een apart stijlenbestand hebt. Wanneer ik dan iets op alle pagina's wil veranderen, hoef ik slechts naar bestand A te gaan en daar een verandering aan te brengen.
Hopelijk ben ik nu duidelijk geweest.

Quote:
Ik krijg het idee dat je gewoon zoiets wilt (of schat ik het nu te simpel in?):
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php include('mijn_functies.php');?>
<!DOCTYPE html>
<html>
  <head>
    <title><?php print(mijn_titel()); ?></title>
  </head>
  <body>
    <?php print(mijn_body()); ?>
    enz
  </body>
</html>

Dat lijkt mij wel. Ik neem aan dat "print" betekent, dat het daar uitgevoerd moet worden en dat "mijn titel" hetgeen is dat daar uitgevoerd moet worden. Voor mij is echter nog duister waar te vinden is wat er uitgevoerd moet worden. Immers, daar kan ik dan wijzigingen uitvoeren. Ik verwacht(te) eigenlijk, dat net als bij <a href ...></a>, te zien valt waar het benodigde gevonden kan worden. Of is dat in een apart bestand met de naam "mijn_functies.php"? Dat lijkt mij bij nader inzien wel. :) Maar hoe is dan in de "print"regel te zien dat die functie in "mijn_functies.php" te vinden valt?
Ook heb je duidelijk gemaakt dat dat deel boven <!DOCTYPE html> moet komen. :) Morgen ga ik op basis hiervan weer wat proberen. :)
Quote:
Toevoeging op 22/11/2021 12:30:55:waar

Ter info: "Geany" is op Linux distro's wat "Kladblok" / "Notepad" voor Windows gebruikers is.

Die indruk had ik niet. "Kladblok/Notepad" zijn volgens mij nauwelijks tekstbewerkers te noemen, terwijl "Geany" omschreven wordt als een broncodebewerker en IDE en dat is toch wel een tandje extra leek mij.

N.b. Net een paar gvd's de ruimte ingeslingerd omdat er iets niet ging zoals ik wilde en ik wenste dat alles zo intuitief en gebruiksvriendelijk was als RISC.
Gewijzigd op 22/11/2021 18:54:14 door Gerard van Katwijk
 
- Ariën -
Beheerder

- Ariën -

22/11/2021 19:19:06
Anchor link
De pro's van een templateparser heb ik al uitgelegd.
Voor Smarty heb je {include}.
En in PHP heb je include.

Hiermee kan je bijvoorbeeld een header of footer eenvoudig toevoegen.

Ik zie dat je eerst PHP aan het ontdekken bent, en dus niet met Smarty bezig bent. In dat geval bedoelt Rob dat elke print() in je template-bestand een functie bevat. Print() doet niets anders dan het uitvoeren naar het scherm.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
function mijn_titel() {
    return "Dit is mijn titel";
}

function
mijn_body() {
    return "Dit is de inhoud van mijn site.";
}

?>


En uiteraard kan je zelf zo ver gaan om dingen uit databases of globals, zoals $_GET of $_POST te halen.
Gewijzigd op 22/11/2021 19:20:07 door - Ariën -
 
Ad Fundum

Ad Fundum

22/11/2021 19:35:28
Anchor link
Net pas 1 week PHP geïnstalleerd en nog geen tutorial gelezen... mooie boel.
En dan wordt van ons verwacht dat wij de werking van include gaan herkauwen vanuit een eerste pagina. Het wordt tijd voor een biertje en wat muziek..
 
Gerard van Katwijk

Gerard van Katwijk

22/11/2021 21:19:07
Anchor link
- Ariën - op 22/11/2021 19:19:06:
De pro's van een templateparser heb ik al uitgelegd.
Voor Smarty heb je {include}.
En in PHP heb je include.

Hiermee kan je bijvoorbeeld een header of footer eenvoudig toevoegen.

Ik zie dat je eerst PHP aan het ontdekken bent, en dus niet met Smarty bezig bent.

Klopt. Het lijkt mij eenvoudiger om eerst te kijken of PHP mij kan bieden wat ik wil, voordat ik me in dingen verdiep die misschien (nog) niet nodig zijn.
Quote:
In dat geval bedoelt Rob dat elke print() in je template-bestand een functie bevat. Print() doet niets anders dan het uitvoeren naar het scherm.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
function mijn_titel() {
    return "Dit is mijn titel";
}

function
mijn_body() {
    return "Dit is de inhoud van mijn site.";
}

?>


En uiteraard kan je zelf zo ver gaan om dingen uit databases of globals, zoals $_GET of $_POST te halen.

Ik begin een donkerbruin vermoeden te krijgen dat ik warm begin te worden. :) Morgen duik ik er verder in.
 
Ivo P

Ivo P

22/11/2021 22:11:41
Anchor link
ik denk dat je eerst de ingeslagen weg met include een eindje op moet gaan.

Zeker als het eerst gaat om de onderdelen als "header", "footer" en "menu" op een pagina.

Daarna ga je wel ontdekken hoe je het midden van de pagina (de tekst / afbeelding / inhoud) dynamisch in een (1) file wilt gaan zetten.

Lijkt me niet verstandig om direct een template parser te gaan inbouwen als de basics als include en zelfs echo of print nog niet zijn toegepast.

Ja: met templates kan alles mooier en eenvoudiger, maar niet op dag 1 direct.
 
Gerard van Katwijk

Gerard van Katwijk

23/11/2021 03:06:31
Anchor link
Zo ben ik ook eerst begonnen met HTML en later met CSS. En nu is PHP aan de beurt. Het mooie van zo'n forum als dit, is dat daar vogels van allerlei pluimage tussen zitten. :)
Gewijzigd op 23/11/2021 03:08:27 door Gerard van Katwijk
 

Pagina: « vorige 1 2 3 4 volgende »

 

Dit topic is gesloten.



Overzicht

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.