Reminder zu TV Sendungen!

@Registrierer: Du hast ja vom Prinzip her recht, aber schau mal: Er/sie fängt gerade an, sich mit dem Thema auseinander zu setzen. Warum mit den (eigentlich richtigen) zusätzlichen Komponenten die Lernkurve noch steiler machen, wenn es erstmal mit einfachen Bordmitteln geht? Er will sich eine App bauen, die ihm privat was zu schickt. Eine kurze Info, dass demnächst was ansteht. Da braucht es keine super-duper-alles-könner-Klassen, die die Sache nur verkomplizieren und für diesen Anwendungsfall keinen Mehrwert bringen.

Und noch was: Wenn die Variablen nicht anständig sanitized werden, bringt mir auch eine super-Klasse wie Swiftmailer nix. Im Gegentum: man wiegt sich evtl. in falscher Sicherheit, nach dem Motto: "ich hab ja Swiftmailer, der nimmt mir alles ab".
 
@Registrierer: Du hast ja vom Prinzip her recht, aber schau mal: Er/sie fängt gerade an, sich mit dem Thema auseinander zu setzen. Warum mit den (eigentlich richtigen) zusätzlichen Komponenten die Lernkurve noch steiler machen, wenn es erstmal mit einfachen Bordmitteln geht?

Dazu habe ich ein einfaches und universelles Beispiel:

Im einem anderen (früheren) Leben bin ich mit meiner Band als Gitarrist durch die Lande gezogen.
Als ich anfing, Gitarre zu lernen habe ich ein Buch von Peter Bursch benutzt und das "F" als "Kinder-F" gelernt und dachte das isses, bis ich ein paar Kapitel später feststellen mußte das es ja ganz anders und viel schwieriger gegriffen wird.
Das hat mir jahrelang zu schaffen gemacht, weils einfach schon falsch im Unterbewusstsein abgespeichert war!

Will sagen, wenn Du was anfängst, machs gleich richtig, auch wenn es im ersten Moment schwerer erscheint. Es erspart einem viel Ungemach. Denk mal an die Schulzeit, da fallen Dir bestimmt Parallelen ein ;-)

Das gilt für mail() oder auch DB Anbindung (PDO) genauso.
 
Offtopic


Dann würde ich auch noch einen Datenbankabstraktionslayer hinzufügen, das MVC-Prinzip mehr enkapsulieren und und und!

Ich stimme dir da grundsätzlich zu, Registrierer, nur muss man nicht gleich alles von Anfang an beherrschen und 1:1 aus der gängigen Praxis lernen.

Dass man PDO oder MySQLi nutzt, da gibt es keine Widerrede.
Doch ob man jetzt mail() oder eine Klasse benutzt macht jetzt am Anfang eher einen marginaleren Unterschied meiner Meinung nach. Vor allem hat man einen größere Transparenz an Headern bzw. man muss sie aktiv verwenden bei mail(). Das birgt einige Vorteile.
 
Offtopic


Vor allem hat man einen größere Transparenz an Headern bzw. man muss sie aktiv verwenden bei mail(). Das birgt einige Vorteile.
Die Nachteile bei falscher Anwendung sind gerade als Anfänger gravierender als die vermeintlichen Vorteile, weil ich diese in dem Stadium i. d. R. gar nicht zu nutzen weiß.

Das jedenfalls ist meine laienhafte Meinung.
 
Ich möchte ein anderes Sprichwort anbringen: "Jeder hat mal klein angefangen."

Wenn ich so an meine ersten Gehversuche in der Programmierung zurück denke... hmm, naja ;-)

Machen wir es den Newbies nicht schwerer, als wir es auch hatten. Wichtig ist, dass der Anfänger nicht auf der Stufe stehen bleibt, sonst wird nie ein Advanced oder Prof. daraus :-

Und mit dem Lernen eines Instruments ist Programmierung imho nicht zu vergleichen. Ein Instrument kann man irgendwann perfekt beherrschen, eine (Programmier-)Sprache nicht, da sie sich permanent weiter entwickelt.
 
Und mit dem Lernen eines Instruments ist Programmierung imho nicht zu vergleichen. Ein Instrument kann man irgendwann perfekt beherrschen, eine (Programmier-)Sprache nicht, da sie sich permanent weiter entwickelt.
Ich wette, du spielst kein Instrument :-)
Dies zu erlernen und zu bedienen ist ein permanenter nie endender Lern,- und Übungsprozess, auch wenn es für andere noch so perfekt scheinen (klingen) mag.

Ansonsten muß man es niemanden unnütz schwer machen, da habt Ihr völlig recht!
Deshalb stellt sich die Frage, was ist jetzt komlizierter:
PHP:
require('phpmailer/class.phpmailer.php');
$mail = new PHPMailer();
$mail->From = $absenderemail;
$mail->FromName = "Name Absender";
$mail->AddAddress($email);
$mail->Subject = "Feedback_Erinnerung-Mail";
$mail->Body = "Hallo lieber Teilnehmer....";

// ODER

$empfaenger = 'a@web.de';
$betreff = 'Feedback_Erinnerung-Mail';

$header = 'From: r@gmx.de'. "\r\n" .
        'Reply-To: ' .$name. "<" .$email. ">\r\n" .
    'Message-ID: <' .time(). " noreply@" .$_SERVER['SERVER_NAME']. ">\r\n" .
    'X-Mailer: PHP/' . phpversion();



0 1 * * * find /tmp -atime 3 -exec ls -l {} \; //jeden Tag und jeden Monat zur angegebenen Zeit

$text = 'Hallo lieber Teilnehmer....';

Für mich klar beantwortet.
 
ist das jetzt eine Grundsatzdiskusion?

Ihr habt beide Recht, Saftmeister und Registrierer ;-)
Die wiederverwendbarkeit von einer Klasse fürs Mailen und der Einfachkeit her schon, auf der anderen Seite hat sowas keinen Lerneffekt ;-)
Wie Saftmeister schon schrieb, wir haben alle mal klein angefangen. Als ich das erste mal ne Klasse gesehen habe, dachte ich auch "OMG". Hab damals auch nur Spaghetti-Code geschrieben.
Da wusste man aber was man machte, warum man es so macht und warum man den Header jetzt so sendet.
Klar, nach all den Jahren verwewnde ich auch nur MVC,FW's usw, aber nur weil ich jetzt den Hintergrund kenne.

Fazit:
Grundlagenerlernung -> Spaghetti-Code
Fortgeschrittene Verwendung -> Klassen, FW's
 
Ich möchte euch allen danken. Denn eure Diskussion war mir hilfreich.
Ich hätte da aber noch eine weitere Frage an euch.
Ich habe in meinem PHP Codes ein Drop down Menü eingebaut. Aus diesem kann der Nutzer auswählen wem er ein Feedback schicken will. Das ist also schon mit der Datenbank gefüllt. Wie schaff ich es aber jetzt, dass die Mail genau an die Person geschickt wird, die Ausgewählt wurde?
Schreibe ich da eine Neue php Datei indem ich schreibe wenn das ausgewählt wird, dann sende an...?
Aber wie bekomm ich es hin, dass es an die "ausgewählte" Mailadresse geschickt wird. Ohne alle Möglichkeiten händisch eingeben zu müssen. Es müsste irendwie mit $_POST gehen, ich weis nur nicht wie ich das verknüpfe!

Habt ihr einen Tip für mich?

PHP:
<select name="sendungswahl" size="1" id="sendungswahl" title="<?php echo $row_aktuellSendungen['Name']; ?>">
            <option id="0" value=""> ---Bitte wählen---</option>
            <?php
do {  
?>
            <option value="<?php echo $row_aktuellSendungen['Name']?>"><?php echo $row_aktuellSendungen['Name']?></option>
            <?php
} while ($row_aktuellSendungen = mysql_fetch_assoc($aktuellSendungen));
  $rows = mysql_num_rows($aktuellSendungen);
  if($rows > 0) {
      mysql_data_seek($aktuellSendungen, 0);
	  $row_aktuellSendungen = mysql_fetch_assoc($aktuellSendungen);
  }
?>
          </select>
 
Zuletzt bearbeitet:
Hier bitte

PHP:
mysql_select_db($database_localhost, $localhost);
$query_aktuellSendungen = "SELECT Name, URL5  FROM moderator WHERE URL5 LIKE '%@%' ORDER BY Name";
$aktuellSendungen = mysql_query($query_aktuellSendungen, $localhost) or die(mysql_error());
$row_aktuellSendungen = mysql_fetch_assoc($aktuellSendungen);
$totalRows_aktuellSendungen = mysql_num_rows($aktuellSendungen);
 
Zurück