| Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
| Autor |
Nachricht |
bernd Mitglied

|
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
$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? |
_________________ Gruß Bernd
Der Glauben ist umstritten, das Wissen ist beängstigent, doch Unwissenheit ist erstaunlich. |
|
|
| 15 Jan 2010 19:08 |
|
  |
Werner Homepage-Total.de Moderator

|
 |
|
|
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);
... |
_________________ Bei Fragen oder Fehlermeldungen - Bitte ausführlichen Code posten!
Wie man Fragen richtig stellt |
|
|
| 18 Jan 2010 13:09 |
|
 |
bernd Mitglied

|
 |
|
|
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? |
_________________ Gruß Bernd
Der Glauben ist umstritten, das Wissen ist beängstigent, doch Unwissenheit ist erstaunlich. |
|
|
| 21 Jan 2010 13:45 |
|
 |
Forrest Gumb Mitglied

|
|
| 21 Jan 2010 17:12 |
|
 |
Werner Homepage-Total.de Moderator

|
|
| 22 Jan 2010 09:02 |
|
 |
Werner Homepage-Total.de Moderator

|
|
| 29 Jan 2010 20:34 |
|
 |
bernd Mitglied

|
 |
|
|
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> <input type="text" name="name" value="<?php if (isset($name)) echo htmlentities(stripslashes($name)); else echo ""; ?>" size="35" />
<p><b>eMail:</b> <input type="text" name="email" value="<?php if (isset($email)) echo htmlentities(stripslashes($email)); else echo ""; ?>" size="35" />
<p><b>Betreff:</b> <input type="text" name="subject" value="<?php if (isset($subject)) echo htmlentities(stripslashes($subject)); else echo ""; ?>" size="35" />
<p><b>Nachricht:</b> <textarea name="text" cols="26" rows="5"><?php if (isset($text)) echo htmlentities(stripslashes($text)); else echo ""; ?></textarea>
<p><b>Datei-Anhang:</b> <input type="file" name="probe" value="<?php if (isset($_POST['probe'])) echo htmlentities(stripslashes($_POST['probe'])); else echo ""; ?>" size="20"/>
<br />
<p> <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 </p><?php }
else { ?><p><b>Danke!</b><br />Nachricht erfolgreich versendet.</p><?php }
}
?> |
|
_________________ Gruß Bernd
Der Glauben ist umstritten, das Wissen ist beängstigent, doch Unwissenheit ist erstaunlich. |
|
|
| 29 Jan 2010 22:12 |
|
 |
Werner Homepage-Total.de Moderator

|
 |
|
|
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. |
_________________ Bei Fragen oder Fehlermeldungen - Bitte ausführlichen Code posten!
Wie man Fragen richtig stellt |
|
|
| 03 Feb 2010 09:45 |
|
 |
|