hi php-gemeinde,
ich habe mir 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.
aus rechtlicher sicht darf ein ecard-skript in deutschland nicht anonym versendet werden. daher muss noch ein name- und e-mail-feld (für sender) in php hingefügt werden (ERLEDIGT) und alle vier felder (sender_name, sender_@dresse, recipient_name und recipient_@dresse) sollen auf (korrekten) inhalt überprüft/validiert werden, bevor das skript die ecard versendet.
ansonsten gibt es noch andere punkte. gesamtaufzählung folgt:
1. namen von sender und empfänger und e-mail-adressen von sender und empfänger: kontrolle/abfrage/validierung und übergabe an die ecard-e-mail und die karte/log-datei im verzeichnis "messages" (übergabe funktioniert schon, kontrolle/abfrage/validierung fehlt noch). wenn falsch/invalide/ungültig, skript nicht weiter ausführen und hinweis unten einblenden.
2. betreff: kontrolle/abfrage.
3. die sender-e-mail-adresse soll auch als sender-e-mail-adresse in der e-mail angezeigt werden, sofern das möglich ist.
4. lesebestätigung per e-mail an den sender, wenn empfänger die ecard gelesen/den link aufgerufen hat.
5. die log-dateien/karten (txt-dateien) im verzeichnis "messages" sollen nach x tagen (per variable festlegbar) automatisch gelöscht werden.
6. das skript sollte spam-sicher sein.
(die hervorgehobenen punkte haben höhere priorität)
den quellcode 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 (per paypal) 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 schon morgen (mittlerweile heute) releasen wollte.
danke schon einmal vorab.
<?php
// PARAMETERS
$columns = 7;
$senderName = 'Ecard website';
$senderEmail = 'bla@testbla.de';
// Change only if you have problems with urls
$postcardURL = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['SCRIPT_NAME'];
// This function displays the available images
function displayPhotos(){
global $columns;
$act = 0;
// Open the directory with thumbnails
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' id='radio' />
</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/../">Ecard site</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 href="http://www.php.de/imprint">IMPRINT</a></li>
<li><a class="last" href="http://www.php.de/ecard">ECARD</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>
Sender's name *<br />
<input type="text" name="sender_name" size="30"/><br />
Sender's e-mail *<br />
<input type="text" name="sender_@dresse" size="30"/><br /><br />
Recipient's name *<br />
<input type="text" name="recipient_name" size="30"/><br />
Recipient's e-mail *<br />
<input type="text" name="recipient_@dresse" size="30"/><br /><br />
* mandatory field
</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\n");
fwrite($f,"From" . "\n" . $_POST['sender_name']."\n");
fwrite($f,$_POST['sender_@dresse']."\n\n");
fwrite($f,"To" . "\n" . $_POST['recipient_name']."\n");
fwrite($f,$_POST['recipient_@dresse']."\n\n");
fwrite($f,$_POST['betreff']."\n\n");
fwrite($f,htmlspecialchars($_POST['botschaft'])."\n");
fclose($f);
// Compose the mail
$postcardURL = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['SCRIPT_NAME'];
$header = 'MIME-Version: 1.0' . "\r\n";
$header .= 'Content-type: text/plain; charset=iso-8859-1' . "\r\n";
$header .= 'From: Ecard service <bla@testbla.com>' . "\r\n";
$mailtext = $_POST['sender_name'] . " likes you and has just sent this electronic greeting card.\r\n\r\n"
. "You can pick up your ecard 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 one yourself!\r\n\r\n"
. "Best regards,\r\n"
. "Ecards\r\n";
// Send email
@mail($_POST['recipient_@dresse'], $_POST['betreff'], $mailtext, $header);
?>
<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;
}
?>
<img src='../../gallery/scenery/<?php echo $pic; ?>' alt="postcard" />
<br /><br />
<?php echo nl2br(htmlspecialchars($main)); ?>
<?php } ?></p>
</div>
</div>
</body>
</html>
Alles anzeigen