[GastForen Programmierung/Entwicklung PHP und MySQL Kontaktformular (Serverversion 4.2.3 läuft, 4.3.3 nicht?)

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

Kontaktformular (Serverversion 4.2.3 läuft, 4.3.3 nicht?)

Raphy
Beiträge gesamt: 103

5. Jul 2004, 08:36
Beitrag # 1 von 10
Bewertung:
(2203 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo zusammen

hab ein problem und zwar:

Mein Kontaktformular läuft auf einem Server mit der PHP-Version 4.2.3 einwandfrei, auf einer neueren Serverversion 4.3.3 funktioniert das Kontaktformular überhaupt nicht!

Wieso das?

Kann mir jemand helfen.

Besten danke für Eure Hilfe!!!

Gruss Raphy

hier meine Programmierung:

<html>
<head>
<title>Kontakformular</title>

</head>

<body bgcolor="#FFFFFF" text="#000000" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td height="30" valign="top" colspan="4">&nbsp;</td>
</tr>
<tr>
<td width="1" height="512"></td>
<td valign="top" width="30">&nbsp;</td>
<td width="457" valign="top"> <span class="Titel">Kontaktformular</span><br>
<?php
if ($gesendet) {
$message ="
Kontaktformular Emil's Gugge
****************************
Betrifft: $betrifft
Mitteilung:
$mitteilung

Adresse:
$name
$adresse_1
$adresse_2
$plz $ort

Tel: $telefon
Fax: $fax
Email: $email
";

echo "<font class='Grundschrift'>Formular verschicken...";
if (mail("raphy@raphystreule.ch", "Kontaktformular Emil's Gugge", $message,
"From: $email\nReply-To: $email\nX-Mailer: PHP/" . phpversion())) echo "ok."; else echo "fehlgeschlagen";
echo "<br>Vielen Dank";
echo "</font>";
$gesendet=0;
}
?>
<form method="post" action="kontakt.php" name="Kontaktformular" onSubmit="MM_validateForm('name','','R','email','','RisEmail','mitteilung','','R');return document.MM_returnValue">
<table border="0" cellspacing="1" cellpadding="2" width="100%" bgcolor="#999999">
<tr>
<td height="32" valign=top align=left nowrap bgcolor="#CCCCCC"> <font class="Grundschrift">Betrifft:</font></td>
<td valign="top" bgcolor="#DFDFDF"> <font size="1">&nbsp;</font><font face="Arial, Helvetica, sans-serif" size="2">
<select name="betrifft">
<option value="Allgemein" selected>Allgemein</option>
<option value="Langlaufzentrum">Langlaufzentrum</option>
<option value="Website">Website</option>
</select>
</font></td>
</tr>
<tr bgcolor="#FFFFFF">
<td align=left valign=top nowrap bgcolor="#CCCCCC"><font class="Grundschrift">Ihre
Mitteilung:</font></td>
<td valign="top" bgcolor="#DFDFDF"> <font size="1">&nbsp;</font> <textarea name="mitteilung" wrap="VIRTUAL" cols="35" rows="5"></textarea>
</td>
</tr>
<tr>
<td height="32" valign=top align=left nowrap bgcolor="#CCCCCC"> <font class="Grundschrift">Name:</font></td>
<td valign="top" bgcolor="#DFDFDF"> <font size="1">&nbsp;</font><font face="Arial, Helvetica, sans-serif" size="2">
<input type="Text" name="name" size=35>
</font></td>
</tr>
<tr>
<td align=left valign=top nowrap bgcolor="#CCCCCC" height="60"> <font class="Grundschrift">Adresse:</font></td>
<td valign="top" bgcolor="#DFDFDF"> <font size="1">&nbsp;</font><font face="Arial, Helvetica, sans-serif" size="2">
<input type="Text" name="adresse_1" size=35>
<br>
</font><font size="1">&nbsp;</font><font face="Arial, Helvetica, sans-serif" size="2">
<input type="TEXT" name="adresse_2" size=35>
</font></td>
</tr>
<tr>
<td align=left nowrap valign="top" bgcolor="#CCCCCC"> <font class="Grundschrift">PLZ:</font></td>
<td valign="top" bgcolor="#DFDFDF"> <font size="1">&nbsp;</font><font face="Arial, Helvetica, sans-serif" size="2">
<input type="TEXT" name="plz" size=10>
</font></td>
</tr>
<tr>
<td align=left nowrap valign="top" bgcolor="#CCCCCC"> <font class="Grundschrift">Ort:</font></td>
<td valign="top" bgcolor="#DFDFDF"> <font size="1">&nbsp;</font><font face="Arial, Helvetica, sans-serif" size="2">
<input type="Text" name="ort" size=35>
</font></td>
</tr>
<tr>
<td align=left valign=top nowrap bgcolor="#CCCCCC"> <font class="Grundschrift">Telefon:</font></td>
<td valign="top" bgcolor="#DFDFDF"> <font size="1">&nbsp;</font><font face="Arial, Helvetica, sans-serif" size="2">
<input type="Text" name="telefon" size=20>
</font></td>
</tr>
<tr>
<td align=left valign=top nowrap bgcolor="#CCCCCC"> <font class="Grundschrift">Fax:</font></td>
<td valign="top" bgcolor="#DFDFDF"> <font size="1">&nbsp;</font><font face="Arial, Helvetica, sans-serif" size="2">
<input type="TEXT" name="fax" size=20>
</font></td>
</tr>
<tr>
<td align=left nowrap valign="top" bgcolor="#CCCCCC"> <font class="Grundschrift">Email:</font></td>
<td valign="top" bgcolor="#DFDFDF"> <p><font size="1">&nbsp;</font><font face="Arial, Helvetica, sans-serif" size="2">
<input type="Text" name="email" size=35>
</font></p></td>
</tr>
</table>
<br>
<input type="submit" name="gesendet" value="Abschicken">
<br>
</form></td>
<td width="210"></td>
</tr>
</table>
</body>
</html>
X

Kontaktformular (Serverversion 4.2.3 läuft, 4.3.3 nicht?)

Pozor
Beiträge gesamt: 892

5. Jul 2004, 09:40
Beitrag # 2 von 10
Beitrag ID: #94895
Bewertung:
(2203 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

dies hatt mit dem leidigen Register globals on / off problem zu tun!
ab version 4.3 ist es standartmässig auf off.
Somit kann man es nicht mehr wie gewohnt auf variablen (POST etc) zugreiffen.

abhilfe schafft da das Globale Array $_POST['gesendet'].

greez Pozor

http://www.boelsterli.biz


als Antwort auf: [#94887]

Kontaktformular (Serverversion 4.2.3 läuft, 4.3.3 nicht?)

Raphy
Beiträge gesamt: 103

5. Jul 2004, 09:47
Beitrag # 3 von 10
Beitrag ID: #94897
Bewertung:
(2203 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Pozor

Besten Dank für die schnelle Antwort.

Kannst du mir vielleicht auch noch erklären, wie ich dieses script abändern kann. Bin leider noch nicht so php-profi.

Gruss Raphy


als Antwort auf: [#94887]

Kontaktformular (Serverversion 4.2.3 läuft, 4.3.3 nicht?)

Pozor
Beiträge gesamt: 892

5. Jul 2004, 13:26
Beitrag # 4 von 10
Beitrag ID: #94964
Bewertung:
(2203 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
hallo,

if ($gesendet)
ändern in
if ($_POST['gesendet'])

und so weiter.
gruss Pozor

http://www.boelsterli.biz


als Antwort auf: [#94887]

Kontaktformular (Serverversion 4.2.3 läuft, 4.3.3 nicht?)

Raphy
Beiträge gesamt: 103

5. Jul 2004, 14:18
Beitrag # 5 von 10
Beitrag ID: #94994
Bewertung:
(2203 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Pozor

besten Dank für deine Hilfe, das kontaktformular funktioniert soweit. Nur hab ich jetzt das Problem, dass das Mail leer ist.

Muss ich z.B. die Zeilen

Adresse:
$name
$adresse_1
$adresse_2
$plz $ort

irgendwie in:

$_POSTname
$_POSTadresse_1
$_POSTadresse_2
$_POSTplz $_POSTort

abänder oder so? Damit die Daten auch im verschickten Mail gespeichert werden?

Besten dank für deine Hilfe...

Gruss Raphy


als Antwort auf: [#94887]

Kontaktformular (Serverversion 4.2.3 läuft, 4.3.3 nicht?)

Pozor
Beiträge gesamt: 892

5. Jul 2004, 15:00
Beitrag # 6 von 10
Beitrag ID: #95008
Bewertung:
(2203 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

ich habe erwartet dass es klar ist mit dem oben aufgeführten Beispiel.
also:

variable:
$variablenname

ändern in
$_POST['variablenname']

Dies findet man alles in der Windowshilfedatei, oder auch als Htmlkonstrukt für macianer.
http://www.php.net/download-docs.php

gruss Pozor

http://www.boelsterli.biz


als Antwort auf: [#94887]

Kontaktformular (Serverversion 4.2.3 läuft, 4.3.3 nicht?)

Raphy
Beiträge gesamt: 103

5. Jul 2004, 15:21
Beitrag # 7 von 10
Beitrag ID: #95012
Bewertung:
(2203 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Pozor

hmm nein hab in Sachen PHP noch nicht wirklich viel Erfahrung.

Bin ich so auf dem richtigen Weg? Hab mal die Variablen abgeändert, leider erscheint ein ERROR Zeile 29?!

Sorry, wenn ich gleich nochmals nachhak, ich hoffe wird für Dich nicht mühsam.

Danke für deine Hilfe...

Gruss Raphy

<?php
if ($_POST['gesendet']) {
$_POST['message'] ="
Kontaktformular Emil's Gugge
****************************
Betrifft: $_POST['betrifft']
Mitteilung:
$_POST['mitteilung']

Adresse:
$_POST['name']
$_POST['adresse_1']
$_POST['adresse_2']
$_POST['plz'] $_POST['ort']

Tel: $_POST['telefon']
Fax: $_POST['fax']
E-Mail: $_POST['email']
";

echo "<font class='Grundschrift'>Formular verschicken...";
if (mail("raphy@raphystreule.ch", "Kontaktformular Emil's Gugge", $_POST['message'],
"From: $_POST['email']\nReply-To: $_POST['email']\nX-Mailer: PHP/" . phpversion())) echo "ok."; else echo "fehlgeschlagen";
echo "<br>Vielen Dank";
echo "</font>";
$_POST['gesendet']=0;
}
?>


als Antwort auf: [#94887]

Kontaktformular (Serverversion 4.2.3 läuft, 4.3.3 nicht?)

Pozor
Beiträge gesamt: 892

5. Jul 2004, 17:04
Beitrag # 8 von 10
Beitrag ID: #95036
Bewertung:
(2203 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

- gib an welche zeile bei dir die zeile 29 ist.
- gib die Fehlermeldung an (einfach reinkopieren)
dies erhöht deine chance auf eine schnelle Hilfe, denn hilfsbereit sind wir ja alle, doch wenn es zu müsam ist gibts keine oder erst spät eine Antwort die zum Ziel führt.

und $_POST['message'] ist nicht so zu verwenden.
alles was per formular (post) an das skript gesendet wird kann man über das array $_POST ansprechen.

verwende für normale lokale variablen nur $variablenname.

gruss Pozor

http://www.boelsterli.biz


als Antwort auf: [#94887]

Kontaktformular (Serverversion 4.2.3 läuft, 4.3.3 nicht?)

Pozor
Beiträge gesamt: 892

5. Jul 2004, 17:26
Beitrag # 9 von 10
Beitrag ID: #95039
Bewertung:
(2203 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

noch etwas zum Programmierstyle:
leserlich sollte es sein:

$to = 'raphy@raphystreule.ch';
$subject = 'Kontaktformular Emil's Gugge';
$headers = "From: $_POST['email']\n";
$headers .= "Reply-To: $_POST['email']\n";
$headers .= "X-Mailer: PHP/" . phpversion();

$mailok = mail($to, $subject, $message, $headers);
if($mailok)
{
echo 'Ok.';
}else
{
echo 'Mailversand fehlgeschlagen';
}

es ist unheimlich wichtig gut lesbaren code zu schreiben,
denn nach einem halben Jahr, wenn ev etwas geändert werden muss
ist es unheimlich mühsam spaggeticode zu lesen.

gruss Pozor

http://www.boelsterli.biz


als Antwort auf: [#94887]
(Dieser Beitrag wurde von Pozor am 5. Jul 2004, 17:27 geändert)

Kontaktformular (Serverversion 4.2.3 läuft, 4.3.3 nicht?)

Raphy
Beiträge gesamt: 103

6. Jul 2004, 07:27
Beitrag # 10 von 10
Beitrag ID: #95135
Bewertung:
(2203 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Pozor

Besten Dank für deine Hilfe!

Hier mal die Fehlermeldung:

Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in /home/wwwroot/http://www.emilsgugge.ch/.../kontakt/kontakt.php on line 29

meine LINE 29 = Betrifft: $_POST['betrifft']

Danke für den Tipp mit der leserlichen Programmierung, nur ab "echo "<font class..."" bin ich mir nicht sicher welche Zeilen ich trennen kann und welche nicht. Könnte ich auch deine Darstellung, Programmierstyle bei mir einfliessen lassen?

Merci für deine Hilfe...

Gruss Raphy

Hier mein Code:

<?php
if ($_POST['gesendet']) {
$_POST['message'] ="Kontaktformular Emil's Gugge

****************************
Betrifft: $_POST['betrifft']
Mitteilung: $_POST['mitteilung']

Adresse:
$_POST['name']
$_POST['adresse_1']
$_POST['adresse_2']
$_POST['plz'] $_POST['ort']

Tel: $_POST['telefon']
Fax: $_POST['fax']
E-Mail: $_POST['email']";

echo "<font class='Grundschrift'>Formular verschicken...";
if (mail("raphy@raphystreule.ch", "Kontaktformular Emil's Gugge", $message,
"From: $email\n
Reply-To: $email\n
X-Mailer: PHP/" . phpversion())) echo "ok."; else echo "Mailversand fehlgeschlagen";
echo "<br>Vielen Dank";
echo "</font>";
$gesendet=0;
}
?>


als Antwort auf: [#94887]
X