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. <b><li>Garantie</li></b> php in baseportal ist stark abhängig vom verwendeten Apache, so das nicht garantiert werden kann, das alle Befehle ausgeführt werden können. Auch kann es sein, das php auf fremden Servern gar nicht funktioniert. </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.00s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!