Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 15

Thema: Newsscript edit funk. [anfänger]

  1. #1
    Youngster
    Registriert seit
    17.06.2009
    Beiträge
    15
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard Newsscript edit funk. [anfänger]

    Hallo zusammen^^
    also ich lese mich grad ein bissien in PhP ein und versuche mit hilfe eines ebooks ein kleines newsscript zu machen.

    news adden und löschen hab ich hinbekommen aber leider hängts editieren.
    wenn ich auf die edit seite gehe zeigts mir das formular zwar an aber zeigt mir nicht den eintrag zum editieren.
    Code:
    <?php
    require_once ('conf.php'); 
    $db_link = @mysql_connect (MYSQL_HOST, MYSQL_BENUTZER, MYSQL_KENNWORT); 
    if ( ! $db_link ) { 
    die('keine Verbindung zur Zeit möglich - später probieren '); 
    }
    $db_sel = mysql_select_db( MYSQL_DATENBANK ) or die("Auswahl der Datenbank fehlgeschlagen");
    //
    function anzeige_daten_zum_bearbeiten ($id) { 
    $sql = " SELECT * FROM news WHERE id = '$id' "; 
    $db_erg = mysql_query( $sql ); 
    if ( ! $db_erg ) { 
    die('Ungültige Abfrage: ' . mysql_error()); 
    } 
    $zeile = mysql_fetch_array( $db_erg, MYSQL_ASSOC); 
    echo '<form name="" action="" method="POST" enctype="text/html">'; 
    echo '<p>Autor:<br />'; 
    echo '<input type="text" name="name" value="'; 
    echo $daten['name']; 
    echo '" size="10" maxlength="10" />'; 
    echo '</p>'; 
    echo '<p>Titel:<br />'; 
    echo '<input type="text" name="email" value="'; 
    echo $daten['email']; 
    echo '" size="50" maxlength="255" />'; 
    echo '</p>'; 
    echo '<p>Text:<br />'; 
    echo '<textarea name="eintrag" rows="10" cols="80">'; 
    echo $daten['eintrag']; 
    echo '</textarea></p>'; 
    echo '<input type="hidden" name="id" value="'; 
    echo $daten['id']; 
    echo '" />'; 
    echo '<input type="hidden" name="vorgang" value="update" />'; 
    echo '<input type="Submit" name="" value="&Auml;nderungen speichern" />'; 
    echo '</form>'; 
    echo '<hr />'; 
    } 
    if ( $_POST['vorgang'] == 'update' ) { update_daten ( $_POST['daten'] ); }
    // Daten updaten 
    function update_daten ( $daten ) { 
    // hier sollte noch eine Validierung des Datums stattfinden
    $sql = "UPDATE news SET 
    `name` = '". $daten['name'] ."', 
    `email` = '". $daten['email'] ."',  
    `eintrag` = '". $daten['eintrag'] ."'
    WHERE id = '". $daten['id'] ."' "; 
    //
    //
    $db_erg = mysql_query( $sql ); 
    if ( ! $db_erg ) { die("Ungültige Abfrage: $sql <hr />" . mysql_error()); 
    } else { 
    echo "<h2>News updatet</h2>"; 
    } 
    }
    // Daten zum Ändern anzeigen 
    if ( $_GET['vorgang'] == 'aendern' AND $_POST['vorgang'] <> 'update' ) { anzeige_daten_zum_bearbeiten ( $_GET['id'] ); }
    ?>
    <body style="color: #FFFFFF; background-color: #000000">
    auf die seite komm ich über einen link -> Team%20Divinity/adm/newsedit.php?vorgang=aendern&id=58 also die ID steht im oberen link.

    kann mir da jemand helfen?
    wenn ich so was eingebe und auf speichern drücke steht da zwar News updatet aber weder auf der HP noch in der mysql db ist geändert ^^
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    König(in) Avatar von crAzywuLf
    Registriert seit
    03.02.2009
    Beiträge
    1.175
    Danke
    1
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Newsscript edit funk. [anfänger]

    Diese Zeile:
    PHP-Code:
    if ( $_POST['vorgang'] == 'update' ) { update_daten $_POST['daten'] ); } 
    sieht so aus als müsste sie noch innerhalb dieser Funktion sein, also quasi so:
    PHP-Code:
    function anzeige_daten_zum_bearbeiten ($id)

        
    $sql " SELECT * FROM news WHERE id = '$id' "
        
    $db_erg mysql_query$sql ); 
        if ( ! 
    $db_erg 
        { 
            die(
    'Ungültige Abfrage: ' mysql_error()); 
        } 
        
    $zeile mysql_fetch_array$db_ergMYSQL_ASSOC); 
        echo 
    '<form name="" action="" method="POST" enctype="text/html">'
        echo 
    '<p>Autor:<br />'
        echo 
    '<input type="text" name="name" value="'
        echo 
    $daten['name']; 
        echo 
    '" size="10" maxlength="10" />'
        echo 
    '</p>'
        echo 
    '<p>Titel:<br />'
        echo 
    '<input type="text" name="email" value="'
        echo 
    $daten['email']; 
        echo 
    '" size="50" maxlength="255" />'
        echo 
    '</p>'
        echo 
    '<p>Text:<br />'
        echo 
    '<textarea name="eintrag" rows="10" cols="80">'
        echo 
    $daten['eintrag']; 
        echo 
    '</textarea></p>'
        echo 
    '<input type="hidden" name="id" value="'
        echo 
    $daten['id']; 
        echo 
    '" />'
        echo 
    '<input type="hidden" name="vorgang" value="update" />'
        echo 
    '<input type="Submit" name="" value="&Auml;nderungen speichern" />'
        echo 
    '</form>'
        echo 
    '<hr />'
        if ( 
    $_POST['vorgang'] == 'update' ) { update_daten $_POST['daten'] ); }

    Wieso benutzt du da überhaupt Funktionen?

    EDIT:
    Hä?
    Mal ganz davon abgesehen woher nimmst du das ass. Array "daten"?
    Vielleicht währe es sinnvoller erstmal den ganzen Code zu posten...
    Gruß crAzywuLf

  3. #3
    Unregistriert
    Gast

    Standard AW: Newsscript edit funk. [anfänger]

    hä?
    hatte ich eigdl xD
    also nochmal die edit datei:
    Code:
    <?php
    require_once ('conf.php'); 
    $db_link = @mysql_connect (MYSQL_HOST, MYSQL_BENUTZER, MYSQL_KENNWORT); 
    if ( ! $db_link ) { 
    die('keine Verbindung zur Zeit möglich - später probieren '); 
    }
    $db_sel = mysql_select_db( MYSQL_DATENBANK ) or die("Auswahl der Datenbank fehlgeschlagen");
    //
    function anzeige_daten_zum_bearbeiten ($id) { 
    $sql = " SELECT * FROM news WHERE id = '$id' "; 
    $db_erg = mysql_query( $sql ); 
    if ( ! $db_erg ) { 
    die('Ungültige Abfrage: ' . mysql_error()); 
    } 
    $zeile = mysql_fetch_array( $db_erg, MYSQL_ASSOC); 
    echo '<form name="" action="" method="POST" enctype="text/html">'; 
    echo '<p>Autor:<br />'; 
    echo '<input type="text" name="name" value="'; 
    echo $daten['name']; 
    echo '" size="10" maxlength="10" />'; 
    echo '</p>'; 
    echo '<p>Titel:<br />'; 
    echo '<input type="text" name="email" value="'; 
    echo $daten['email']; 
    echo '" size="50" maxlength="255" />'; 
    echo '</p>'; 
    echo '<p>Text:<br />'; 
    echo '<textarea name="eintrag" rows="10" cols="80">'; 
    echo $daten['eintrag']; 
    echo '</textarea></p>'; 
    echo '<input type="hidden" name="id" value="'; 
    echo $daten['id']; 
    echo '" />'; 
    echo '<input type="hidden" name="vorgang" value="update" />'; 
    echo '<input type="Submit" name="" value="&Auml;nderungen speichern" />'; 
    echo '</form>'; 
    echo '<hr />'; 
    } 
    if ( $_POST['vorgang'] == 'update' ) { update_daten ( $_POST['daten'] ); }
    // Daten updaten 
    function update_daten ( $daten ) { 
    // hier sollte noch eine Validierung des Datums stattfinden
    $sql = "UPDATE news SET 
    `name` = '". $daten['name'] ."', 
    `email` = '". $daten['email'] ."',  
    `eintrag` = '". $daten['eintrag'] ."'
    WHERE id = '". $daten['id'] ."' "; 
    //
    //
    $db_erg = mysql_query( $sql ); 
    if ( ! $db_erg ) { die("Ungültige Abfrage: $sql <hr />" . mysql_error()); 
    } else { 
    echo "<h2>News updatet</h2>"; 
    } 
    }
    // Daten zum Ändern anzeigen 
    if ( $_GET['vorgang'] == 'aendern' AND $_POST['vorgang'] <> 'update' ) { anzeige_daten_zum_bearbeiten ( $_GET['id'] ); }
    ?>
    und von dieser datei komm ich zum edit script^^:
    Code:
    <?php 
    require_once ('conf.php'); 
    // Daten zum Ändern anzeigen 
    if ( $_GET['vorgang'] == 'aendern' ) { anzeige_daten_zum_bearbeiten ( $_GET['id'] ); }
    $db_link = @mysql_connect (MYSQL_HOST, MYSQL_BENUTZER, MYSQL_KENNWORT); 
    // Nutzen von Datenbank (Name ist hinterlegt in Konstante MYSQL_DATENBANK 
    $db_sel = mysql_select_db( MYSQL_DATENBANK ) or die("Auswahl der Datenbank fehlgeschlagen"); 
    $sql = " SELECT * FROM news "; 
    $db_erg = mysql_query( $sql ); 
    if ( ! $db_erg ) { die('Ungültige Abfrage: ' . mysql_error()); 
    } 
    while ($daten = mysql_fetch_array( $db_erg, MYSQL_ASSOC)) { 
    // Aushabe der Daten 
    echo '
    <table class="style1" style="width: 100%">
    	<tr>
    		<td class="style3"><strong>Titel: '.$daten['email'].'</strong></td>
    		<td class="style5">Autor: '.$daten['name'].' - '.$daten['datum'].'</td>
    		<td class="style5"><a href="newsdel.php?id='. $daten['id'] .'">delete</a></td>
    		<td class="style5"><a href="newsedit.php?vorgang=aendern&id='. $daten['id'] .'">edit</a></td> 
    	</tr>
    </table>';
    echo '<p class="style4">Text: '.$daten['eintrag'].' </p>';
    echo '</br>'; 
    echo '</br>'; 
    }
    echo "</table>"; 
    mysql_free_result( $db_erg ); 
    ?>
    hoffe nu is alles da xD

    sry nochmal^^
    und danke für deine antwort *gg

  4. #4
    Youngster
    Themenstarter

    Registriert seit
    17.06.2009
    Beiträge
    15
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Newsscript edit funk. [anfänger]

    ups sry war von mir.
    vergessn einzuloggen.

    <.<

    @mod kannst du das in diesen beitrag reinpacken? xD
    doppelposts stinken <.<

    danköö

  5. #5
    Pion
    Gast

    Standard AW: Newsscript edit funk. [anfänger]

    Sagt mal weil mir das wieder auffällt vor allem macht ja auch http://tut.php-quake.net/de/guestbook.html das so, für jede neue Zeile ein echo , finde ich sowas von unsinnvoll?

    mfg

  6. #6
    Youngster
    Themenstarter

    Registriert seit
    17.06.2009
    Beiträge
    15
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Newsscript edit funk. [anfänger]

    wie gesagt ich lern das grad aus sonem anfänger ebook.
    aber werd aus dem edit nicht schlau deswegen frag ich ja hier^^

  7. #7
    König(in) Avatar von crAzywuLf
    Registriert seit
    03.02.2009
    Beiträge
    1.175
    Danke
    1
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Newsscript edit funk. [anfänger]

    Also ich hab mal alles zusammengeworfen, ist zwar nicht gestestet, aber schau mal ob es jetzt vll klappt:
    PHP-Code:
    <?php 
    require_once ('conf.php'); 
    $db_link = @mysql_connect (MYSQL_HOSTMYSQL_BENUTZERMYSQL_KENNWORT);
    $db_sel mysql_select_dbMYSQL_DATENBANK ) or die("Auswahl der Datenbank fehlgeschlagen");

    if (
    $_GET['vorgang'] == 'aendern' || $_POST['vorgang'] == 'update')
    {
        if (
    $_POST['vorgang'] == 'update')
        {
    //
    // News Eintrag updaten
    //
            
    $daten $_POST;
            
    // Daten updaten 
            
            // hier sollte noch eine Validierung des Datums stattfinden ??? hä
            
    $db_erg mysql_query("UPDATE `news` SET `name` = '"$daten['name'] ."', `email` = '"$daten['email'] ."', `eintrag` = '"$daten['eintrag'] ."' WHERE `id` = '". (int) $daten['id'] ."'"); 
            if (!
    $db_erg)
            {
                die(
    "Ungültige Abfrage: " mysql_error());
            }
            else
            { 
                echo 
    "<h2>News updatet</h2>"
            }
            
    mysql_free_result($db_erg);
            unset(
    $daten);
        }

    //
    // News Eintrag anzeigen zum editieren
    //
        
    $id $_GET['id'];
        
    $db_erg mysql_query("SELECT * FROM `news` WHERE `id` = '" . (int) $id "'"); 
        if (!
    $db_erg) die('Ungültige Abfrage: ' mysql_error()); 
        
    $news_eintrag mysql_fetch_array($db_ergMYSQL_ASSOC);
        echo 
    '
    <form action="newsedit.php" method="POST"> 
    <p>
        Autor:<br /> 
        <input type="text" name="name" value="' 
    $news_eintrag['name'] . '" size="10" maxlength="10" />
    </p> 
    <p>
        Titel:<br /> 
        <input type="text" name="email" value="' 
    $news_eintrag['email'] . '" size="50" maxlength="255" />
    </p>
    <p>
        Text:<br />
        <textarea name="eintrag" rows="10" cols="80">' 
    $news_eintrag['eintrag'] . '</textarea>
    </p>
    <input type="hidden" name="id" value="' 
    $news_eintrag['id'] . '" /> 
    <input type="hidden" name="vorgang" value="update" />
    <input type="Submit" name="" value="&Auml;nderungen speichern" /> 
    </form> 
    <hr />'
    ;
        
    mysql_free_result($db_erg);
    }
    else
    {

    //
    // News anzeigen
    //
        
    $db_erg mysql_query("SELECT * FROM `news`"); 
        if (!
    $db_erg) die('Ungültige Abfrage: ' mysql_error());
        while (
    $daten mysql_fetch_array($db_ergMYSQL_ASSOC))
        { 
            
    // Aushabe der Daten 
            
    echo '
    <table class="style1" style="width: 100%">
        <tr>
            <td class="style3"><strong>Titel: ' 
    $daten['email'] . '</strong></td>
            <td class="style5">Autor: ' 
    $daten['name'] . ' - ' $daten['datum'] . '</td>
            <td class="style5"><a href="newsdel.php?id=' 
    $daten['id'] . '">delete</a></td>
            <td class="style5"><a href="newsedit.php?vorgang=aendern&id=' 
    $daten['id'] . '">edit</a></td> 
        </tr>
    </table>
    <p class="style4">Text: ' 
    $daten['eintrag'] . ' </p>
    <br/><br/>'
    ;
        }
        
    mysql_free_result($db_erg);
    }

    ?>
    währ halt die newsedit.php
    Gruß crAzywuLf

  8. #8
    Meister(in) Avatar von Afrael
    Registriert seit
    26.04.2009
    Ort
    NRW
    Alter
    26
    Beiträge
    313
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Newsscript edit funk. [anfänger]

    Da musst du die gesamten $daten validieren. mysql_error() an User auszugeben sollte man außerdem vermeiden.
    Information will frei verfügbar sein.

    Don't eat unpeeled hedgehogs.

  9. #9
    Youngster
    Themenstarter

    Registriert seit
    17.06.2009
    Beiträge
    15
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Newsscript edit funk. [anfänger]

    ja hehe^^
    das ist ja nur für mich um fehler zu sehen^^
    kommt danach raus.^^

    danke euch *gg

    Edit: Klappt wunderbar!!! Super danke xD"
    hätte aber nochne kleine frage^^
    Also mein Addscript funzt auch^^ aber wenn ich die add seite aufrufe, wird automatisch eine leere mysql zeile in die db eingetragen
    und ich weiss nit wie ich des beim aufrufen blocken kann

    PHP-Code:
    <!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 content="text/html; charset=utf-8" http-equiv="Content-Type" />
    <title>Ihr Name</title>
    </head>

    <body style="color: #FFFFFF; background-color: #000000">

    </body>

    </html>

    <form name="" action="<?php echo $_SERVER['PHP_SELF']; ?>
    method="POST" enctype="text/html"> 
    <p>Ihr Name:<br /> 
    <input type="text" name="name" value="" size="50" maxlength="150" /> 
    </p>
    <p>Titel:<br /> 
    <input type="text" name="email" value="" size="50" maxlength="150" /> 
    </p> 
    <p>Eintrag:<br /> 
    <textarea name="eintrag" rows="10" cols="50"></textarea> 
    </p> 


    <input type="Submit" name="" value="speichern" /> 
    </form>
      
    <?php 
    mysql_set_charset
    ('utf8');
    ///
    require_once ('conf.php');
    //
    if ( $_POST['eintrag'] != "" ) { 
    echo 
    "<h2>Eintrag speichern</h2>";


    //SQL COMMANDS
    $sql " INSERT INTO news "
    $sql .= " SET ";
    $sql .= " name ='"$_POST['name'] ."', "
    $sql .= " email ='"$_POST['email'] ."', "
    $sql .= " datum ='"date("Y-m-d H:i:s") ."', ";
    $sql .= " eintrag ='"$_POST['eintrag'] ."' ";

    echo 
    "<hr />SQL: $sql<hr />";
    $db_link = @mysql_connect (MYSQL_HOSTMYSQL_BENUTZERMYSQL_KENNWORT); 
    if ( ! 
    $db_link ) { 
    // hier sollte dann später dem Programmierer eine 
    // E-Mail mit dem Problem zukommen gelassen werden 
    // die Fehlermeldung für den Programmierer sollte
    // das Problem ausgeben mit: mysql_error() 
    die('keine Verbindung zur Zeit möglich - später probieren '); 
    }

    $db_sel mysql_select_dbMYSQL_DATENBANK ) or die("Auswahl der Datenbank fehlgeschlagen");
    // ausführen des mysql-Befehls 
    $db_erg mysql_query$sql ); 
    if ( ! 
    $db_erg ) { die('Ungültige Abfrage: ' mysql_error());
     }
     exit;
      
    ?>
    Geändert von JuSTAx (18.06.2009 um 15:36 Uhr)

  10. #10
    Forum Guru
    Registriert seit
    13.01.2005
    Ort
    Schweiz
    Beiträge
    5.240
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Newsscript edit funk. [anfänger]

    Du prüfst auch nicht, ob schon was eingegeben wurde. Dein Script wird also immer 2x ausgeführt: 1x beim Laden der Seite und 1x beim Speichern (= neuladen) der Seite. Prüfe also, ob das Formular überhaupt bearbeitet wurde, bevor du was speicherst:

    PHP-Code:
    <?php 
    if (isset($_POST))
    {
      
    mysql_set_charset('utf8');
      
    ///
      
    require_once ('conf.php');
      
    //
      
    if ( $_POST['eintrag'] != "" ) { 
      echo 
    "<h2>Eintrag speichern</h2>";
      } 
      
      
    //SQL COMMANDS
      
    $sql " INSERT INTO news "
      
    $sql .= " SET ";
      
    $sql .= " name ='"$_POST['name'] ."', "
      
    $sql .= " email ='"$_POST['email'] ."', "
      
    $sql .= " datum ='"date("Y-m-d H:i:s") ."', ";
      
    $sql .= " eintrag ='"$_POST['eintrag'] ."' ";
      
      echo 
    "<hr />SQL: $sql<hr />";
      
    $db_link = @mysql_connect (MYSQL_HOSTMYSQL_BENUTZERMYSQL_KENNWORT); 
      if ( ! 
    $db_link ) { 
      
    // hier sollte dann später dem Programmierer eine 
      // E-Mail mit dem Problem zukommen gelassen werden 
      // die Fehlermeldung für den Programmierer sollte
      // das Problem ausgeben mit: mysql_error() 
      
    die('keine Verbindung zur Zeit möglich - später probieren '); 
      }
      
      
    $db_sel mysql_select_dbMYSQL_DATENBANK ) or die("Auswahl der Datenbank fehlgeschlagen");
      
    // ausführen des mysql-Befehls 
      
    $db_erg mysql_query$sql ); 
      if ( ! 
    $db_erg ) { die('Ungültige Abfrage: ' mysql_error());
       }
       exit;
    }
      
    ?>
    Dein Script ist so übrigens etwa so unsicher wie irgend möglich. Ich hoffe du informierst dich zuerst über PHP Sicherheit bevor du sowas ins Internet stellst.

Ähnliche Themen

  1. Audio-Funk ?
    Von driver im Forum Off Topic und Quasselbox
    Antworten: 5
    Letzter Beitrag: 28.12.2007, 19:38
  2. Suche Audioprogramm für Sprachverzerung (Funk)
    Von Razor-Loki im Forum Computer - Internet Forum
    Antworten: 4
    Letzter Beitrag: 09.11.2007, 14:25
  3. Donau Funk 1 - sucht Mitarbeiter!
    Von RobertF im Forum Job Forum - Jobs für Grafiker, Programmierer und Webmaster
    Antworten: 0
    Letzter Beitrag: 27.09.2007, 13:19
  4. Registrierungs und Login Scribt Problem bin Anfänger(edit:1)
    Von Mr.IQ im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 0
    Letzter Beitrag: 20.12.2006, 14:09
  5. Feedback über [url]http://www.funk-design.de[/url]
    Von funk3107 im Forum Eure Homepages und Foren - Vorstellung und Bewertungen
    Antworten: 9
    Letzter Beitrag: 05.03.2004, 14:18

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •