tellafriend.php funktioniert nicht

son gohan

Erfahrenes Mitglied
Hallo,

ich habe hier eine php Seite von einem kostenlosen Anbieter. Der Anbieter beschreibt die installation ganz einfach, man muss die Datei nur auf den Server laden in die Datei der Homepage, bei mir also Datei html wo auch alle anderen Seiten meiner Homepage.

Um die Seite aufzurufen muss auch nur ein Link zu der php Datei tellafriend gesetzt werden und das wars auch schon. Im Prinzip fukt es auch bei mir, nur wenn man dann eine Empfehlung abschickt, erscheinen drei Zeilen mit Warnungen und dann eine Antwort zum Abschicken. Das mit den Warnungen versteh ich net, die gehören da nicht hin, auch in der Demo des anbieters sind die nicht da und sehen sehr unschön aus, kann mir bitte jemanden helfen diese MEldung zu unterdrücken?

Hier der komplette Code der tellafriend.php
HTML:
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>artmedic tell a friend</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="copyright" content="Ellen Baitinger, artmedic webdesign, http://www.artmedic.de">
<!--
#############################################################################
# artmedic Tell-a-Friend Version 2.0
# Copyright (c) 2004 Ellen Baitinger, artmedic webdesign
# http://www.artmedic.de (kontakt@artmedic.de)
#
#Sie können dieses Script kostenlos einsetzen, solange Sie die Links auf artmedic webdesign
#und diese Hinweise intakt lassen. Für evl. auftretende Schäden, die durch die
#Verwendung dieses Scripts entstehen, kann artmedic webdesign nicht
#haftbar gemacht werden. Die Benutzung erfolgt auf eigene Gefahr des Anwenders.
#############################################################################
-->
<?
//edit these variables, diese zwei Variablen ändern
//Homepage-URL, Basisverzeichnis der Homepage mit Backslash am Ende
//homepage-URL with backslash at end
$url = "http://YourSite.com/";
//Limit: Anzahl von möglichen Empfehlungen innerhalb von $sperrzeit
//Count of possible recommendation within $sperrzeit
$limit = "10";
//Sperrzeit, falls mehr als $limit Empfehlungen abgegeben wurden von der gleichen IP-Adresse in Sekunden
//timelimit, if more than $limit mails have been sent by same IP-address in seconds
$sperrzeit = "3600"; // 1h
//Textdatei für die Daten, bitte aus Datenschutzgründen umbenennen
//textfile for saving all data, please rename for security reasons
$iplog = "tellafriend.txt";
//ab hier keinen PHP-Code ändern, wenn Sie nicht genau wissen, was Sie tun
//Do not change PHP-Code past here
$time = time();
$id = $_GET[id];
$filled = $_POST[filled];
?>
<style type="text/css">
<!--
body,td,th {
font-family: Arial, Helvetica, sans-serif;
font-size: 12px;
color: #000000;
}
body {
background-color: #FFFFFF;
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
}
.Stil1 {
font-size: 9px;
color: #000000;
text-decoration: none;
}
-->
</style></head>
<body>
<?
if($filled == "")
{
?>
<form name="form1" method="post" action="tellafriend.php">
<table width="366" border="0" cellspacing="1" cellpadding="1">
	<tr bgcolor="#E3F9E6">
	 <td colspan="2"><font face="Arial, Helvetica, sans-serif" size="2"><b>Diese
			Seite weiterempfehlen </b></font></td>
	</tr>
	<tr bgcolor="#FFFFFF">
	 <td colspan="2">F&uuml;llen Sie dazu bitte folgendes Formular aus. <br>
		Ihre Eingaben
	 werden nur f&uuml;r diesen Zweck verwendet und nicht gespeichert. </td>
	</tr>
	<tr bgcolor="#E3F9E6">
	 <td width="118" align="right">
		<label for="sendername"><font face="Arial, Helvetica, sans-serif" size="2">Ihr
		Name* </font></label>
	 </td>
	 <td width="241">
		<input name="sendername" type="text" id="sendername" size="40">
	 </td>
	</tr>
	<tr bgcolor="#E3F9E6">
	 <td width="118" align="right">
		<label for="senderemail"><font face="Arial, Helvetica, sans-serif" size="2">Ihre
		Email* </font></label>
	 </td>
	 <td width="241">
		<input name="senderemail" type="text" id="senderemail" size="40">
	 </td>
	</tr>
	<tr bgcolor="#FFFFFF">
	 <td width="118" nowrap align="right">
		<label for="recipientname"><font face="Arial, Helvetica, sans-serif" size="2">Emp&auml;ngername*</font></label>
	 </td>
	 <td width="241">
		<input name="recipientname" type="text" id="recipientname" size="40">
	 </td>
	</tr>
	<tr bgcolor="#FFFFFF">
	 <td width="118" align="right" nowrap>
		<label for="recipientemail">Empf&auml;nger-E-Mail*</label>
	 </td>
	 <td width="241">
		<input name="recipientemail" type="text" id="recipientemail" size="40">
	 </td>
	</tr>
	<tr bgcolor="#E3F9E6">
	 <td width="118" align="right" valign="top">
		<label for="anmerkungen">Ihre Nachricht </label>
	 </td>
	 <td width="241">
		<textarea name="anmerkungen" cols="40" rows="3" id="anmerkungen"></textarea>
	 </td>
	</tr>
	<tr bgcolor="#E3F9E6">
	 <td width="118" nowrap align="right">*erforderliche Angaben</td>
	 <td width="241" nowrap>
		<input style="cursor:hand; filter:alpha(opacity=70); font-weight:bold; margin-left:5px; BACKGROUND-COLOR: #95E199; border-right-color:#40FF00; border-left-color:#40FF00; border-bottom-color:#40FF00; border-top-color:#40FF00;" type="submit" name="Abschicken" value="Abschicken">
	 </td>
	</tr>
	<tr bgcolor="#FFFFFF">
	 <td colspan="2" nowrap align="right">
		<input type="hidden" name="filled" value="1">
		<input type="hidden" name="id" value="<? echo $id; ?>">
		<a href="http://www.artmedic.de" target="_blank" class="Stil1">powered by artmedic
		webdesign</a></td>
	</tr>
</table>
</form>
<?
}
else
{
$id = $_POST[id];
$sendername = $_POST[sendername];
$senderemail = $_POST[senderemail];
$recipientname = $_POST[recipientname];
$recipientemail = $_POST[recipientemail];
$anmerkungen = $_POST[anmerkungen];
//Dateneingabe überprüfen, check incoming form-variables
if (empty ($sendername)) {
	die ("Fehler: Sie müssen Ihren Namen eingeben.<br><br><a href=\"javascript:history.go(-1);\">&laquo;&laquo; Zurück</A>");}
if (empty ($senderemail)) {
	die ("Fehler: Sie müssen Ihre Emailadresse eingeben.<br><br><a href=\"javascript:history.go(-1);\">&laquo;&laquo; Zurück</A>");}
if (empty ($recipientname)) {
	die ("Fehler: Sie müssen einen Empfängernamen eingeben.<br><br><a href=\"javascript:history.go(-1);\">&laquo;&laquo; Zurück</A>");}
if (empty ($recipientemail)) {
	die ("Fehler: Sie müssen eine Empfängeremailadresse eingeben.<br><br><a href=\"javascript:history.go(-1);\">&laquo;&laquo; Zurück</A>");}
if(!eregi("^[a-z0-9\._-]+@+[a-z0-9\._-]+\.+[a-z]{2,4}$", $senderemail)) {
	 die("Fehler: Geben Sie bitte eine gültige Emailadresse ein. <br><br><a href=\"javascript:history.go(-1);\">&laquo;&laquo; Zurück</A>");}
if(!eregi("^[a-z0-9\._-]+@+[a-z0-9\._-]+\.+[a-z]{2,4}$", $recipientemail)) {
	 die("Fehler: Geben Sie bitte eine gültige Empfänger-Emailadresse ein. <br><br><a href=\"javascript:history.go(-1);\">&laquo;&laquo; Zurück</A>");}
$remote = getenv("REMOTE_ADDR");
//Ablaufzeit in Sekunden
$ablaufzeit = "$time" - "$sperrzeit";
//Abgelaufene IP-Adressen entfernen
$test = @file($iplog);
while (list ($line_num, $line) = @each ($test))
{$s = explode("&&",$line);
if($s[0] <= $ablaufzeit)
{
$fz = fopen( "$iplog", "r+" );
$c = fread($fz, filesize($iplog));
fclose($fz);
$line=quotemeta($line);
$string = "";
$c = ereg_replace($line, $string, $c);
$c1=fopen($iplog, "w+");
@flock($c1,2);
fputs($c1, $c);
@flock($c1,3);
fclose($c1);
}}
//IP-Prüfung
$ippruefung = @file($iplog);
while (list ($line_num, $line) = @each ($ippruefung))
{$ips = explode("&&",$line);
//IP-Adresse finden
if($ips[1] == $remote)
{
$ipf = "1";
//Prüfen, wieviel Empfehlungen bereits versendet wurden
if($ips[2] < $limit)
{
$z = $ips[2];
$z ++;
$fp = fopen($iplog, "r" );
$contents = fread($fp, filesize($iplog));
fclose($fp);
$string = "$ips[0]&&$ips[1]&&$z&&";
$replace = ereg_replace($line, $string, $contents);
$fh=fopen($iplog, "w");
@flock($fh,2);
fputs($fh, $replace);
@flock($fh,3);
fclose($fh);
}
if($ips[2] >= $limit)
{$gesperrt = "1";}
}
}
if($ipf != 1)
{
$string2 = "$time&&$remote&&1&&\n";
$fi=fopen($iplog, "a");
@flock($fi,2);
fputs($fi, $string2);
@flock($fi,3);
fclose($fi);
}
//URL der Seite zusammenstellen
if($gesperrt != "1")
{
$sendurl = "$url$id";
if ($anmerkungen == "")
{$anmerkungen = "Keine";}
//Nachricht versenden
$subject = "Seitenempfehlung von $sendername";
$mailtext = "
Sehr geehrte/r Frau/Herr $recipientname,
$sendername ($senderemail) empfiehlt Ihnen den Besuch
folgender Webseite:
------------------------------------------------------
$sendurl
------------------------------------------------------
Anmerkungen dazu von $sendername:
$anmerkungen
";
mail($recipientemail,$subject,$mailtext,"From: $sendername <$senderemail>");
echo "<br><br>Vielen Dank $sendername,<br>
Ihre Empfehlung wurde an $recipientname ($recipientemail) gesendet.<br><br>
Bitte schließen Sie dieses Fenster, um zur Ausgangsseite zurückzukehren.<br><br>
<a href=\"http://www.artmedic.de\">script by artmedic</a>
";
}
if($gesperrt == "1")
{echo "Aufgrund von Spamschutzeinstellungen können Sie leider nur $limit Empfehlungen versenden.";}
}
?>
</body>
</html>
 
Zuletzt bearbeitet:
Re: tellafriend php funk nicht 100 pro

Schreib mal die Warnung hier rein, die ist der interessante Teil.

loli
 
Re: tellafriend php funk nicht 100 pro

Hallo,

diese Warnugen bekomme ich:


HTML:
Warning: fopen(tellafriend.txt) [function.fopen]: failed to create stream: Permission denied in /home/www/htdocs/adresse.de/tellafriend.php on line 212

Warning: fputs(): supplied argument is not a valid stream resource in /home/www/htdocs/adresse.de/tellafriend.php on line 214

Warning: fclose(): supplied argument is not a valid stream resource in /home/www/htdocs/adresse.de/tellafriend.php on line 216

Vielen Dank im Voraus für deine Hilfe.
 
Re: tellafriend php funk nicht 100 pro

Die Berechtigungen für tellafriend.txt stimmen nicht. Du brauchst schreibrechte für diese Datei.
 
Re: tellafriend php funk nicht 100 pro

In Zukunft kannst du ja mal die Installattionsanleitung zu deinem Script lesen da steht sowas nämlich 100 pro drinnen! :rolleyes:
 
Re: tellafriend php funk nicht 100 pro

Hallo,

jetzt mach mich doch nicht gleich immer so fertig. Ich habe doch die texdatei dazu gelesen, nur war die in meinem Fall leer 0 kb.

Aber dafür war eine readme.html dabei und da stand ja auch alles schön einfach drin wie folgt:

Installation:
tellafriend.php: deutsche Version (german version)


1. Wählen Sie das Script in der gewünschten Sprache aus und löschen Sie die andere Version.

2. Öffnen Sie das Script mit ihrem bevorzugten Texteditor und geben Sie die die Homepage-URL und die die gewünschten Spamschutzeinstellungen wie beschrieben ein. wollen einen Link, wie z.B. unten (sie können auch grafische Links benutzen) auf das Script in dieser Form: tellafriend.php?id=index.htm. Dieser Link würde jetzt die Startseite Ihrer Homepage empfehlen, wenn diese index.htm lauten würde.
Der Link auf einer Seite, die test.htm oder test.php heisst und im Unterverzeichnis testverzeichnis liegen würde, würde so aussehen:
tellafriend.php?id=testverzeichnis/test.htm oder tellafriend.php?id=testverzeichnis/test.php


Ach man, ich raf das nicht, ich habe auch vor dem Script ein anders gehabt zum weiterempfehlen und auch bei dem bekam ich einen Warnhinweis, obwohl auch dort nichts weiter getan werden muste als die DAtei hoch zu laden und einen Link dazu zu setzen.

Was meint ihr jetzt dazu, woher soll ich Berechtigung Texdatei bekommen, die Anbieter hätten doch eine beigelegt wenn das nötig wäre? Hier ist nochmal die Adresse vom Anbieter: http://www.artmedic-phpscripts.de/artmedic_tellafriend.php
 
Re: tellafriend php funk nicht 100 pro

-.- ja noch besser die Seite hat sogar ein eigenes USERFORUM und eine FAQ ujjjj ja was ist den das da da oben in der FAQ? Nein warte nein kann nicht sein ist das den genau dein Problem? Ach du heilige...

Nix fur ungut ja aber sichn Script runterzuladen und dann nicht mal fähigsein auf der Page nach ner Problemlösung zu suchen ist entweder verdammt faul oder verdammt blind.
 
Re: tellafriend php funk nicht 100 pro

So kannst du die Rechte für die Datei ändern:
- Verbinde Dich mit dem FTP-Server unter Verwendung eines FTP-Clients (zum Beispiel WS_FTP)
- Wechsel in das Verzeichnis, in dem die Datei tellafriend.txt liegt (auf dem Server)
- Markiere die Datei tellafriend.txt mit der linken Maustaste
- Drücke anschließend die rechte Maustaste und Wähle aus dem PullUp-Menü den Menüpunkt 'chmod (UNIX)' aus
- Es erscheint ein Fenster, das dir die Bearbeitung der Rechte für Owner, Group und Other ermöglicht.
- Setze für alle die Rechte Lesen & Schreiben

Falls Du einen anderen FTP-Client verwendest, der die direkte eingabe von Kommandos unterstützt, gehe wiefolgt vor:
- In das Verzeichnis mit der tellafriend.txt wechseln
- das Kommando 'chmod 666 tellafriend.txt' ausführen

Sven
 
Re: tellafriend php funk nicht 100 pro

Hallo,

Sicane, ich glaub deine Glaskugel ist kaputt.:)

Also benutze WSP_FTP95 und habe eben alle Rechte auf schreiben und lesen gesetzt wie beschrieben. Ja ich bin Anfänger in php, aber ihr müst doch selber zugeben, das für die Aktion normal mein Wissen reichen sollte, das hat auch der Anbieter geschrieben und noch dazu das er kein Support gibt.

Alos was soll ich machen, ich bekomme wieder diese EMldungen, obwohl die Anchricht schon verschickt wird.

Warning: fopen(tellafriend.txt) [function.fopen]: failed to create stream: Permission denied in /home/www/htdocs/domain.de/tellafriend.php on line 212

Warning: fputs(): supplied argument is not a valid stream resource in /home/www/htdocs/domain.de/tellafriend.php on line 214

Warning: fclose(): supplied argument is not a valid stream resource in /home/www/htdocs/domain.de/tellafriend.php on line 216
 
Re: tellafriend php funk nicht 100 pro

Die Rechte haste sicher nicht richtig gesetzt. Entweder das Prog hat sie falsch genomen oder du hast die falsche Datei damit belebt.

Und bitte schreibe nich im dazugehörigen Userforum. Die ham das da zum Spass eingerichtet.

@Sven oO haste das selbst geschrieben oder haste da nen Antwortenfundus? Weil wenn du das selbst geschrieben hast, haste ganz schön ien Helfersyndrom ;-)
 
Zurück