Script lokal ausführen - geht nicht.

HeinerK

Erfahrenes Mitglied
Hallo,

ich habe folgende beiden php-Dateien

mail_versenden.php
PHP:
<?php
mail("empfaenger@adresse.de", "Testmail wegen Statistikversand", "Test", "From: absender@adresse.de");
?>


test.php
PHP:
<?php
system("php mail_versenden.php");
?>


Der HTTP-Aufruf der Datei mail_versenden.php führt dazu, dass ich eine Email bekomme.

Rufe ich via HTTP nun aber die test.php auf, bleibt die mail aus.

Wisst ihr, wo der Fehler liegt, oder wie sich das Problem anders lösen lässt?


Gruß
Heiner
 
Mhm, also jetzt hab ich erstmal eine Frage an dich. Ich sehe du willst dein Programm von einem anderen Programm starten lassen. Jetzt frage ich mich nur, möchtest du dieses Programm immer laufen lassen, oder nun ja willst du es einfach nur ausführen? Wenn ja würde ich das ganze einfach include ... -.- Denke aber zu willst dauerhaft laufen lassen oder?


p.s. ich glaube du musst den absoluten link von c:\ zum Programme noch angeben ...
 
Zuletzt bearbeitet:
Das Programm muss nur einmal ausgeführt werden.

Kann ich beim Aufruf von include() auch Parameter übergeben? So etwa:

PHP:
include("mail_versenden.php?dest=webmaster&zeit=now");

Das bräuchte ich nämlich.
 
Wenn du dein Programm includest, dann solltest du schon einmal die entsprechenden Parameter also variablen schon haben.

Ich denke du willst das ganze mit einem Formular erreichen. Die angaben werden somit an ein anderes Script geschickt mist post und durch den namen des Textfeldest hast du auch gleich die variablen.

Also zum Beispiel werden in Textformulare folgende Daten eingeben und mit einem Formular über post an ein weiters Programm (master.php) mit post gesendet.:

HTML:
<input name="email" type="text" size="36">     
<input name="betreff" type="text" size="36">
<input name="text" type="text" size="36">
<input name="absender" type="text" size="36">

in Textfeld"email" schreibst du "empfaenger@adresse.de"
in Textfeld"betreff" schreibst du "Testmail wegen Statistikversand"
in Textfeld "text" schreibst du "Test"
in Textfeld "absender" schreibst du "absender@adresse.de"


Das ganze steht dann wie folgt in deinem Programm (mail_versenden.php)

PHP:
<?php
mail("$email", "$betreff", "$text", "From: $absender");
?>

und wird dann einfach in das Programm, zu dem du diese Daten sendest includet
PHP:
<?php include(mail_versenden.php); ?>

hoffe du meinst das ganze so Andernfalls könntest du die Daten auch über eine Textdatei aufrufen etc. ^^ Naja so wie du es eben möchtest ...
Naja wenn du es doch anders meinst schreib mir etwas genauer was du willst/meinst -.- steh heut etwas auf der Leitung
und nun ja was das hier angeht, würd ich sagen, es geht ... musst es dann nur wenn ich das richtig sehe so includen

PHP:
include("mail_versenden.php?dest=webmaster&&zeit=now");
 
Zuletzt bearbeitet:
Nein, das mit den Formularen meine ich nicht.

Gibt es denn keine Möglichkeit lokal ein Script aufzurufen und diesem zur Ausführung ein paar Variablen mit auf den Start zu geben?!

Alternativ sorge ich halt in der test.php dafür, dass

PHP:
mail_versenden.php?dest=webmaster&zeit=now

mit einem http-request aufgerufen wird. Würde wohl funktionieren, ist für meinen Geschmack aber ein ziemlich hässliche Lösung.

Ich hoffe ihr versteht, was mein Ziel ist. Man könnte vielleicht sagen, dass ich ein ganzes php-Script so nutzen will wie eine Funktion. (Wenn's euch verwirrt, streicht diesen Satz einfach wieder aus eurem Kopf... ;-))
 
Zurück