• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

etwas abschicken

tobi1406

Neues Mitglied
hallo

ich wollte gerne auf meine I-net seite eine art test machen. Es soll so ungefär aussehem:

Frage:
Feld für antwort

Frage:
Feld für Antwort

Abschicken

Ich hab das ganze jetzt mal mit einem Kontakt formular probiert, doch leider klappt es nicht. ich habe alles so gemacht, wie es bei den tutorials steht. Als ich es noch orginal hier aus dem forum hatte, hat es geklappt, nur immer wen ich was geändert habe (email und so weg dafür andere kleine felder rein) hat er mir auf der seite nichts angezeigt.
Ich brauche möglichst schnell hilfe

PS. Ja mein server kan PHP
 
Werbung:
quelltext?

ich habe alles so gemacht, wie es bei den tutorials steht.
das ist schön, aber hilft uns nicht weiter ;)

EDIT: oh man. die edit-funktion macht mich fertig.. schon wieder so ein doppelpost ... :( @mods.. wenn ihr wollt und zeit habt könnt ihr meinen ersten post löschen..
 
Werbung:
PHP:
<html>
 <head><title>formular test</title></head>

  <body>

    <p><h1>Kontaktformular</h1></p> <form action="" method="post"> <p> Dein Name:<input type="text" name="von"></p> <p>Deine Email-Adresse:(Für Antwort):<input type="text" name="email"></p> <p>Betreff:<input type="text" name="betreff"></p> <p>Deinse Nachricht:<textarea name="nachricht" cols="50" rows="10"> </textarea></p> <p><input type="submit" value="Absenden" name="fertig"></p> </form>
<?php
$von = $_POST['von'];
$email = $_POST['email'];
$betreff = $_POST['betreff'];
$nachricht = $_POST['nachricht'];
$fertig = $_POST['fertig']; 
function checkEmail( $email )
{
    $nonascii      = "\x80-\xff";    
    $nqtext        = "[^\\\\$nonascii\015\012\"]";
    $qchar         = "\\\\[^$nonascii]";
    $normuser      = '[a-zA-Z0-9][a-zA-Z0-9_.-]*';
    $quotedstring  = "\"(?:$nqtext|$qchar)+\"";
    $user_part     = "(?:$normuser|$quotedstring)";
    $dom_mainpart  = '[a-zA-Z0-9][a-zA-Z0-9._-]*\\.';
    $dom_subpart   = '(?:[a-zA-Z0-9][a-zA-Z0-9._-]*\\.)*';
    $dom_tldpart   = '[a-zA-Z]{2,5}';
    $domain_part   = "$dom_subpart$dom_mainpart$dom_tldpart";
    $pattern       = "$user_part\@$domain_part";
    
    if (!preg_match( "/$pattern$/", $email ))
    {
        return FALSE;
    }
    else
    {
        return TRUE;
    }
} 
if(isset($fertig)){

  if ($von == "") {
   echo"<script type=\"text/javascript\"> alert(\"Sie haben ihren Namen nicht angegeben!\");</script>";
  } elseif ($email == "") {
    echo"<script type=\"text/javascript\"> alert(\"Sie haben ihre Email nicht angegeben!\");</script>";
  } elseif ($betreff == "") {
    echo"<script type=\"text/javascript\"> alert(\"Sie haben keinen Betreff angegeben!\");</script>";
  } elseif ($nachricht == "") {
    echo"<script type=\"text/javascript\"> alert(\"Sie haben keine Nachricht angegeben!\");</script>";    
  } elseif (!checkEmail( $_REQUEST['email'] )) {
    echo"<script type=\"text/javascript\"> alert(\"Die Email Adresse ist nicht gueltig!\");</script>";
  } else {
  
  


$datum = date("d.m.Y");
  $uhrzeit = date("H:i");
  $datum=$datum ."-". $uhrzeit ."Uhr";
  

    
    $ich = "mail adresse";
  $betreffemail = "Kontaktformular";
  $text = "Sie haben eine Nachricht von:".$von."
  Seine Email Adresse lautet:".$email."
  Der Betreff lautet:".$betreff."
  Das Sendedatum:".$datum."
  Die Nachrich lautet:".$nachricht."
  
  
  
  ";
  mail($ich, $betreffemail, $text,
  "From: Absender <Absenderemail>");
  echo"Mail verschickt <br>";
  
echo"<script type=\"text/javascript\"> alert(\"Die Nachricht wurde erfolgreich verschickt!\");</script>";        



}
}
?>
das ist das orginal aus dem tutorial und ich hab daraus

PHP:
<html>
 <head><title>formular test</title></head>

  <body>

    <p><h1>Kontaktformular</h1></p> <form action="" method="post"> <p> Frage<input type="text" name="von"></p> <p>Deine Email-Adresse:(Für Antwort):<input type="text" name="email"></p> <p>Betreff:<input type="text" name="betreff"></p> <p>Deinse Nachricht:<textarea name="nachricht" cols="50" rows="10"> </textarea></p> <p><input type="submit" value="Absenden" name="fertig"></p> </form>
<?php
$von = $_POST['von'];

$fertig = $_POST['fertig']; 


  

    
    $ich = "mail adresse";
  $betreffemail = "Kontaktformular";
  $text = "Sie haben eine Nachricht von:".$von."

  
  
  
  ";
  mail($ich, $betreffemail, $text,
  "From: Absender <Absenderemail>");
  echo"Mail verschickt <br>";
  
echo"<script type=\"text/javascript\"> alert(\"Die Nachricht wurde erfolgreich verschickt!\");</script>";        



}
}
?>
gemacht.

dazu muss ich noch sagen das ich noch anfänger im thema php in.

den php code habe ic mit iframe in eine html seite eingefügt. das hat auch mit dem orignal oben super geklappt
 
Zuletzt bearbeitet:
Hmmm...komisch finde ich Deine Kombination aus PHP und JavaScript.

JavaScript verwendet man eigentlich, um ein Formular bereits clientseitig zu überprüfen. Serverseitig muss man dann das Formular natürlich nochmal prüfen (der Nutzer könnte ja JavaScript deaktiviert haben), aber hier gibt man die Fehler dann mit Hilfe von PHP in HTML aus, und eher nicht wieder in JavaScript.

Wenn Du jetzt JavaScript deaktiviert hast, siehst Du gar nicht, welche Fehler aufgetreten sind.

Ich für meinen Teil bräuchte zur Behebung Deines Problems eine ausführliche Fehlerbeschreibung. Mit "klappt nicht" kann ich persönlich rein gar nichts anfangen. Gibt es Fehlermeldungen? Kommen alle Variablen aus dem Formular richtig an? Ist bei Dir JavaScript deaktiviert?
 
Das ganze JS würde ich herausnehmen. Unschön!

Regel das alles mit PHP. Suche mal nach dem Stichwort Affenformular

Und eigne dir da die grundlegenden elemente an. Dann hast auch ein schönes / sicheres Formular was auf JS verzichtet.

Ich würde sowieso raten so wenig wie Möglich JS zu verwenden.
 
Werbung:
Code:
<html>
 <head><title>hjh</title></head>

<body>
<form action="mailto:[email protected]" method=post enctype="text/plain">

frage...<input type="Text" name="frage1" value="" size="30" maxlength="50"><br>
frage...<input type="Text" name="frge2" value="" size="30" maxlength="50"><br>
<input type="Submit" name="absenden" value="absenden">

</form>

</body>
</html>
so funktionirt es schonfast wie ich es möchte.
nur weiß jemand, wie sich die mail verschickt, ohne das sich outlook/Thunderbird öffnen. Der server kann ails verschicken.
und noch eine frage:
kann ich dass, was eingegeben wurde auch in eine datei speichern (wie ein gästebuch)?
 
So wie Du es vorher hattest, funktioniert es ohne installiertes und konfiguriertes Mailprogramm. Z.B. in PHP mit der Funktion mail().

Und ja, Du kannst statt oder zusätzlich zu mail() natürlich auch Dateien auf dem Server wegschreiben. Oder in eine Datenbank.
 
sry aber i-wie verstehe ich das nicht so ganz.

was muss ich jetz ändern, damit die daten die eingegeben wurden ohne mailprogramm zu verschcken.

den code habe ich ja jetzt, nur hier öffnet sich halt das mail programm
Code:
<html>
 <head><title>hjh</title></head>

<body>
<form action="mailto:[email protected]" method=post enctype="text/plain">

frage...<input type="Text" name="frage1" value="" size="30" maxlength="50"><br>
frage...<input type="Text" name="frge2" value="" size="30" maxlength="50"><br>
<input type="Submit" name="absenden" value="absenden">

</form>

</body>
</html>
 
Werbung:
was muss ich jetz ändern, damit die daten die eingegeben wurden ohne mailprogramm zu verschcken.

schau dir die funktion mail() an und pass' sie deinen umständen entsprechend an.

den code habe ich ja jetzt, nur hier öffnet sich halt das mail programm

ja, das ist bei diesem schnippsel auch nicht verwunderlich.


es sollte allgemein hin bekannt sein, dass das nicht funktioniert.

Nils aka XraYSoLo
 
Zurück
Oben