Archief - PHP/JS: Alert laten verschijnen

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

omfg

Legacy Member
lo,

ik wil dus met javascript een alertbox laten verschijnen, als er in de database iets veranderd is, maar ik weet niet welk soort code ik daarvoor in mijn php moet gebruiken.. o ja, hij controleert iedere keer als je de pagina herlaad :)
iets van
PHP:
<?php
if ($action){
//javascript actie, maar HOE?
}
?>

greets
mijn vraag is wat raar geformuleerd, maar ik denk dat hij begrijpbaar is :unsure:

BertG

Legacy Member
de code om met javascript een alert te doen is
Code:
alert("blablba");
Dus je moet dat echoën als er iets veranderd is eh :)

sSkoEziE

Legacy Member
Om volledig te zijn:
PHP:
<?php
if ($action){
?>
<script type="text/javascript">
  alert('Change in database');
</script>
<?php
}
?>

killgore

Legacy Member
sSkoEziE zei:
Om volledig te zijn:
PHP:
<?php
if ($action){
?>
<script type="text/javascript">
  alert('Change in database');
</script>
<?php
}
?>
uw bent mijn flush vergeten :p.

Tyfius

Legacy Member
en u uw kennis van PHP.

Die flush() is liefst wel nodig, ma die echo niet aangezien hij 't anders heeft aangepakt he. :x

BertG

Legacy Member
die flush is ook nie echt nodig :p
valt te bezien wat je configuratie en voorgaande code is :)

orez

Legacy Member
ge zit nimeer in php code ... ge komt uit "php mode" dan moete nimeer echo'en + is beter qua belasting voor de server... als ge al uwen html zou moeten echo'en ocharme de server :p

Biebel

Legacy Member
ru`orez zei:
ge zit nimeer in php code ... ge komt uit "php mode" dan moete nimeer echo'en + is beter qua belasting voor de server... als ge al uwen html zou moeten echo'en ocharme de server :p
Ben je daar zeker van? Van het moment dat een pagina een .php extensie heeft gaat die sowieso door de PHP Application Server dus moet em sowieso geparsed worden.

En ik denk dat echo 1 van de simpelste en performantste functies is die je hebt in PHP. Ik denk zelfs dat het beter is om 1 echo te hebben ipv een 100-tal omdat de PHP server dan uw statement als 1 blok kan verwerken ipv gans de tijd naar de volgende close en opening tags te zoeken.

Ik weet bvb dat Macromedia Coldfusion aanraad om zo weinig mogelijk cfoutput (equivalent van echo) te gebruiken net om te vermijden dat CFMX meer tijd nodig heeft om gans uw pagina te doorzoeken op verschillende cfoutputs, of echo's in PHP.

Trouwens, veel grote opensource producten zoals weblogs en BBB gebruiken een complex template en include systeem om hun GUI op te bouwen. Een template an sich kan een html pagina zijn met af en toe een echo van een variabele maar vaak worden die in een (object) variable geplaatst en dan naar een hoger niveau gestuurd om uiteindelijk met een echo functie op de pagina weergegeven te worden. Aangezien dat weblogs en BBB vrij performant zijn en het grotendeel van online PHP toepassingen beslaan denk ik niet dat een echo zo'n grote impact heeft op de performance ;)

Maar als je tests/studies hebt over het gebruik van echo mag je die gerust hier zetten, best practices zijn altijd welkom :)

B.

Tyfius

Legacy Member
Wat buiten de <?php ?> extensies staat wordt sowieso niet geparsed, maar gewoon als losse data meegestuurd.
En in theorie is print(); iets sneller dan echo();, maar dan spreken we hier van 1000ste van een nanoseconde ofzo :)

1 echo()/print() is sowieso beter dan 100den, vandaar dat voor grotere systemen ook met templates wordt gewerkt. Template inlezen, data replacen en 1 print() doen die alles afdrukt.

BART_SIMPSON416

Legacy Member
Eigenlijk is het sluiten en het terug openen een van de traagste dingen om te doen als je server php niet CGI mode of niet als module draait.
Dan kan er wel eens serieus veel cpu time nodig zijn.
Want dan durft men soms de php parser te sluiten en direct terug opnieuw te starten. En das natuurlijk niet echt handig.
Al is dat enkel bij servers die bijna nooit worden geupdate en oude versies draaien.

dJeez

Legacy Member
Tijdens het parsen wordt er in de PHP intermediary code ook een "echo" gegenereerd van de HTML code die je tussen de PHP code kiepert, dus in feite is er totaal geen verschil tussen een echo (met single quotes!!!) en inline HTML code toevoegen. Het is pas na de omzetting in intermediaire code dat de PHP code ook effectief uitgevoerd zal worden, vandaar dat je nooit PHP scripts kan uitvoeren met syntax fouten (de syntax moet nl. geldig zijn om de omzetting naar intermediaire code te kunnen doen).

Wat hier net boven staat (dat de parser opnieuw zou aangeroepen per <?php tag) klopt dus eigenlijk van geen kanten.

Biebel

Legacy Member
dJeez zei:
Tijdens het parsen wordt er in de PHP intermediary code ook een "echo" gegenereerd van de HTML code die je tussen de PHP code kiepert, dus in feite is er totaal geen verschil tussen een echo (met single quotes!!!) en inline HTML code toevoegen. Het is pas na de omzetting in intermediaire code dat de PHP code ook effectief uitgevoerd zal worden, vandaar dat je nooit PHP scripts kan uitvoeren met syntax fouten (de syntax moet nl. geldig zijn om de omzetting naar intermediaire code te kunnen doen).

Wat hier net boven staat (dat de parser opnieuw zou aangeroepen per <?php tag) klopt dus eigenlijk van geen kanten.
Dat is dus wat ik wilde zeggen, een php pagina wordt volledig geparsed door de php application server en omgezet naar htm code en dan naar apache of de webserver van dienst teruggekeerd zodat die in de browser kan weergegeven worden.
Btw djeez, waar doelde je op met echo met single quotes? Is er dan een verschil met dubbele quotes? Het is al een tijdje geleden dak me nog met PHP heb beziggehouden, misschien dat ik iets gemist heb :)

B.

sSkoEziE

Legacy Member
Single quotes doen geen extrapolatie, dus de effectieve string wordt afgedrukt.
Voorbeeld:
PHP:
$str = "teststring";
echo "$str";
geeft als resultaat: teststring
PHP:
$str = "teststring";
echo '$str';
geeft als resultaat: $str

BART_SIMPSON416

Legacy Member
Nou, ik weet niet sinds waneer jij met php bezig bent maar op oudere apache servers met php3 gebeurde dit dus wel :|
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan