kostenloser Webspace werbefrei: lima-city


Newslettersystem mit mysql

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    p****7

    HI,
    ich bins mal wieder...
    ich hab mir gestern ein Newslettersystem geschrieben das basiert nicht auf myssql, nicht auf *.txt tag/datei">dateien sondern auf *.html dateien. ich h?tte aber gern, dass es auf mysql l?uft. allerdings hab ich mich an mysql noch nicht herangetraut, was eigentlich normal ist da ich erst seit 2 wochen php programmiere und vorher nur html gekonnt habe!! ich habe hier mal alle quelltexte!!:
    1. die admin_login.html

    <!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>Admin_Login</title>
    <meta name="author" content="Prinz Porno">
    </head>
    <body>
    <form method="post" action="admin_login.php">
    Benutzername:<br>
    <input type=text name="name"><br><br>
    Passwort:<br>
    <input type=password name="pw"><br><br>

    <INPUT TYPE="submit" VALUE="Einloggen">
    </form>

    </body>
    </html>

    2. admin_login.php

    <?
    session_start();

    $name = $_POST['name'];
    $pw = $_POST['pw'];
    if ($name == "" || $pw == "")
    {
    echo "Du hast kein Benutzername oder kein Passwort eingegeben!!";
    };
    if ($name == "root" || $pw == "admin")
    {
    echo "Du bist als Admin eingeloggt!!<br>";
    echo "Hier kannst du nun deine News eintragen.<br>";
    include ("news_eintragen.html");
    }
    else
    {
    echo "Das PW war falsch!!!";
    };
    ?>

    3. news_eintragen.html

    <!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>News_eintragen</title>
    <meta name="author" content="Prinz Porno">
    </head>
    <body>
    <form method="post" action="news_eintragen.php">
    News:<br>
    <textarea name="news" cols="50" rows="30">
    <html>
    <body>
    <b>Dein Newstitel</b><br>
    Deine News<br>
    F?r nen Zeilenumbruch immer: <br>
    verwenden!!
    <bR><br>
    mfG<br><bR>
    Dein Name<br><br>
    </body>
    </html></textarea>

    <INPUT TYPE="submit" VALUE="Eintragen">
    </form>

    </body>
    </html>

    4. news_eintragen.php

    <?
    session_start();
    $news = $_POST['news'];

    if ($news == "")
    {
    echo "Du hast keine News eingetragen!!";
    }
    else
    {

    $fp = fopen ("news.html","w");
    fwrite($fp,$news,9999999999999999);
    fclose($fp);
    echo "Die News wurden erfolgreich eingetragen!!<br><br><br>";
    echo "So sieht dein Newsletter jetzt aus:<br><br>";
    include ("news_anzeigen.php");

    }

    ?>



    5. news.html (hier werden die news gespeichert)
    (die ist leer, weil die html tags gleich mit eingef?gt werden.)

    6. news_anzeigen.php

    <?
    echo "News:<br><br>";
    include ("news.html");
    ?>

    w?re nett wenn mir jemand helfen k?nnte!!

    mfg

  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. c*********c

    Wenn ich Dich richtig verstehe, willst Du diesen Teil ersetzen:


    4. news_eintragen.php

    <?
    session_start();
    $news = $_POST['news'];

    if ($news == "")
    {
    echo "Du hast keine News eingetragen!!";
    }
    else
    {

    $fp = fopen ("news.html","w");
    fwrite($fp,$news,9999999999999999);
    fclose($fp);
    echo "Die News wurden erfolgreich eingetragen!!<br><br><br>";
    echo "So sieht dein Newsletter jetzt aus:<br><br>";
    include ("news_anzeigen.php");

    }

    ?>



    Wenn ja, dann mach das so:


    connect.inc.php


    <?

    mysql_connect("mysql.lima-city.de","User","passwort") or die ("Es konnte keine Verbindung zur Datenbank hergestellt werden!");

    mysql_select_db("DBxxxxxxxxxxxxxxxxxxxxxxxxxx") or die ("Datenbank wurde nicht gefunden!");

    ?>




    News Eintragen:


    <?
    session_start();


    include ("connect.inc.php");

    $news = $_POST['news'];

    if ($news == "")
    {
    echo "Du hast keine News eingetragen!!";
    }
    else
    {

    $sql = "INSERT INTO tabelle (news) VALUES ('$news')";
    $result = mysql_query($sql);


    echo "Die News wurden erfolgreich eingetragen!!<br><br><br>";
    echo "So sieht dein Newsletter jetzt aus:<br><br>";
    include ("news_anzeigen.php");

    }

    ?>


    So, das sollte so funktionieren!
  4. Autor dieses Themas

    p****7

    allerdings m?ssten die daten nun noch aus der datenbank geholt werden...
    wie geht das??
    dazu m?sste ich ja die news_anzeigen.php ?ndern....
    kann mir ja noch jemand helfen??

    ps: thx compactdisc

    mfg
  5. Autor dieses Themas

    p****7

    hallo??
    wie kann ich die news nun wieder aus der datenbank holen un in der news_anzeigen.php anzeigen lassen??:confused::confused::confused:
    bitte helft mir!!!
  6. c*********c

    news_versenden.php


    <?

    include("connect.inc.php");

    $sql = "SELECT * FROM email";
    $result = mysql_query($sql);

    while($row = mysql_fetch_array($result))
    {
    $email = $row['email'];
    $news = $row['news'];
    $titel = $row['titel'];

    mail($email,$titel,$news,"From: absender <absender@example.com>");

    }

    ?>


    so sollte es funktionieren!
  7. Autor dieses Themas

    p****7

    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/webpages/lima-city/prinz7/html/News/news_versenden.php on line 8

    das wird da angezeigt!! :confused:

    aber danke dass du so was geschrieben hast aber ich habe ja eine datei:
    news_anzeigen.php die news sollen dort angezeigt werden!! w?re das m?glich??

    mfg
  8. c*********c


    aber danke dass du so was geschrieben hast aber ich habe ja eine datei:
    news_anzeigen.php die news sollen dort angezeigt werden!! w?re das m?glich??


    news_anzeigen.php

    <?

    include("connect.inc.php");

    $sql = "SELECT * FROM deineTabelle ORDER by ID DESC";
    $result = mysql_query($sql);

    while($row = mysql_fetch_array($result))
    {
    $news = $row['news'];
    // usw.

    echo "News: $news<br>";

    }

    ?>


    Was wichtig ist:
    1. Wie heisst Deine Tabelle?
    2. Wie heissen die Spalten in der Tabelle?
    3. Hast Du schon eine connect.inc.php-Datei?


  9. Autor dieses Themas

    p****7

    mmh muss ich erst eine tabelle erstellen. wie viele spalten brauch ich?? un wie soll ich sie benennen... un ich bracuh noch die funktioenen!...
  10. c*********c

    id,news,titel,versendet,timestamp,autor <--- das sollte reichen!
  11. Autor dieses Themas

    p****7

    was sollen die tabellen f?r eigenschaften haben??
    ID:
    TYP?
    L?ng?
    Attribute?
    News:
    TYP?
    L?ng?
    Attribute?
    Titel:
    TYP?
    L?ng?
    Attribute?
    versendet:
    TYP?
    L?ng?
    Attribute?
    timestap:
    TYP?
    L?ng?
    Attribute?
    autor:
    TYP?
    L?ng?
    Attribute?

    mfg
  12. c*********c

    so, mach mal das hier:

    CREATE TABLE `news` (
    `id` INT UNSIGNED NOT NULL AUTO_INCREMENT ,
    `news` TEXT NOT NULL ,
    `titel` TEXT NOT NULL ,
    `versendet` INT DEFAULT '0' NOT NULL ,
    `timestamp` TEXT NOT NULL ,
    `autor` TEXT NOT NULL ,
    PRIMARY KEY ( `id` )
    );
  13. Autor dieses Themas

    p****7

    ist erledigt und nun??
  14. c*********c

    news_anzeigen.php


    <?

    include("connect.inc.php");

    $sql = "SELECT * FROM news ORDER by id DESC";
    $result = mysql_query($sql);

    while($row = mysql_fetch_array($result))
    {
    $news = $row['news'];
    $titel = $row['titel'];
    $autor = $row['autor'];
    $versendet = $row['versendet'];


    echo "Titel: $titel<br>Autor: $autor<br>Versendet: $versendet<br>News: $news<br><br><br>";

    }

    ?>

    Falls ein bestimmter Eintrag in der Datenbank schon mal versandt worden ist, dann ist $versendet = 1, ansonsten 0




    --------------------------------

    Du brauchst noch eine E-mail-Tabelle, damit man auch die Leute, die E-mails erhalten sollen, dort eingetragen werden!


    CREATE TABLE `email` (
    `id` INT UNSIGNED NOT NULL AUTO_INCREMENT ,
    `name` TEXT NOT NULL ,
    `email` TEXT NOT NULL ,
    PRIMARY KEY ( `id` )
    );



    news_versenden.php


    <?

    include("connect.inc.php");

    $id = 1 // ID der News, die gesendet werden sollen!


    $sql = "SELECT * FROM email";
    $result = mysql_query($sql);

    $sql2 = "SELECT * FROM news WHERE id='$id'";
    $result2 = mysql_query($sql2);

    while($row = mysql_fetch_array($result2))
    {
    $news = $row['news'];
    $titel = $row['titel'];
    $versendet = $row['versendet'];
    $autor = $row['autor'];

    if($versendet == 0)
    {
    while($zeile = mysql_fetch_array($result))
    {
    $email = $zeile['email'];
    mail($email,$titel,$news,"From: $autor <absender@example.com>");
    }
    }
    else
    {
    echo "News wurde bereits versandt!";
    }


    }

    ?>



    So, versuch das mal!
  15. Autor dieses Themas

    p****7

    thx aber ich wollte eigentlich dass die news nicht per mail versendet werden sondern in meinem newsbereich angezeigt werden...
  16. c*********c



    prinz7 schrieb:
    thx aber ich wollte eigentlich dass die news nicht per mail versendet werden sondern in meinem newsbereich angezeigt werden...


    aha....

    <?

    include("connect.inc.php");

    $anzahl = 15; // Anzahl News, die angezeigt werden sollen!

    $sql2 = "SELECT * FROM news LIMIT 0,$anzahl";
    $result2 = mysql_query($sql2);

    while($row = mysql_fetch_array($result2))
    {
    $news = $row['news'];
    $titel = $row['titel'];
    $autor = $row['autor'];

    echo "$titel<br>Autor: $autor<br>Text:<br>$news";


    }

    ?>
  17. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!