Hilfe!!! Alles in php und jetzt brauch ich doch Perl!!!
Gorginio
- cgi
Hallo,
Kleines Rieeeesenproblem:
Ich meine hp nett mit php gestaltet, inkl. form mailer(s.unten)
Nun habe ich mal beim provider angerufen, und der hat mir gesagt, daß mail senden auf deren Windows2000 Server nur mit cgi geht!!
Da ich nun alles in php, muß ich dieses neu schreiben, oder kann ich mittels zusatzscript (in perl), die formulareinträge weiterübermitteln?
Welche Möglichkeiten, gibt es denn und wie löst man am schnellsten und geschicktesten das Problem (ps:ich kenn mich mit perl nicht aus!)
lg
Gorginio
Quellcode des derzeiten Formulars (formular.php)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Anfrage bzw. Anmeldeformular zum Entsorgungsfachbetrieb</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="keywords" content="Anmeldeformular,, Information">
<meta name="description" content="Verein zur Verleihung des Zertifikates">
<link href="../css_files/main.css" rel="stylesheet" type="text/css">
<script language="JavaScript" type="text/javascript">
function frameladen() {
if(!parent.main)
location.href="../index.html?" + location.pathname;
}
</script>
</head>
<body onLoad="frameladen()">
<?
$submit=$_POST['submit'];
$Emailadresse=$_POST['Emailadresse'];
$Firmenname=$_POST['Firmenname'];
$Ansprechperson=$_POST['Ansprechperson'];
$Adresse=$_POST['Adresse'];
$Hausnummer=$_POST['Hausnummer'];
$PLZ=$_POST['PLZ'];
$Ort=$_POST['Ort'];
$Telansprechperson=$_POST['Telansprechperson'];
$Kommentar=$_POST['Kommentar'];
$Informieren=$_POST['Informieren'];
$Einleiten=$_POST['Einleiten'];
if (isset($submit)) {
unset($submit);
if (($Firmenname!="")&&($Ansprechperson!="")) {
if (!eregi("[1]+([_\.-][a-z0-9]+)*"."@([a-z0-9]+([.-][a-z0-9]+))*$",$Emailadresse) )
{
echo "<br><p class='text'><font color='#FF0000'><strong>$Emailadresse</strong> ist leider keine gütige Emailaddresse. <br> Klicken Sie auf die "<strong>Zurück</strong>" Taste und kontrollieren Sie den Eintrag !\n</font></p>";
}
else
{
foreach($_REQUEST as $key => $val){ $msg .= "$key: $val\n"; }
mail("office@vilo.at","Homepage Formular",$msg,"Reply-To:$Emailadresse");
echo "<br><p class='text'>Vielen Dank für ihr Interesse!\n</p>";
}
}
else
{
echo "<p class='text'><font color='#FF0000'>Der Eintrag der Firmenname oder der Name der Ansprechperson fehlt leider. <br> Klicken Sie auf die "<strong>Zurück</strong>"-Taste und korrigieren Sie den Fehler!\n</font></p>";
}
}
else
{
?>
<h2 class="ueberschrift">Nähere Informationen bzw. Anmeldeformular:</h2>
<table summary="Formular" border="0" cellpadding="0" width="95%" cellspacing="0" align="center">
<tr>
<td width="15%"></td>
<td width="70%">
<p class="text"> Sämtliche Informationen, die Sie hier übermitteln werden an keine Dritte weitergegeben und werden streng vertraulich behandelt.<br>
Ebenso stellt die Informationsübermittlung keinerlei Verpflichtung dar und ist mit keinerlei Kosten verbunden.</p>
<p class="text">Wichtig: Felder, die mit einem * gekennzeichnet sind, müssen ausgefüllt werden.</p>
<FORM name="aformular" method="post" action="<?$SELF_PHP?>">
<p class="text">*Firmenname:<br>
<INPUT name="Firmenname" type="text" value="" size="50" maxlength="200">
</p>
<p class="text"> Anschrift: Nr:<br>
<INPUT name="Adresse" type="text" size="40" maxlength="150">
<INPUT name="Hausnummer" type="text" size="5" maxlength="15">
</p>
<p class="text">PLZ: Ort:<br>
<INPUT name="PLZ" type="text" size="5" maxlength="5">
<INPUT name="Ort" type="text" size="38" maxlength="150">
</p>
<p class="text">*Ansprechperson:<br>
<INPUT name="Ansprechperson" type="text" size="50" maxlength="150">
</p>
<p class="text"> Telefonnummer: der Ansprechperson:<br>
<INPUT name="Telansprechperson" type="text" size="50" maxlength="150">
</p>
<p class="text">*Emailaddresse der Ansprechperson:<br>
<INPUT name="Emailadresse" type="text" size="50" maxlength="150">
</p>
<p class="text" align-top="justify">Raum für Fragen: <br>
<textarea rows="6" cols="40" name="Kommentar" wrap="virtual" ></textarea>
</p>
<p class="text">
<INPUT name="Informieren" type="checkbox" value="Informieren" checked>
Ich interessiere mich für das Zertifikat,
bitte schicken Sie mir nähere Informationen
</p>
<p class="text">
<INPUT name="Einleiten" type="checkbox" value="Einleiten" >
Ich möchte, daß Zertifizierungsverfahren einleiten.</p>
<p class="text">
</p>
<p class="text">
<INPUT name="reset" type="reset" value="Zurücksetzen">
<INPUT type="submit" name="submit" value="Anfrage übermitteln" >
</p>
</FORM>
</td>
<td width="*"></td>
</tr>
</table>
<p class="text" align="left">--rp--</p>
<?
}
?>
</body>
</html>
a-z0-9 ↩︎
hi,
wenn du die daten per post überträgst, kannst du sie auch im weiterführenden perl skript verwenden soweit ich weiß.
hmmm.
meinst du anstelle von php_self alles in ein pl-file. Aber wie mache ich dann eine Überprüfung, ob alles richtig eingegeben ist (meine cgi kenntnisse sind quasi nicht vorhanden)?
(meine cgi kenntnisse sind quasi nicht vorhanden)?
wie auge schon sagte: cgi hat damit nichts zutun, es geht hier um perl :-P
Hallo
wenn du die daten per post überträgst, kannst du sie auch im weiterführenden perl skript verwenden soweit ich weiß.
Das kann er auch, wenn er die Daten per get überträgt.
Schließlich kommen die Daten von einem _HTML_ Formular
und werden von einem serverseitigen Programm verarbeitet.
Dabei ist es den Daten egal, wie sie übermittelt, und
mit welcher Programmiersprache sie verarbeitet werden.
CGI ist übrigens nur die Schnittstelle, die sowohl
Perl als auch PHP zur Ausführung benutzen.
Tschö, Auge
Hi,
da ist schon mal ein einfacher Formmailer für Perl von Stefan Münz:
http://aktuell.de.selfhtml.org/tippstricks/cgiperl/form-mail/index.htm
Und hier ein Teil von Christian Kruse für die Überprüfung der Syntax von e-mail-Adressen:
http://aktuell.de.selfhtml.org/tippstricks/programmiertechnik/email/index.html
Wenn Du mal ein bisschen guckst, solltest Du es hinkriegen, Erklärungen gibt es auch. Sonst fragst Du halöt nochmal nach....
Viele Grüße
Mathias Bigge