hi,
ich wollte auf meiner site, die ich grad auf wordpress umstelle mein schon vorhandenes kontaktformular einsetzen.
habe nun in der page.php folgenden code eingefügt:
PHP
<?php
// Get $post if you're inside a function
global $post;
if (is_page('kontakt')) {
include ("kontaktform.php");// This is a subpage
} else {
// This is not a subpage
}
?>
Alles anzeigen
also zum verständnis: wenn er die page "kontakt" aufruft lädt er das kontaktform.php
das wird auch beim ersten aufruf richtig geladen. jedoch steht bei "name" gleich kontakt drin, was davor nicht war.
das größere problem ist, dass beim absenden nicht die seite kontakt wieder aufgerufen wird, sondern dass er versucht auf die seite "/kontakt/kontakt.php" zuzugreifen.
eigtl müsste man das mit "action='../' " regeln können.
hier der kontaktform-code:
PHP
<?PHP
function checkAddress($address)
{
return preg_match("/[\.a-z0-9_-]+@[a-z0-9-]{2,}\.[a-z]{2,4}$/i", $address);
}
$form="<form method='post' action='../'>
<table border ='0'>
<colgroup>
<col width='150'>
</colgroup>
<tr>
<td>name: </td>
<td><input type='text' name='name' value='$name'></td>
</tr>
<tr>
<td>e-mail: </td>
<td><input type='text' name='email' value='$email'></td>
</tr>
<tr>
<td>kategorie: </td>
<td><select name='anlart'>
<option>bitte wählen</option>
<option>allgemein</option>
<option>kritik</option>
<option>probleme</option>
<option>sonstiges</option>
</select></td>
</tr>
<tr>
<td>dein text: </td>
<td><textarea name='anliegen' rows='8' cols='40' value='$anliegen'></textarea>
</td>
</tr>
<tr><td><input type='submit' name='submit' value='und los!'>
</td></tr>
</table>
</form>";
if(isset($_POST['submit']))
{
$name = $_POST['name'];
$email = $_POST['email'];
$anlart =$_POST['anlart'];
$anliegen = $_POST['anliegen'];
if($_POST['name'] != "" && $_POST['anliegen'] != "" && $anlart != "Bitte wählen" and checkAddress($_POST['email']) == true)
{
$betreff = "Anliegen von";
$text =
'Name: '.$_POST['name']."\n".
'Email: '.$_POST['email']."\n".
'Art des Anliegens: '.$_POST['anlart']."\n"."\n".
'Anliegen: '.$_POST['anliegen'];
$header .= "From: \"$name\" <$email>\n";
mail("xxx", $betreff.' '.$vorname.' '.$name, $text, $header);
{
$msg = "hallo ".$name.", \n \n ich werde deine anfrage umgehend bearbeiten. \n zur ueberpruefung, hier nochmal deine angegeben daten: \n\n\n".$text;
mail($email, "anfrage bei tubtub.de", $msg, 'from:tubtub.de <kontakt@tubtub.de>');
}
echo"<span style=
'text-align:center; font-family:Verdana, Tahoma, Arial;
font-size:1.2em;background-color:#2D8A02;color:#ffffff;'>
deine anfrage wurde erfolgreich übermittelt.</span>";
}
else
{echo"<span style=
'align:center; font-family:Verdana, Tahoma, Arial;
font-size:1.2em; background-color:#d23d08;
color:#FFFFFF;'>
bitte fülle alle felder aus. prüfe evtl. die eingegebene email-addresse.<br><br></span>$form"; }
}
else echo $form;
?>
Alles anzeigen
hier noch der link zum live-ausprobieren: tubtub.de
wäre super, wenn mir jmd helfen könnte.
vielen dank.
lg
tubtub.