peto>> danke dir für den rechtlichen hinweis.
hi forengemeinde,
ich habe mir nun anhand eines tutorials ein ecard-skript grafisch eingerichtet und nun fehlen mir noch einige punkte, die ich gern von jemand von euch gelöst hätte, da es mir an php-erfahrung fehlt.
zu den details: das skript funktioniert erst einmal und die "karten" werden auch ordnungsgemäß in einem verzeichnis "messages" als einzelne txt-dateien angelegt, aber im moment gibt man nur eine empfänger-e-mail-adresse und die nachricht ein.
aus rechtlicher sicht darf aber ein ecard-skript in deutschland nicht anonym versendet werden. daher muss noch ein name- und e-mail-feld in php hingefügt werden und alle vier felder (sender_name, sender_adresse, empfänger_name und empfänger_adresse) sollen auf (korrekten) inhalt überprüft/validiert werden.
ansonsten gibt es noch andere punkte. gesamtaufzählung folgt:
1. eingabemöglichkeit/variable für
namen von
sender und
empfänger und e-mail-adressen von
sender und
empfänger und deren kontrolle/abfrage/validierung (empfänger-e-mail-adresse ist schon vorhanden) und übergabe an die ecard-e-mail und die message-/log-speicherung.
2. eingabemöglichkeit/variable für betreff und dessen kontrolle/abfrage/validierung und übergabe an die ecard-e-mail und die message-/log-speicherung. quasi wie 1.
3. der angegebene betreff soll dann auch der betreff sein, der in der benachrichtigungse-mail für den empfänger steht. bislang wird ein standard-betreff verwendet á la "greeting card from bla.com" und ich glaube, das wird immer als spam erkannt.
4. die sender-e-mail-adresse soll auch als sender-e-mail-adresse in der e-mail angezeigt werden, sofern das möglich ist.
5. lesebestätigung per e-mail an den sender, wenn empfänger die ecard gelesen/den link aufgerufen hat.
6. die log-dateien/karten im verzeichnis "messages" sollen nach x tagen automatisch gelöscht werden (datenschutz).
7. das skript sollte spam-sicher sein.
den quellcode und eine beispielgrafik füge ich bei. einen link zu einer test-website sende ich bei nachfrage per pn.
wenn jemand von euch diese punkte alle zeitnah lösen kann, werde ich mich natürlich auch erkenntlich zeigen. ich weiß, dass jeder einzelne punkt gar nicht so superkompliziert ist, aber ich habe eben kaum ahnung von php und ich würde gern meine kleine website endlich fertig bekommen, da ich sie eigentlich morgen schon releasen wollte.
danke schon einmal vorab.
php + html:
PHP-Code:
<?php
// CHANGE PARAMETERS HERE BEGIN
$columns = 7;
$senderName = 'Grußkarten von Blubb';
$senderEmail = 'bla@blubb.com';
// Change only if you have problems with urls
$postcardURL = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['SCRIPT_NAME'];
// CHANGE PARAMETERS HERE END
// This function displays the available images
function displayPhotos(){
global $columns;
$act = 0;
// Open the actual directory
if ($handle = opendir("../../gallery/scenery/bolGallery/")) {
// Read all file from the actual directory
while ($file = readdir($handle)) {
if (!is_dir($file)) {
if ($act == 0) echo "<tr>";
echo "<td align='center'>
<img src='../../gallery/scenery/bolGallery//$file' alt='postcard' /><br/>
<input type='radio' name='selimg' value='$file' />
</td>";
$act++;
if ($act == $columns){
$act = 0;
echo "</tr>";
}
}
}
echo "</tr>";
}
}
?>
<?php include('../../cookie.php'); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Website</title>
<style type="text/css">
@import url("../../<?php echo $style?>.css");
</style>
</head>
<body>
<div id="titelwrap">
<div id="titel">
<h1><a href="http://www.php.de/../">Ivan Schneider</a></h1>
</div>
<div id="farbmenue">
<p>
<a href="<?php echo $_SERVER['PHP_SELF']?>?style=style_default"><img src="http://www.php.de/grafx/de.gif" width="10" height="10" alt="white" /></a>
<a href="<?php echo $_SERVER['PHP_SELF']?>?style=style_rw"><img src="http://www.php.de/grafx/rw.gif" width="10" height="10" alt="red" /></a>
<a href="<?php echo $_SERVER['PHP_SELF']?>?style=style_ws"><img src="http://www.php.de/grafx/ws.gif" width="10" height="10" alt="black" /></a>
<a href="<?php echo $_SERVER['PHP_SELF']?>?style=style_mg"><img src="http://www.php.de/grafx/mg.gif" width="10" height="10" alt="magenta" /></a>
</p>
</div>
</div>
<div id="menu">
<ul class="navi">
<li class="drop"><a href="http://www.php.de/portfolio">PORTFOLIO</a>
<ul>
<li><a href="http://www.php.de/portfolio/fashion.php">FASHION</a></li>
<li><a href="http://www.php.de/portfolio/people.php">PEOPLE</a></li>
<li><a href="http://www.php.de/portfolio/scenery.php">SCENERY</a></li>
</ul>
</li>
<li><a href="http://www.php.de/clients">CLIENTS</a></li>
<li><a href="http://www.php.de/person">PERSON</a></li>
<li><a href="http://www.php.de/contact">CONTACT</a></li>
<li><a class="last" href="http://www.php.de/imprint">IMPRINT</a></li>
</ul>
</div>
<div id="wrap">
<div id="themabild">
<p><?php if ( (!isset($_POST['submit'])) && (!isset($_GET['show'])) ) { ?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<table>
<?php displayPhotos(); ?>
</table>
</p>
<h2>.: ECARD</h2>
<div id="card_1">
<p>To (name)<br />
<input type="text" name="name" size="30"/><br />
To (e-mail address)<br />
<input type="text" name="@dresse" size="30"/><br /><br />
From (name)<br />
<input type="text" name="sender_name" size="30"/><br/>
From (e-mail address)<br />
<input type="text" name="sender_@dresse" size="30"/><br />
</p>
</div>
<div id="card_2">
<p>Subject<br />
<input type="text" name="betreff" size="30"/><br/>
Message<br />
<textarea name="botschaft" rows="10" cols="40"></textarea></p>
</div>
<div id="card_3">
<input type="submit" value="send" name="submit" alt="send" class="btn" /></p>
</div></form>
</div>
<div id="inhalt">
<p><?php } else if ( (isset($_POST['submit'])) && (!isset($_GET['show'])) ) {
$pic = isset ($_POST['selimg']) ? $_POST['selimg'] : '';
$filename = date('YmdGis');
$f = fopen('messages/'.$filename.".txt","w+");
fwrite($f,$pic."\n");
fwrite($f,$_POST['@dresse']."\n");
fwrite($f,htmlspecialchars($_POST['botschaft'])."\n");
fclose($f);
// Compose the mail
$postcardURL = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['SCRIPT_NAME'];
$from = "From: $senderName <$senderEmail>\r\n";
$replay = "Reply-To: $senderEmail\r\n";
$params = "MIME-Version: 1.0\r\n";
$params .= "Content-type: text/plain; charset=iso-8859-1\r\n";
$mailtext = "You have just received a virtual postcard!\r\n\r\n"
. "You can pick up your postcard at the following web address:\r\n\r\n"
. "$postcardURL"."?show=$filename\r\n\r\n"
. "We hope you enjoy your postcard, and if you do, "
. "please take a moment to send a few yourself!\r\n\r\n"
. "Regards,\r\n"
. "Website\r\n";
// Send email
@mail($_POST['@dresse'],"You've received a postcard",$mailtext,$from.$replay.$params);
?>
<img src='../../gallery/scenery/<?php echo $pic; ?>' alt="postcard" /><br /><br />
<?php echo nl2br(htmlspecialchars($_POST['botschaft'])); ?><br /><br /><br />Your postcard was sent succesfully.
<?php } else if ( (!isset($_POST['submit'])) && (isset($_GET['show'])) ) {
$file = isset($_GET['show']) ? $_GET['show'] : '' ;
$content = file('messages/'.$file.".txt");
$pic = $content['0'];
unset ($content['0']);
unset ($content['1']);
$main = "";
foreach ($content as $value) {
$main .= $value;
}
?><br/>
<img src='../../gallery/scenery/<?php echo $pic; ?>' alt="postcard" />
<br/><br/><br/>
<?php echo nl2br(htmlspecialchars($main)); ?>
<?php } ?></p>
</div>
</div>
</body>
</html>