Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[PHP] Funktion für Auswertung eines Skriptaufrufs?

Empfohlene Antworten

Veröffentlicht

Hi,

Ich hab ein PHP Skrpit das regelmäßig Daten an ein anderes PHP Skript senden soll. Nach dem Senden per Post will ich mit dem ersten Skript (das die Daten sendet) überprüfen was mein aufgerufenes Skript gemacht hat.

Kurz gesagt:

Skript 1 sendet Daten mit Post

Skript 2 verarbeitet Daten

Skript 1 überprüft, was Skript 2 zurückgegeben hat und reagiert darauf

Gibt es da irgend wie iene Möglichkeit in PHP ein anderes PHP Skript (das auf einem anderen Rechner liegt) aufzurufen und zu überprüfen was es macht?

Zu sagen, dass das Skript2 dann einfach Skript1 mit den relevanten DAten aufruft geht leider nicht, da Skript2 ja zB fehlschlägt oder nicht erreichbar ist.

(Was ich unter anderem mit dem Skript1 abfragen möchte, is der Rechner überhaupt da?)

Im Grunde so ne Art überwachung des fernen Rechners, nur das noch einiges mehr passiert (lokale Skripte starten, Prozesse killen, usw.)

Gibts da irgendne Funktion für?

PS: wenn ihr n besseren Threadtitel wisst, sagt einfach ma bescheid, mir is nix ordentliches eingefallen :/

Du lässt Skript 2 einfach je nach Aktion gewisse Statuscodes ausgeben und per Outputbuffering prüfst du im Skript 1 diese Ausgaben:


...
ob_start();
require_once('http://wo.das.andere.skipt/ist.php');
$skript_results = ob_get_contents();
ob_end_clean();

if (!CheckResults($skript_results))
echo "<h1>Fehler in Skript 2</h1>";

...
[/php]

mal so als Beispiel

EDIT:

Dazu muss aber [b]allow_url_fopen[/b] in der php.ini angeschaltet sein.

Bei meiner Lösung muss allow_url_fopen auch on sein:

test1.php:


<?php
echo '<form action="'.$_SERVER['PHP_SELF'].'" method="post">';
echo '<p>Stunde: <input type="text" name="stunde" /> <input type="submit" name="submit" value="Umgangsform für Stunde herausfinden" /></p>';
echo '</form>';
if ($_POST['submit']) {
$handle = @fopen('http://localhost/test/req/test2.php?stunde='.$_POST['stunde'], 'r');
}
if (!$handle) {
die('Umgangsformenserver nicht erreichbar!');
}
$buffer = '';
while (!feof($handle)) {
$buffer .= fgets($handle);
}
echo '<p>Ergebnis: '.$buffer.'</p>';
fclose($handle);
?>
[/PHP]

test2.php:

[PHP]
<?php
if ($_GET['stunde']) {
echo 'Guten ';
if ($_GET['stunde'] < 12) {
echo 'Morgen';
} elseif($_GET['stunde'] >= 12 && $_GET['stunde'] < 18) {
echo 'Tag';
} else {
echo 'Abend';
}
echo '.';
} else {
echo 'Bitte Stundenzahl eingeben';
}
?>

In test1.php muss natürlich die zu öffnende URL angepasst werden.

Gruß, Tobias

ahja, vielen dank, das werd ich gleich mal ausprobieren :)

Ich hatte das Ganze so verstanden, dass Script 1 die Daten per POST an Script 2 schickt.

Das wäre mit fsockopen() gegangen. Dann hättest du denn HTTP-Request selbst durchführen müssen. Und ausserdem die Kodierung deiner POST-Daten.

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.