base
portal
Suche:
Forum
Start
Neue Seite erstellen
Titel:
<style> body { font-family:arial,sans-serif;background-color:white;font-size:10pt;margin-right:40px } pre { background-color:#e0e0e0;padding:8px;border:1px #808080 solid } .result { background-color:#e0e0ff;margin-top:10pt;margin-bottom:10pt;padding:8px } </style> <h1 align=center>baseportal Perl & PHP</h1> <ol> <b><li>Perl und PHP mit Tags einbinden</li></b> <code> <perl> out "hier ist Perl...<br>"; </perl> <php> out("hier ist PHP..."); </php> </code> PHP wird genauso wie Perl mit entsprechenden Tags eingebunden. "out" steht auch in PHP zur Verfügung, es müssen allerdings immer Klammern um die Ausgabe stehen. <i>Ausgabe:</i> <div class=result> hier ist Perl... hier ist PHP... </div> <b><li>Perl von PHP aus aufrufen</li></b> <code> <php> perl('$x=5;'); </php> Wert von x: $x </code> Perl wird von PHP aus aufgerufen und die Variable $x gesetzt - diese kann nun ausserhalb von PHP abgerufen werden. <i>Ausgabe:</i> <div class=result> Wert von x: 5 </div> <b><li>Perl von PHP aus aufrufen, Datenbank abfragen und Wert zurückgeben</li></b> <code> <php> $x=perl('get "range=0,1", "php_test"; return $Name'); out($x); </php> </code> Perl wird von PHP aus aufgerufen, der erste Eintrag der Datenbank "test" abgefragt und das Feld "Name" zurückgegeben. Zurück in PHP wird der Rückgabewert ausgegeben. <i>Ausgabe:</i> <div class=result> Hans </div> <b><li>Perl von PHP aus aufrufen, Datenbank abfragen und in Perl darauf zugreifen</li></b> <code> <php> perl('get "Id==*", "php_test"'); </php> <perl> while(get_next "php_test") { out "$Name - $Text<br>"; } </perl> </code> Perl wird von PHP aus aufgerufen und die komplette Datenbank "test" ausgelesen. Da dies alles in Perl passiert, kann sie, zurück in Perl, dann ausgegeben werden. <i>Ausgabe:</i> <div class=result> Hans - Und sein Text... Stefan - Ja, so gehts... ;-) Andrea - Genau so läufts! </div> <b><li>PHP von Perl aufrufen und Wert zurückgeben</li></b> <code> <perl> $x=php 'return phpversion();'; out "PHP-Version: $x"; </perl> </code> Von Perl aus wird PHP aufgerufen und die Versionsnummer von PHP zurückgegeben. In Perl wird sie dann ausgegeben. <i>Ausgabe:</i> <div class=result> PHP-Version: 4.2.3 </div> <b><li><i>get / get_next</i> in PHP</li></b> <code> <php> get("Name>a", "php_test"); while(get_next("php_test")) { out("$Name - $Text<br>"); } </php> </code> Genauso wie in baseportal gewohnt, werden auch in PHP Datenbanken abgefragt. Hier werden alle Einträge von "test" mit "Name" > "b" geholt und mit "get_next" durchlaufen. Der obige Code funktioniert sowohl in Perl, als auch in PHP. <i>Ausgabe:</i> <div class=result> Hans - Und sein Text... Stefan - Ja, so gehts... ;-) </div> <b><li><i>put / mod / del</i> in PHP</li></b> <code> <php> put(array("Name", "Josef", "Text", "und Text..."), "php_test"); get("Name==Josef", "php_test"); out("Text: $Text<br>"); mod("Name==Josef", array("Text", "was anderes ;-)"), "php_test"); get("Name==Josef", "php_test"); out("Text: $Text<br>"); del("Name==Josef", "php_test"); </php> </code> In PHP muss zur Übergabe einer Liste <i>array</i> davor geschrieben werden. Ansonsten funktioniert alles wie in Perl. <i>Ausgabe:</i> <div class=result> Text: und Text... Text: was anderes ;-) </div> <b><li><i>do_all</i> in PHP</li></b> <code> <perl>$_get{cmd}="";</perl> <php> do_all("db=php_test"); </php> </code> Natürlich gibt es auch das <i>do_all</i> in PHP (Die Links sind deaktiviert, damit nicht jeder die Datenbank ändern kann). <i>Ausgabe:</i> <div class=result> <table cellpadding=2 cellspacing=0 border=0><tr><td width=1></td><td bgcolor=c0d0f0 align=center> <b>Alles</b> </td><td width=1></td><td bgcolor=e0e0e0 align=center> <a href="http://de2.netpure.de/cgi-bin/baseportal.pl?htx=/baseportal/php_demo&cmd=do_add">Neu</a> </td><td width=1></td><td bgcolor=e0e0e0 align=center> <a href="http://de2.netpure.de/cgi-bin/baseportal.pl?htx=/baseportal/php_demo&cmd=do_search">Suchen</a> </td><td width=1></td><td bgcolor=e0e0e0 align=center> <a href="http://de2.netpure.de/cgi-bin/baseportal.pl?htx=/baseportal/php_demo">Auswahl</a> </td><td width=1></td><td bgcolor=e0e0e0 align=center> Ändern </td><td width=1></td><td bgcolor=e0e0e0 align=center> Detail </td><td width=1></td></tr><tr><td></td><td bgcolor=c0d0f0 colspan=11><table border=0 cellpadding=0 cellspacing=0><tr><td height=1></td></tr></table></td></tr></table> 3 Einträge gesamt: <table cellspacing=2 cellpadding=0 border=0><tr><td></td><td><table cellpadding=0 cellspacing=0 border=0 bgcolor=f0f0f0><tr><td><table border=0 cellspacing=2 cellpadding=4><tr bgcolor=c0d0f0><td>Aktion</td><td>Name</td><td>Text</td></tr><tr bgcolor=f0f0f0><td><a href="http://de2.netpure.de/cgi-bin/baseportal.pl?htx=/baseportal/php_demo&db=php_test&cmd=list&range=0,20&Id=0&cmd=do_mod">Ändern</a> | <a href="http://de2.netpure.de/cgi-bin/baseportal.pl?htx=/baseportal/php_demo&db=php_test&cmd=list&range=0,20&Id=0&cmd=del" onclick="return confirm('Diesen Eintrag wirklich löschen: Hans?')">Löschen</a></td><td><a href="http://de2.netpure.de/cgi-bin/baseportal.pl?htx=/baseportal/php_demo&db=php_test&cmd=list&range=0,20&cmd=all&Id=0">Hans</a></td><td>Und sein Text...</td></tr> <tr bgcolor=e0e0e0><td><a href="http://de2.netpure.de/cgi-bin/baseportal.pl?htx=/baseportal/php_demo&db=php_test&cmd=list&range=0,20&Id=1&cmd=do_mod">Ändern</a> | <a href="http://de2.netpure.de/cgi-bin/baseportal.pl?htx=/baseportal/php_demo&db=php_test&cmd=list&range=0,20&Id=1&cmd=del" onclick="return confirm('Diesen Eintrag wirklich löschen: Stefan?')">Löschen</a></td><td><a href="http://de2.netpure.de/cgi-bin/baseportal.pl?htx=/baseportal/php_demo&db=php_test&cmd=list&range=0,20&cmd=all&Id=1">Stefan</a></td><td>Ja, so gehts... ;-)</td></tr> <tr bgcolor=f0f0f0><td><a href="http://de2.netpure.de/cgi-bin/baseportal.pl?htx=/baseportal/php_demo&db=php_test&cmd=list&range=0,20&Id=2&cmd=do_mod">Ändern</a> | <a href="http://de2.netpure.de/cgi-bin/baseportal.pl?htx=/baseportal/php_demo&db=php_test&cmd=list&range=0,20&Id=2&cmd=del" onclick="return confirm('Diesen Eintrag wirklich löschen: Andrea?')">Löschen</a></td><td><a href="http://de2.netpure.de/cgi-bin/baseportal.pl?htx=/baseportal/php_demo&db=php_test&cmd=list&range=0,20&cmd=all&Id=2">Andrea</a></td><td>Genau so läufts!</td></tr> </table></td></tr></table></td></tr></table> </div> <b><li>Geschwindigkeit</li></b> Das Ganze geschieht natürlich schön schnell, wie von baseportal gewohnt... ;-) Hier wird diese Seite in Echtzeit ausgegeben: <a href="http://de2.netpure.de/cgi-bin/baseportal.pl?htx=/baseportal/php_demo" target="_blank">http://de2.netpure.de/cgi-bin/baseportal.pl?htx=/baseportal/php_demo</a> Ganz unten steht die Laufzeit. Allerdings benötigt das Umschalten zwischen Perl und PHP und das Übertragen der Werte (z.B. bei Datenbank-Abfragen) auch Zeit, so dass man es soweit möglich reduzieren sollte. Diese Seite komplett in Perl gelöst benötigt z.B. nur die Hälfte der Zeit. </ol>
Name:
Passwort:
Stichworte:
Version:
1
2
3 Angebot:
Alle
Nur Miete / Lizenz
Nur Miete / Lizenz professional
Nur Miete
Nur Miete smart + pro
Nur Miete smart + pro / Lizenz
Nur Miete pro
Nur Miete ab pure2, smart2, pro1
Nur Lizenz
Nur Lizenz professional
Nur Kostenlos
Ohne Änderungen zurück zur Seite
-
+
©
baseportal
GmbH. Alle Rechte vorbehalten.
powered in 0.02s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!