PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Formulars-Frage



JoeJoe
31.07.2004, 13:31
immer wenn ich mit html ein Formular mache, und es dann teste wenn es fertig ist udn auf absenden klicke (und und und und) dann kommt immer die meldung ob es auch wirklich abgesendet werden soll, weil dadurch der empfänger die e-mail adresse des absenders erfährt..
wie bekomme ich die weg, wenn das überhauüt möglich ist...

und noch eine frage:
ich möchte ein onlineradio machen wo man wünsche posten kann...
wenn ich die wünsche aber an meine e-mail durch ein formular senden lasse dan kann es zu aussetzern im radio kommen wenn ich meine e-mail aktualisiere und dann 10neue reinkommen, wegen den wünschen
da ich noch nicht so ein genie in sahcen php, java usw. bin aber html meiner meinung nach shcon ganz gut verstehe wollte ich fragen wie ich es hinbringe, dass das formular die daten des wunsches, name datum usw. an eine textdatei schickt, und ich die daten aus der textdatei in einer anderen seite wieder anzeigen lasse, damit ich nicht mein postfach aktualisieren muss...

fragen über fragen :confused: :confused: :confused:


ich hoffe um schnelle hilfe...

mfg jojo2020;)

wrtlprnft
31.07.2004, 13:51
Erstelle zuerst eine leere Datei mit z.B. dem Namen wunsche.txt (keine Umlaute:() und ändere ihre Rechte auf 777.
Für das Formular brauchst du dann folgenden Code:
<form action="abschick.php" method="post"><div>
Name: <input type="text" name="p_name" /><br />
E-Mail: <input type="text" name="p_email" /><br />
Kommentar:<br />
<textarea name="p_text" rows="20" cols="50"></textarea><br />
<input type="submit" value="abschicken" />
</div></form>In die abschick.php muss dann folgendes rein:
<?php
if
(
$_POST['p_text' ] == '' ||
$_POST['p_email'] == '' ||
$_POST['p_name'] == ''
)
{
print('Bitte alle Felder ausfüllen.');
return;
}
$h = fopen('wunsche.txt', 'a');
fwrite
(
$h,
'NAME: ' . $_POST['p_text' ] . "\n" .
'E-MAIL: ' . $_POST['p_email'] . "\n" .
'KOMMENTAR: ' . $_POST['p_name' ] . "\n" .
'=================================================' . "\n"
);
?>
Dein Beitrag wurde erfolgreich eingetragen.Wenn jetzt jemand das Formular absendet, wird ein entsprechender Eintrag in der Datei wunsche.txt abgelegt.

JoeJoe
31.07.2004, 14:02
also erstmal großes DANKE http://www.multimediaxis.de/images/smilies/old/sm_12.gif
nur wie mach ich das die daten von der wunsche.txt auf einer anderen seite angezeigt werden?
und wie mach ich da andere sachen rein wie zum beispiel
auswahlemnü zwischen
gruß, musikwunsch,kritik usw.
und das das datum angezeigt wird das ich nicht durcheinanderkomme..


EDIT: irgendwie kommt da immer "bItte alle felder ausfüllen"
EDIT2: Jetzt kommt das da

Warning: fopen(wunschetxt): failed to open stream: Permission denied in /var/www/web163/html/radio/abschick.php on line 12

Warning: fwrite(): supplied argument is not a valid stream resource in /var/www/web163/html/radio/abschick.php on line 20
Dein Beitrag wurde erfolgreich eingetragen.

aber anscheinend gehts...
weiss jetzt allerdings nciht an was es lag...

wrtlprnft
31.07.2004, 14:36
Ich sag doch, du musst die Rechte für die Datei auf 777 änden...
Die Anzeige ist etwas komplizierter, vielleicht solltest du dann PHP lernen.
Das Datum kommt dann mit diesem Code:
<?php
if
(
$_POST['p_text' ] == '' ||
$_POST['p_email'] == '' ||
$_POST['p_name'] == ''
)
{
print('Bitte alle Felder ausfüllen.');
return;
}
$h = fopen('wunsche.txt', 'a');
fwrite
(
$h,
'DATUM: ' . srftime('%c') . "\n" .
'NAME: ' . $_POST['p_text' ] . "\n" .
'E-MAIL: ' . $_POST['p_email'] . "\n" .
'KOMMENTAR: ' . $_POST['p_name' ] . "\n" .
'=================================================' . "\n"
);
?>

JoeJoe
31.07.2004, 15:50
jetzt klappts.. ausser das das kommt..
Fatal error: Call to undefined function: srftime() in /var/www/web163/html/radio/abschick.php on line 16

mit was lern ich am besten php??
da bin ich totaler newbie..

mitaki
31.07.2004, 18:20
Da hat sich ein Tippfehler eingeschlichen, die Funktion muss strftime('%c') heißen, was du damit ausgeben kannst erfährst du u.a. bei SelfPHP (http://selfphp.com/funktionsreferenz/datums_und_zeit_funktionen/strftime.php).
Aber das kannst du auch selbst herausfinden, wir haben hier einen gepinnten Thread namens Nützliche Adressen (HTML, PHP, MySQL, Tools) (http://forum.rpg-ring.com/forum/showthread.php?s=&threadid=38132). Dort findest du einige Seiten, auf denen du PHP lernen kannst, z.B. das quakenet:#php Tutorial oder Schattenbaums' PHP.

JoeJoe
31.07.2004, 20:05
also erstmal großeß thx nochmal an alle
besonders an wrtlprnft

nur wie mach ich jetzt das diese meldung nicht kommt wenn ich die formular daten an ne e-mail adresse schicken lasse??

wrtlprnft
31.07.2004, 20:40
Hat doch mitaki schon geschrieben: Ersetze die Zeile
'DATUM: ' . srftime('%c') . "\n" .durch
'DATUM: ' . strftime('%c') . "\n" ..

JoeJoe
31.07.2004, 21:05
ich mein jetzt grade aber wenn ich ein anderes normales formular erstelle, nehmen wir zum beispiel ein kontaktformular
und ich möchte es an meine e-mail adresse schicken lassen..
als e-mail..
dann kommt wenn man auf absenden klickt immer so ne doofe meldung, und die will ich weghaben...

EDIT: ich werd mal eins bis morgen machen..
morgen hab ich eh geburtstag^^

dead_orc
31.07.2004, 21:53
das geht afaik nicht! das is so ne sicherheitswarnung für den benutzer. du kannst höchstens die e-mail per cgi oder php versenden lassen (in php kenn ich mich 0 aus und bei cgi weiß ich im moment den code nicht!)
dann braucht der absender auch keine eigene e-mailadresse und kein eigenes mailprogramm mehr!

ich hab auch mal ne frage: kenn jemand nen kostenlosen server, wo man cgi scripts hochladen und ausführen lassen kann? weil in meinem 1und1 tarif is das leider nicht mit drin!

JoeJoe
31.07.2004, 22:05
mach doch einfach mit deinem pc einen heimtestserver...
mit easyphp geht kinderleicht und klapt!

aber wie würde der code dann aussehen frage an alle
wenn ich das mit php machen lassen wie es der tote ork gesagt hat..

dead_orc
31.07.2004, 22:29
ich habe bereits meinen homepc zum server gemacht, aber meine homepage ist halt bei 1und1 und ich möchte nicht darauf setzen müssen, dass mein pc online ist, damit jemand sich ins guestbook eintragen kann (obwohl meine homepage eh kein schwein kennt und sich so auch keiner ins gästebuch einträgt!)

mitaki
31.07.2004, 23:17
aaber wie würde der code dann aussehen frage an alle
wenn ich das mit php machen lassen wie es der tote ork gesagt hat..Ich habe mal das klassische MailScript herausgesucht, es besteht aus zwei Dateien, 'eingabe.html' und 'mail-modul.php', in dieser Reihenfolge der Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Ich mail dir was</title>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
</head>
<body>
<form action="mail-modul.php" method="post">
<table>
<tr>
<td>Dein Name</td>
<td><input type="text" name="absender_name"></td>
</tr>
<tr>
<td>Deine EMail</td>
<td><input type="text" name="absender_mail"></td>
</tr>
<tr>
<td>Betreff</td>
<td><input type="text" name="betreff"></td>
</tr>
<tr>
<td>Text</td>
<td><textarea name="nachricht" cols="40" rows="20"></textarea></td>
</tr>
<tr>
<td><input type="submit" value="Absenden"></td>
<td><input type="reset" value="Zur&uuml;cksetzen"></td>
</tr>
</table>
</form>
</body>
</html>
<?php

if ( !isset ( $_POST['absender_name'] ) OR $_POST['absender_name'] == FALSE OR !isset ( $_POST['absender_mail'] ) OR $_POST['absender_mail'] == FALSE OR !isset ( $_POST['betreff'] ) OR $_POST['betreff'] == FALSE OR !isset ( $_POST['nachricht'] ) OR $_POST['nachricht'] == FALSE )
{

echo 'Bitte f&uuml;lle alle Felder aus, wenn du mir eine Mail senden m&ouml;chtest.';

} else {

$meine_mail_adresse = 'abc@def.de'; // Hier die eigene EMail Adresse einfügen

$_POST['absender_name'] = stripslashes ( $_POST['absender_name'] );
$_POST['betreff'] = stripslashes ( $_POST['betreff'] );
$_POST['nachricht'] = stripslashes ( $_POST['nachricht'] );
$_POST['nachricht'] = str_replace ( "\r\n", "\n", $_POST['nachricht'] ); // Korrigiert Fehler mit MS Mailprogrammen

if ( mail ( $meine_mail_adresse, $_POST['betreff'], $_POST['nachricht'], "From: " . $_POST['absender_mail'] . "<" . $_POST['absender_name'] . ">" ) )
{

echo 'Vielen Dank f&uuml;r deine EMail.';

} else {

echo 'Leider trat ein Fehler auf, daher konnte die EMail nicht gesendet werden.';

}

}

?>Um den PHP Abschnitt kannst du ganz normal dein HTML Grundgerüst bauen.

JoeJoe
31.07.2004, 23:31
vielen dank!
ihr wart mir echt ne RIESEN hilfe!!http://www.multimediaxis.de/images/smilies/old/sm_12.gif http://www.multimediaxis.de/images/smilies/old/sm_12.gif http://www.multimediaxis.de/images/smilies/old/sm_12.gif http://www.multimediaxis.de/images/smilies/old/sm_12.gif http://www.multimediaxis.de/images/smilies/old/sm_12.gif
macht weiter so, spitze!
also wegen mir kann geclosed werden..

JoeJoe
01.08.2004, 14:07
Sorry 4 doppelpost,

aber ich glaube ihr könnt mir doch noch mal helfen.
das das nicht alles überfüllt wurd möchte ich alle daten wo älter wie einen tag sind aus der text datei wunsche.txt löschen
geht das? wenn ja wie??