Kontaktformular

Status
Nicht offen für weitere Antworten.

Siggi123

Grünschnabel
Guten Tag,

Ich wollte fragen ob jemmand fuer mich das php teil des Formulars schreiben koennte komme da naehmlich nich weiter.

Code:
<br>
<table width="95%" border="0" cellpadding="5" cellspacing="0">
<form action="shardeintrag.php" method="POST">
<div align="left">
<p><label style="float:left; width:185px; ">Name des Shards*:                            </label><input type="text" name="shardname" size="35" />
<p><label style="float:left; width:185px; ">Kürzel des Shards*:                            </label><input type="text" name="shardkuerzel" size="35" />
<p><label style="float:left; width:185px; ">Emailaddresse eins Admins*:                            </label><input type="text" name="email" size="35" />
<p><label style="float:left; width:185px; ">Webseite des Shards*:                            </label><input type="text" name="shardwebsite" size="35" />
<p><label style="float:left; width:185px; ">URL eines Banners:                            </label><input type="text" name="shardbanner" size="35" />
<p><label style="float:left; width:185px; ">PVP Shard?:                            </label>
  <select name="pvp" size="1" />
<option>Ja</option>
<option>Nein</option></select>
<p><label style="float:left; width:185px; ">RPG Shard?:                            </label>
  <select name="rpg" size="1" />
<option>Ja</option>
<option>Nein</option></select>
<p><label style="float:left; width:185px; ">FUN Shard?:                            </label>
  <select name="fun" size="1" />
<option>Ja</option>
<option>Nein</option></select>
<br>
<br>
<p>Kurzbeschreibung des Shards*: <textarea name="shardbeschreibung" rows="10" cols="70" /></textarea><br />
      <br>
      <br>
      </div>
<div align="center">
<input name="Send" type="submit" value="Eintragen">
<input type="reset"  value="Löschen" />
    <br>*Alle Felder sind Pflichtfelder.
    <br>
    <br>
    </div>
</table>

was mit fehlt bzw fehlerhaft ist waehre die shardeintrag.php

Code:
<?php
      define('TO','email');
      $nl    = "\n\r";
      define('SHARD','foobar');

      if(($_POST['shardname'] != '') AND ($_POST['shardkuerzel'] != '') AND ($_POST['shardwebsite'] != '') AND ($_POST['shardbeschreibung'] != '')) {

              $subject =    'Eintrag von: '.$_POST['shardname'];

              $message =    'Name des Shards*: '.$_POST['shardname'].$nl.
                      	   'Kürzel des Shards*: '.$_POST['shardkuerzel'].$nl.
                      	   'Webseite des Shards*: '.$_POST['shardwebsite'].$nl.
                      	   'URL eines Banners: '.$_POST['shardbanner'].$nl.
                      	   'PVP Shard?: '.$_POST['pvp'].$nl.
                      	   'RPG Shard?: '.$_POST['rpg'].$nl.
                      	   'FUN Shard?: '.$_POST['fun'].$nl.
 			   'Kurzbeschreibung des Shards: '.$nl.$_POST['shardbeschreibung'];

                  $sent =    mail(TO, $subject, $message);
                  if($sent) {
                      echo'    Danke für ihren Eintrag, Wir werden ihn schnellst Möglichst bearbeiten.';
                  }
                  else {
                      echo'    Eintrag - Fehlgeschlagen. Versuchen sie es später noch einmal.';
                  }
      }
      else {
              echo'    Bitte gehen Sie <a href=\"javascript:history.back();\">zurück</a> und füllen Sie alle *Felder aus!';
}
  ?>

bitte um Hilfe da Php ned mein ding is :)

Gruss
 
Hi,

bei Problemen mit PHP gibt's das entsprechende Board und für Jobangebote haben wir auch einen speziellen Bereich, wohin die Anfrage dann mal umgeleitet wird.
 
Und warum stellst du die Frage dann nicht direkt im PHP-Forum, sondern wendest dich ans HTML-Forum?

*movethread@php-board*
 
oO sry habe das Php forum nich gefunden :) und da html dabei ist dachte ich mir stelle ich es im html Bord aber da man hier ja netten Support hat der es immer wieder weiterleitet ;) Danke geht es ja so auch...
 
Hallo,

Erstmal zum html Formular ... ich kann leider den </form> Tag nicht entdecken.
Dann sollte man doch erstmal überprüfen, ob ein Formular gesendet wurde ... oder nicht?
PHP:
if (isset($_POST['namedesbuttonsSenden']))
{
// es wurde gesendet

// Überprüfen ob Formulareingaben korrekt sind.

  if (isset($error))
  {
  // Ausgabe der Fehler
  // Ausgabe des Formulares
  }
  else
  {
  // Verarbeiten da keine Fehler vorhanden
  }
}
else
{
// Formular ausgeben
}

Die php Abfrage in deinem Falle würde sobald ich ein Feld NICHT ausfülle, eine Anweisung verarbeiten. Klüger wäre OR bzw || anstatt AND oder &&
PHP:
if(empty($_POST['shardname']) || 
empty($_POST['shardkuerzel']) || 
empty($_POST['shardwebsite']) || 
empty($_POST['shardbeschreibung']))
{
// Fehlerausgabe
}

EDIT: Achja ... Wenn ich mein Javascript ausgeschaltet habe, funktioniert der BACK-Button nicht ;) ... schöner wäre es doch den User das Formular nochmal zu präsentieren mit entsprechenden Fehlerausgaben und value-Tag
 
Zuletzt bearbeitet:
Du hättest einfach nur die oben angeführten Komponenten ineinander fügen müssen. Aber du solltest Dich mit PHP auseinandersetzen, da dies hier nicht wirklich sicher ist!!

PHP:
<?php
define('TO','email');
$nl    = "\n\r";
define('SHARD','foobar');

if (isset($_POST['Send']))
{
	// Eingabe prüfen
	if(	empty($_POST['shardname']) || 
		empty($_POST['shardkuerzel']) || 
		empty($_POST['shardwebsite']) || 
		empty($_POST['shardbeschreibung']))
	{
		$error = "Fehler...";
	}  

  if (isset($error))
  {
	print $error;
	// Ausgabe des Formulares
  }
  else
  {
  // Verarbeiten da keine Fehler vorhanden
    $subject =    'Eintrag von: '.$_POST['shardname'];
	$message =    'Name des Shards*: '.$_POST['shardname'].$nl.
                      	   'Kürzel des Shards*: '.$_POST['shardkuerzel'].$nl.
                      	   'Webseite des Shards*: '.$_POST['shardwebsite'].$nl.
                      	   'URL eines Banners: '.$_POST['shardbanner'].$nl.
                      	   'PVP Shard?: '.$_POST['pvp'].$nl.
                      	   'RPG Shard?: '.$_POST['rpg'].$nl.
                      	   'FUN Shard?: '.$_POST['fun'].$nl.
 			   'Kurzbeschreibung des Shards: '.$nl.$_POST['shardbeschreibung'];
			   
	mail(TO, $subject, $message);
	print "OK ... Mail gesendet";
  }
}
else
{
// Formular ausgeben
}  
?>
 
hmmm ihrgendwie kommt dann garnix mehr weder ein OK ... Mail gesendet oder Fehler... sondern einfach nur ein weissen bildschirm/fenster

edit: nun gehts jedoch ist die frage warum ich nix bekomme im mail postfach...
 
Zuletzt bearbeitet:
Und warum stellst du die Frage dann nicht direkt im PHP-Forum, sondern wendest dich ans HTML-Forum?

*movethread@php-board*

Hat dich ein Flaschengeist gebissen?
Du bist wohl auch blind oder?

"tutorials.de > Programming > PHP > Kontaktformular"

Er ist schon richtig hier, es geht ja um sein PHP Teil in seinem Code.


Wer lesen kann ist klar im Vorteil. ;)
 
Status
Nicht offen für weitere Antworten.
Zurück