Webmaster Forum -> Hilfe für Webmaster -> PHP / MySQL
Antwort schreiben -
Benutzername
Titel
Nachrichtentext

Smilies
Very Happy Smile Sad Surprised
Shocked Confused Cool Laughing
Mad Razz Embarassed Crying or Very sad
Evil or Very Mad Twisted Evil Rolling Eyes Wink
Exclamation Question Arrow Neutral
Weitere Smilies ansehen
 Schriftfarbe:  Schriftgröße: Tags schließen
Optionen
HTML ist aus
BBCode ist an
Smilies sind an
BBCode in diesem Beitrag deaktivieren
Smilies in diesem Beitrag deaktivieren
Sicherheitscode Sicherheitscode 
 
Alle Zeiten sind GMT + 1 Stunde
Gehe zu:  
Thema-Überblick
Autor Nachricht
Werner
BeitragVerfasst am: 03 Feb 2010 09:45    Titel:

Also Fehlermeldungen sind da keine drin!
Ich habs mittlerweile schon zwei Tage getestet - ohne Erfolg.
Das einzige was funktioniert ist die "Kopie an Absender" mit
dem Namen der Datei die gesendet werden soll.
bernd
BeitragVerfasst am: 29 Jan 2010 22:12    Titel:

Hallo Werner,
das hatte ich noch nicht gefunden, komme aber noch nicht so zurecht damit.

Ich habe mir mit dem Generator
http://www.homepage-total.de/tools/kontaktformular-generator.php
das K-Formular erstellt. Nun möchte ich da noch ein Feld einfügen wo mann eine Datei mit versenden kann.
Ich habe schon ein K-Formular gefunden mit dem das geht nur bekomme ich die beiden nicht zusammengebaut.
Hier das Formular mit Anhang zum senden.
PHP-Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
<?php
# Adresse, an die die Formulardaten gesendet werden sollen:
$mailto "email@adresse.";

# Maximale Größe des Datei-Anhangs in Bytes:
$max_attach_size 500000;
?>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<style type="text/css">
<!--
body { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13px; color: #000000; background: #ffff3; margin: 20px; padding: 0px; border: 0px; }
.caution { color: red; font-weight: bold; }
-->
</style>
</head>
<body>
<?php
if (isset($_POST["form_submitted"]))
{
// übergebene Variablen ermitteln:
$name $_POST['name'];
$email $_POST['email'];
$subject $_POST['subject'];
$text $_POST['text'];

// Überprüfungen der Daten:
unset($errors);
if (
$email != "" and !preg_match("/^[^@]+@.+\.\D{2,5}$/"$email)) $errors[] = "die E-Mail-Adresse sieht nicht richtig aus";
if (
$text == ""$errors[] = "es wurde kein Text eingegeben";
if (
$_FILES['probe']['size'] > $max_attach_size$errors[] = "Attachment zu groß (".number_format($_FILES['probe']['size']/1000,0,",","")." KB) - Maximalgröße: ".number_format($max_attach_size/1000,0,",","")." KB";

if (empty(
$errors))
{
$text stripslashes($text);
$subject stripslashes($subject);
if (
$name != ""$mail_name=$name; else $mail_name="unbekannt";
if (
$subject != ""$mail_subject $subject; else $mail_subject "kein Betreff";
if (
$email != ""$mail_email $email; else $mail_email "email@unknown.xyz";
$ip $_SERVER["REMOTE_ADDR"];

// Wenn Attachment, dann MIME-Mail erstellen:
if (isset($_FILES['probe']['name']) && trim($_FILES['probe']['name']) != "")
{
// Datei einlesen und codieren:
$datei_content fread(fopen($_FILES['probe']['tmp_name'],"r"),filesize($_FILES['probe']['tmp_name']));
$datei_content chunk_split(base64_encode($datei_content),76,"\n");

// Boundary festlegen:
$boundary md5(uniqid(rand()));

// Mail-Header:
$mail_header "From: ".$mail_name." <".$mail_email.">\n";
$mail_header .= "X-Sender-IP: ".$ip."\n";
$mail_header .= "MIME-Version: 1.0\n";
$mail_header .= "Content-Type: multipart/mixed; boundary=\"".$boundary."\"\n";
$mail_header .= "This is a multi-part message in MIME format.\n";
// Mail-Text:
$mail_header .= "--".$boundary;
$mail_header .= "\nContent-Type: text/plain";
$mail_header .= "\nContent-Transfer-Encoding: 8bit";
$mail_header .= "\n\n".$text;
// Attachment:
$mail_header .= "\n--".$boundary;
$mail_header .= "\nContent-Type: ".$_FILES['probe']['type']."; name=\"".$_FILES['probe']['name']."\"";
$mail_header .= "\nContent-Transfer-Encoding: base64";
$mail_header .= "\nContent-Disposition: attachment; filename=\"".$_FILES['probe']['name']."\"";
$mail_header .= "\n\n".$datei_content;

// Ende:
$mail_header .= "\n--".$boundary."--";
// Sende E-Mail und gebe Fehler bzw. Bestaetigung aus
if (@mail($mailto,$mail_subject,"",$mail_header)) $sent true; else $errors[] = "keine Verbindung zum Mailserver - bitte nochmal versuchen";
}
// kein Attachment, normale E-Mail:
else
{
$mail_header "From: ".$mail_name." <".$mail_email.">\n";
$mail_header .= "X-Sender-IP: $ip\n";
$mail_header .= "Content-Type: text/plain";
if (@
mail($mailto,$mail_subject,$text,$mail_header)) $sent true; else $errors[] = "keine Verbindung zum Mailserver - bitte nochmal versuchen";
}

// Kopie an Absender:
if (isset($sent) && isset($email) && $email != "" && isset($_POST['copy']))
{
if (isset(
$_FILES['probe']['name']) && trim($_FILES['probe']['name']) != ""$copy_mail_text "Kopie der versendeten E-Mail:\n\n".$text."\n\nAttachment: ".$_FILES['probe']['name']; else $copy_mail_text "Kopie der versendeten E-Mail:\n\n".$text;
$header"From: ".$mailto."\n";
$header .= "X-Sender-IP: ".$ip."\n";
$header .= "Content-Type: text/plain";
@
mail($email$mail_subject$copy_mail_text$header);
}
}
}

if (empty(
$sent))
{
if(isset(
$errors))
{
?><p class="caution">Fehler:</p><ul><?php foreach($errors as $f) { ?><li><?php echo $f?></li><?php ?></ul><br /><?php
}

?><form method="post" action="<?php echo basename($_SERVER["PHP_SELF"]); ?>" enctype="multipart/form-data"><div>
<p><b>Name:</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="text" name="name" value="<?php if (isset($name)) echo htmlentities(stripslashes($name)); else echo ""?>" size="35" />
<p><b>eMail:</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="text" name="email" value="<?php if (isset($email)) echo htmlentities(stripslashes($email)); else echo ""?>" size="35" />
<p><b>Betreff:</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="text" name="subject" value="<?php if (isset($subject)) echo htmlentities(stripslashes($subject)); else echo ""?>" size="35" />
<p><b>Nachricht:</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<textarea name="text" cols="26" rows="5"><?php if (isset($text)) echo htmlentities(stripslashes($text)); else echo ""?></textarea>
<p><b>Datei-Anhang:</b>&nbsp;<input type="file" name="probe" value="<?php if (isset($_POST['probe'])) echo htmlentities(stripslashes($_POST['probe'])); else echo ""?>" size="20"/>
<br />
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="submit" name="form_submitted" value="Versenden" /> <input type="checkbox" name="copy" value="true" /> Kopie an Absender</p>
</div></form><?php
}
else
{
if (empty(
$email)) { ?><p><b>Danke!</b><br />Nachricht erfolgreich versendet. Allerdings wurde keine E-Mail-Adresse angegeben, ich kann also nicht antworten Razz</p><?php }
else { 
?><p><b>Danke!</b><br />Nachricht erfolgreich versendet.</p><?php }
}

?>
Werner
BeitragVerfasst am: 29 Jan 2010 20:34    Titel:

Hallo Bernd,
Zitat:
"ich bin auf der Suche nach einem Kontaktformular mit Anhang"

siehe > http://homepage-total.de/php/email-mit-anhang.php
Werner
BeitragVerfasst am: 22 Jan 2010 09:02    Titel:

Oder mit AJAX (JavaScript u. PHP)
http://homepage-total.de/php/schreiben_lesen_7.php?seite=6
Forrest Gumb
BeitragVerfasst am: 21 Jan 2010 17:12    Titel:

Ist zwar nicht so modern, aber probiers mal mit Iframe -->

http://de.selfhtml.org/html/frames/eingebettete.htm#definieren
bernd
BeitragVerfasst am: 21 Jan 2010 13:45    Titel:

Hallo Werner,

vielen Dank für die Hilfe, ich hatte nur ./ gesezt gehabt und das klappte nicht.

Ich habe aber noch ne Frage.
Ist es möglich den Besucherzähler in eine .htm bzw. .html Seite einzubinden?
Und wenn ja , wie macht man das?
Werner
BeitragVerfasst am: 18 Jan 2010 13:09    Titel:

Du musst die Dateipfad-Angabe der Dateien anpassen:

$Dateiname = "counterhwe.txt";
$Ipliste = "iphwe.txt";
$Zaehler = str_replace ("0", "<img src=\"0.gif\">", $Zaehler);
...

Wenn sich der Hauptordner z.B.: ein Verzeichnis weiter oben befindet:

$Dateiname = "../counterhwe.txt";
$Ipliste = "../iphwe.txt";
$Zaehler = str_replace ("0", "<img src=\"../0.gif\">", $Zaehler);
...
bernd
BeitragVerfasst am: 15 Jan 2010 19:08    Titel: hilfe bei besucherzähler

hallo,

php anfänger braucht hilfe
mit dem folgenden script zähle ich die besucher auf meiner hp
PHP-Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
<?php
// Counter
$Dateiname "counterhwe.txt";
$Datei fOpen($Dateiname,"r+");
$Zaehler fGets($Datei,255);
fClose($Datei);

$Ipliste   "iphwe.txt";
$deineip getenv("REMOTE_ADDR");
$Ipdatei fOpen($Ipliste,"r+");
$Ip fRead($Ipdatei,filesize($Ipliste)); 
fClose($Ipdatei);

if (
$Ip != $deineip){
$Zaehler++;
$Ipdatei fOpen($Ipliste,"w+"); 
fputs($Ipdatei,$deineip); 
fclose($Ipdatei); 
}

$Datei fOpen($Dateiname,"w");
fPuts($Datei,$Zaehler);
fClose($Datei);
if (
strlen($Zaehler)==1) {
$Zaehler="0000$Zaehler";
}
else if (
strlen($Zaehler)==2) {
$Zaehler="000$Zaehler";
}
else if (
strlen($Zaehler)==3) {
$Zaehler="00$Zaehler";
}
else if (
strlen($Zaehler)==4) {
$Zaehler="0$Zaehler";
}
else {
$Zaehler=$Zaehler;
}
//Um Zähler anzuzeigen
//echo "$Zaehler";
//Hier aber mit Bildchen Wink
$Zaehler str_replace ("0""<img src=\"0.gif\">"$Zaehler);
$Zaehler str_replace ("1""<img src=\"1.gif\">"$Zaehler);
$Zaehler str_replace ("2""<img src=\"2.gif\">"$Zaehler);
$Zaehler str_replace ("3""<img src=\"3.gif\">"$Zaehler);
$Zaehler str_replace ("4""<img src=\"4.gif\">"$Zaehler);
$Zaehler str_replace ("5""<img src=\"5.gif\">"$Zaehler);
$Zaehler str_replace ("6""<img src=\"6.gif\">"$Zaehler);
$Zaehler str_replace ("7""<img src=\"7.gif\">"$Zaehler);
$Zaehler str_replace ("8""<img src=\"8.gif\">"$Zaehler);
$Zaehler str_replace ("9""<img src=\"9.gif\">"$Zaehler);
echo 
"$Zaehler";
?>

nun möchte ich das die ip sperre und die zähl .txt nur im noch hauptordner liegen, bisher habe ich beide .txt und die .gif´s in jedem ordner seperat liegen.
Was muß ich ändern?