hilfdirselbst.ch
Facebook Twitter gamper-media
Raphy S
Beiträge: 103
5. Jul 2004, 08:36
Beitrag #1 von 10
Bewertung:
(1519 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

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


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>
Top
 
X
Pozor  M 
Beiträge: 892
5. Jul 2004, 09:40
Beitrag #2 von 10
Beitrag ID: #94895
Bewertung:
(1519 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

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


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] Top
 
Raphy S
Beiträge: 103
5. Jul 2004, 09:47
Beitrag #3 von 10
Beitrag ID: #94897
Bewertung:
(1519 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

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


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] Top
 
Pozor  M 
Beiträge: 892
5. Jul 2004, 13:26
Beitrag #4 von 10
Beitrag ID: #94964
Bewertung:
(1519 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

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


hallo,

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

und so weiter.
gruss Pozor

http://www.boelsterli.biz
als Antwort auf: [#94887] Top
 
Raphy S
Beiträge: 103
5. Jul 2004, 14:18
Beitrag #5 von 10
Beitrag ID: #94994
Bewertung:
(1519 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

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


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] Top
 
Pozor  M 
Beiträge: 892
5. Jul 2004, 15:00
Beitrag #6 von 10
Beitrag ID: #95008
Bewertung:
(1519 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

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


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] Top
 
Raphy S
Beiträge: 103
5. Jul 2004, 15:21
Beitrag #7 von 10
Beitrag ID: #95012
Bewertung:
(1519 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

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


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] Top
 
Pozor  M 
Beiträge: 892
5. Jul 2004, 17:04
Beitrag #8 von 10
Beitrag ID: #95036
Bewertung:
(1519 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

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


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] Top
 
Pozor  M 
Beiträge: 892
5. Jul 2004, 17:26
Beitrag #9 von 10
Beitrag ID: #95039
Bewertung:
(1519 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

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


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)
Top
 
Raphy S
Beiträge: 103
6. Jul 2004, 07:27
Beitrag #10 von 10
Beitrag ID: #95135
Bewertung:
(1519 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

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


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] Top
 
X