Wichtige frage bezüglich Newsscript

  • Guten Tag alle miteinander.
    Ich bin grade erst neu dabei mit PHP und mySQL und wollte mal eine art "Newsscript" erstellen.
    Ich hab da erstmal eine: config.php erstellt:

    PHP
    <?php
    
        error_reporting(E_ALL);
    
    
        define('MYSQL_HOST',     'localhost');
        define('MYSQL_USER',     'root');
        define('MYSQL_PASS',     '');
        define('MYSQL_DATABASE', 'test');
    ?>


    Dann eine datei, für die Newserstellung:

    PHP
    <?php
        //BALBABLA
        error_reporting(E_ALL);
    
    
        define('MYSQL_HOST',     'localhost');
        define('MYSQL_USER',     'root');
        define('MYSQL_PASS',     '');
        define('MYSQL_DATABASE', 'test');
    ?>


    Und dann noch eine datei, zum auslesen:


    Jetz wollte ich, das ich halt die News, im Internet schreiben kann, und sie dort auch auslesen kann.
    Jetz muss icih sie halt immer in die Query reinschreiben, und "hochladen".
    Das soll aber aus dem Internet geschehen, desswegen habe ich diese Datei erstellt:


    Aber das klappt irgendwie nicht, das ich die aus dem Internet schreiben kann.
    Was könnte da falsch gelaufen sein?
    Ich bin totaler neu-anfänger, also bitte nicht lachen :P
    Ganz liebe grüße, und ich hoffe ihr könnt mir helfen.

  • na ja also nur das formular wird nicht reichen zeig uns lieber mal das script mit dem du das formular ausliest... also in die db einliest... da muss es doch eines geben... (connect.php) und hast du schon einen passwordschutz drinnen?

  • oops, ich hab nen Fehler gemacht.
    Also die connect.php ist die:


    Da erstell ich die news auch.
    Ich hab bloß ausversehn 2 mal die config.php kopiert.

  • habe mich auch schon gewundert als ich zweimal das gleiche gesehen habe... also der fehler ist denke ich da das in den variablen $titel, $inhalt, $author einfach nichts drinnen steht... ergänze mal vor $result folgendes:

    Code
    $Titel = $_POST['Titel']
    $Inhalt = $_POST['Inhalt']
    $Author = $_POST['Author']


    so jetzt müsste es gehen wenn du etwas in das formular einträgst..

  • Vielen dank, meinst du das so??
    Jetz:


    mit deiner hilfe:

    Richtig?

  • Hm, es klappt trotz deiner Hilfe nicht.
    Ich glaube, der Fehler liegt im Formular.
    Wenn ich dann auf Absenden drücke, passiert trotzdem nichts.
    Er speichert den Eintrag nicht in der Datenbank...
    Hier nochmal das Formular:
    :arrow:

  • ja ich weis auch warum ^^ du hast geschrieben

    Zitat

    <form action"connect.php" method="post">

    es muss aber heißen <form action ="connect.php" method="post">

  • So, weiterer Fehler.. ;)

    Zitat

    Verbindung wurde aufgebaut
    Die Datenbank wurde ausgewählt
    Konnte die MySQL-Abfrage nicht verarbeiten
    MySQL-Antwort:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''Siibbinato')' at line 7


    dieses "Siibbinato" habe ich als "Autor" eingetragen.
    Und at line 7 in der: connect.php steht:

    Code
    if(!@mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS)) {


    WO is da der Fehler??

  • <?php
    error_reporting(E_ALL);

    include 'config.php';


    if(!@mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS)) {
    die("Es konnte keine Verbindung aufgebaut werden");
    }

    echo "Verbindung wurde aufgebaut
    \n";

    if(!mysql_select_db(MYSQL_DATABASE)) {
    die("Konnte Datenbank nicht benutzen, Fehlermeldung: ".mysql_error());
    }

    echo "Die Datenbank wurde ausgewählt
    \n";


    $result = mysql_query("INSERT INTO News
    (Titel,Inhalt,Datum,Autor)
    VALUES
    ('$Titel',
    '$Inhalt',
    NOW(),
    '$Author')");
    if(!$result) {
    echo "Konnte die MySQL-Abfrage nicht verarbeiten
    \n";
    echo "MySQL-Antwort:".mysql_error();

    }
    else {
    echo "Die daten wurden in die Datenbank geschrieben
    \n";
    die();
    }

    ?>
    hasst nach NOW() das komma vergessen

  • Juhu, du bist ein Gott ;)
    okay ich hab bloß so ernst getan, weil mir sonst nie einer Antwortet.. ;)
    Naja trotzdem vielen dank für deiine hilfe!! ;)

  • Hi nochmal,
    das mit dem Eintragen und Ausgeben klappt jetz alles Wunderbar,
    doch jetzt stell ich mich einem Neuen Problem.
    Ich möchte gerne, das Neben meinem Eintrag ein Kleines X steht, wenn man auf das "X" klickt, soll er diesen eintrag löschen.
    Ich hab gelesen das man das mit

    SQL
    DELETE FROM
        News
    WHERE
        ...

    macht.
    Doch leider weiß ich nich, wo ich das bei meinem Script einbringen soll:


    Hoffe, ihr könnt mir nochmal helfen.

  • so also erstmal die einzelnen teile:

    [php:1:fa1c26c4e0]if(isset($_GET['action']) AND ($_GET['action'] == "del")) {
    $sql = "DELETE FROM

    news
    WHERE

    ID = '".$_GET['ID']."'
    ";
    mysql_query($sql) OR die(mysql_error());
    }

    ?>[/php:1:fa1c26c4e0]
    der X link:

    Code
    [url='deineseite.php?action=del&ID=$row['ID']']X[/url]

    so und jetzt baue ich das ganze mal zusammen in deinem code...

    so jetzt musst du nur noch bei deineseite.php die seite einfügen wie deine heißt also z.b. news.php denke ich mal...

    mfg cookie

  • Zitat


    Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in E:\apachefriends\xampp\htdocs\Test\Auslesen.php on line 36


    Line 36 =>

    Code
    [url='http://localhost/test/auslesen.php?action=del&ID=$row[']X[/url]</td>


    kannst du mir ma deine icq nr geben bitteß!?! :([/code]