Echo von externen Script in HTML ausgeben

syntax

Mitglied
Hallo Leute,

habe ein PHP-Script für ein Kontaktformular welches die Meldungen aus gibt Nachricht gesendet oder Fehler.

Was micht stört ist das man in der URL den Pfad zum Script sieht da die Meldung ja im Script ausgefürht wird.

PHP:
<?php
if(!empty($_POST['email']) && !empty($_POST['nachricht'])) {
$email= htmlspecialchars("$_POST[email]");
if (@mail("mail@mail.de", "Feedback", $_POST['nachricht'], "From: $email")) { echo "Die Nachricht wurde abgeschickt";
} else { 
echo "Es gab einen Fehler";
}
}
?>

Würde gern die Echomeldungen auf der HTML-Seite in dem das Kontaktformular ist ausgeben.

PHP:
<?php
if(!empty($_POST['email']) && !empty($_POST['nachricht'])) {
$email= htmlspecialchars("$_POST[email]");
if (@mail("mail@mail.de", "Feedback", $_POST['nachricht'], "From: $email")) { $ok="Die Nachricht wurde abgeschickt";
} else { 
$error="Es gab einen Fehler";
}
}
?>

HTML:
<html>
<head>
</head>
<body>
<?php
echo $ok
?>
</body>
</html>

Hab auch schon ein wenig probiert. Allerdings hat das nicht funktioniert.
Google konnte mir auch keinen Lösungsansatz geben.
Vielleicht könnt Ihr mir helfen.
 
An sich sollte das so klappen:
PHP:
<?php
$msg = 'Bitte fülle das Formular aus.';
if( isset($_POST['email'] && !empty($_POST['email']) && !empty($_POST['nachricht'])) {
  $email= htmlspecialchars("$_POST[email]");
  if (@mail("mail@mail.de", "Feedback", $_POST['nachricht'], "From: $email")) { 
    $msg="Die Nachricht wurde abgeschickt";
  }
  else { 
    $msg="Es gab einen Fehler";
  }
}
?> 
<html>
  <head>
    <title>Formular</title>
  </head>
  <body>
    <div id="message"><?php echo $msg; ?></div>
    <form method="post" action="./">
    <!-- Dein Formular -->
    </form>
  </body>
</html>
 
Also war mein Lösungsansatz ja gar nicht so schlecht. Habe allerdings das Problem das ich keine Meldung auf der HTML Seite ausgegeben bekomme sondern auf das Script umgeleitet werde.

Das Script ist in eine .php Datei auf einem anderen Server gespeichert ( <form method="post" action="http://server-der-php-unterstuetzt.de/php/kontakt.php"> ) da der Server auf dem die Seite mit dem Kontaktformular liegt kein PHP unterstützt.
 
Dann packst einfach das ganze PHP Skript auf den Server der es unterstützt, und gehst wenn das erledigt ist wieder zurück auf deinen ursprünglichen Server.
 
Du müsstest Ajax benutzen. Der Nachteil wäre, dass dann nur Nutzer mit aktiviertem Javascript den Inhalt sehen können. Bei google finden sich zu Hauf Tutorials und fertige Scripts.
 
Also hab jetzt statt echo eine Umleitung in das Script gebaut auf der die Meldungen kommen die ich haben möchte, ist zwar nicht die beste Lösung aber wenn meine Ursprüngliche Idee nicht geht reicht mir das auch.

Trotzdem Danke.
 
Zurück