mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Fr 26.04.2024 15:49 Benutzername: Passwort: Auto-Login

Thema: Einfaches Ecard-Skript vom 02.08.2010


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> Einfaches Ecard-Skript
Autor Nachricht
sYCO
Threadersteller

Dabei seit: 25.11.2005
Ort: -
Alter: 47
Geschlecht: Männlich
Verfasst Mo 02.08.2010 02:05
Titel

Einfaches Ecard-Skript

Antworten mit Zitat Zum Seitenanfang

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 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.

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 automatisch gelöscht werden (datenschutz).

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 morgen (mittlerweile heute) schon releasen wollte.

danke schon einmal vorab.

Code:
<?php
// CHANGE PARAMETERS HERE BEGIN
 $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'];
// CHANGE PARAMETERS HERE END

// 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>
  View user's profile Private Nachricht senden
seal

Dabei seit: 31.07.2005
Ort: Pfalz
Alter: 41
Geschlecht: Männlich
Verfasst Mo 02.08.2010 15:29
Titel

Antworten mit Zitat Zum Seitenanfang

Stell die Anfrage lieber in die Jobbörse hier im MGi und präzisiere dabei "via Paypal erkenntlich zeigen" etwas, dann findet sich sicher jemand, der dir zeitnah helfen kann.
  View user's profile Private Nachricht senden
Anzeige
Anzeige
sYCO
Threadersteller

Dabei seit: 25.11.2005
Ort: -
Alter: 47
Geschlecht: Männlich
Verfasst Mo 02.08.2010 16:33
Titel

Antworten mit Zitat Zum Seitenanfang

habe ich versucht, aber da muss man seine komplette
postanschrift zwingend angeben, was ich nicht in ordnung
finde.

insofern versuche ich es weiterhin hier. vielleicht gibt es
ja auch einen fähigen php-programmierer, der hier das
liest?

danke dir dennoch, seal.
  View user's profile Private Nachricht senden
Eistee
Administrator

Dabei seit: 31.10.2001
Ort: Grimma
Alter: 45
Geschlecht: Männlich
Verfasst Di 03.08.2010 08:50
Titel

Antworten mit Zitat Zum Seitenanfang

Die Pflichtdaten in der Jobbörse dienen dazu, DEINE Seriosität zu erhöhen - das hat schon seinen Sinn!
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
sYCO
Threadersteller

Dabei seit: 25.11.2005
Ort: -
Alter: 47
Geschlecht: Männlich
Verfasst Di 03.08.2010 12:56
Titel

Antworten mit Zitat Zum Seitenanfang

das mag sein und ist mir auch verständlich,
aber ich hoffe, dass ich auch ohne diesen
zwang einen programmierer finde, der das
problem lösen kann.

es gab ein php-update meinerseits, aber
die oberen punkte sind fast gleich:

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 automatisch gelöscht werden (datenschutz).

6. das skript sollte spam-sicher sein.

7. per mailerklasse versenden damit es nicht mehr den spam-hinweis gibt (mail wurde nicht über angegebene adresse versendet: gmx, web, ...).

php-update:
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>


Zuletzt bearbeitet von sYCO am Di 03.08.2010 13:01, insgesamt 2-mal bearbeitet
  View user's profile Private Nachricht senden
DerM

Dabei seit: 18.01.2009
Ort: -
Alter: 42
Geschlecht: Männlich
Verfasst Di 03.08.2010 12:58
Titel

Antworten mit Zitat Zum Seitenanfang

sYCO hat geschrieben:
das mag sein und ist mir auch verständlich,
aber ich hoffe, dass ich auch ohne diesen
zwang einen programmierer finde, der das
problem lösen kann.


Gegen Bares lös ich dein "problemchen" * Mmmh, lecker... *
  View user's profile Private Nachricht senden
sYCO
Threadersteller

Dabei seit: 25.11.2005
Ort: -
Alter: 47
Geschlecht: Männlich
Verfasst Di 03.08.2010 13:07
Titel

Antworten mit Zitat Zum Seitenanfang

du, ich schrieb ja bereits, dass das kein problem ist,
wenn zeitnah alle punkte gelöst werden können. ich
weiß, es ist nichts kompliziertes, daher der "zeitnah"-
hinweis. kostenpunkt?

wobei eigentlich nur 1. und 4. - 7. wichtig sind.


Zuletzt bearbeitet von sYCO am Di 03.08.2010 13:08, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
 
Ähnliche Themen Suche ein einfaches Skript für einen Online-Shop
[Suche] Template für Flash ecard
Einfaches CMS
Ein einfaches CMS
Einfaches CMS... gibt es das?
ganz einfaches CMS
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.