Mit php in DB schreiben

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Mit php in DB schreiben

    Hallo Leute,
    ich habe folgendes Problem:

    Ich möchte für eine Page über ein Adminbereich news schreiben können.



    ich habe folgende Dateien:


    index.php:

    In der functioniert auch alles
    man wird dann weitergeleitet in die menu.php

    Code:
    <? 
    
       session_start (); 
    
       mysql_connect('*********', '*********','*********') or die(mysql_error());
       mysql_select_db('pretorium') OR die(mysql_error());
    
       if (isset($_POST['login'])) { 
    
          $username = $_POST['username'];
          $userpass = $_POST['userpass'];
    
          $abfrage = "SELECT * FROM user WHERE username = '$username' AND userpass = '$userpass'";
          $ergebnis = mysql_query($abfrage);
    
          if (mysql_num_rows($ergebnis) >= 1) {
             $data = mysql_fetch_array ($ergebnis);
             $_SESSION["userid"]   = $data["userid"];
             $_SESSION["username"] = $data["username"];
             $_SESSION["userpass"] = $data["userpass"];
    
             echo "<p align='center'>Der Login war erfolgreich<BR><a href='menu.php'>zum Menu</a></p>";
    
          }
          else {
             echo "<p align='center'>Login fehlgeschlagen!!<BR><a href='index.php'>zurück</a></p>";
          }
    
    /* KOMMENTAR
          while($row = mysql_fetch_object($ergebnis)) {
             echo $row->userid;
          }
    */
    
       } 
       else {
    
    ?>
    <html>
    <head>
    <title>Administrationsberich Pretorium.de (c) by Patrik Klein</title>
    <link rel="stylesheet" type="text/css" href="formatadmin.css">
    </head>
    <body>
    
    
    
    
    <table align='center'>
    <tr><td colspan='2' align='center'><h3>Pretorium Administration</h3></td></tr>
    <tr>
    <form method="post" action="index.php"> 
    <td>Benutzername:</td>
    <td><input name="username" type="text"></td>
    </tr>
    <tr>
    <td>Passwort:</td>
    <td><input name="userpass" type="password" id="userpass"></td>
    </tr>
    <tr>
    <td><input name="login" type="submit" id="login" value="Einloggen"></td>
    </tr>
    </form>
    </table> 
    
    
    </body>
    </html>
    
    <?
    
       }
    
    ?>

    Und die nun hier::

    menu.php
    Code:
    <? 
    
       session_start(); 
    
       $userid   = $_SESSION["userid"];
       $username = $_SESSION["username"];
       $userpass = $_SESSION["userpass"];
    
    ?>
    
    <html>
    <head>
    <title>Administrationsberich Pretorium.de (c) by Patrik Klein</title>
    <link rel="stylesheet" type="text/css" href="formatadmin.css">
    </head>
    <body>
    
    <?
    
       echo "
    
    <div align='center'><h2>Pretorium Administration</h2></div>
    
    <table align='center' width='70%'>
        
        <tr>
          <td>:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::</td>
        </tr>
        <tr>
          <td>Du bist als ".$username." eingeloggt</td>
        </tr>
        <tr>
          <td>:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::</td>
        </tr>
        <tr>
          <td><big>Menü:</big><br> <li><a href=\"?action=newsschreiben\">News Schreiben</a>
                    <li><a href=\"?action=gigshinzu\">Gig eintragen</a>
                    <li><a href=\"?action=gbedit\">Gaestebuch verwalten</a><br><hr><br>
        </td>
        </tr>
        <tr>
        <td>";
    
    ?>
    
    <?
    
    
       if (empty($action)) {
          include("menubild.php");
       } elseif (file_exists($action.".php")) {
          include($action.".php");
       } else {
          include("error.php");
       }
    
    ?>
    
    <?
    
    
      echo "
    
        </td>
        </tr>
        <tr>
          <td><br><hr><br></td>
        </tr>
    
        </tr>
        <tr>
          <td><a href='logout.php'>Logout</a></td>
        </tr>
      </table>   ";
    
    
    ?>
    
    <noframe></body></noframe>
    </html>

    In der Datei ist das menü in einer Tabelle aufgebaut
    der anzeigebereich includet die verschiedenen menü-seiten



    Dann hier die newsschreiben.php in der der eintrag in die DB erfolgen soll
    Code:
    <?
    
    echo "
       <table align='center' border='0'>
       <tr>
       <td>Bitte die News eintragen</td>
       </tr>
       </table>
    
      <form action='<?php $PHP_SELF?>' method='POST'>
    
      <table align='center'>
      <tr>
        <td>Überschrift:</td>
        <td><input type='text' name='betreff' size='92'></td>
      </tr>
      <tr>
        <td valign='top'>Haupttext:</td>
        <td><textarea name='text' size='30' rows='12' cols='70'></textarea></td>
      </tr>
      
      <tr>
        <td></td>
        <td><input name='Submit' type='submit' id='login' value='News Eintragen'>
    	<input name='Submit' type='reset' value='Formular leeren'></td>
      </tr>
    
      </table>
    
      </form>";
    
    $betreff=$_POST['betreff'];
    $text=$_POST['text'];
    
    if($betreff!=""&&$text!="")
    {
    
    $sqlrein="INSERT INTO news (`id_news`,`name`,`bereff`,`text`,`datum`) VALUES ('','$username','$betreff','$text','')";
    $mysqlqueryrein=mysql_query($sqlrein) or die(mysql_error());
    
    echo"<p align='center'>Die news wurden hinzugefügt!</p>";
    }
    
    ?>
    In der Datei ist das formular
    beim abschicken sollten die inhalte in die var. gschrieben werden
    weil ich ja <form action='<?php $PHP_SELF?>' method='POST'>
    geschrieben habe
    jatzt habe ich gemerkt, das ich ja immer in der menu.php bin und die daten somit an die menu.php schicke

    jetzt weiß ich nur nicht wie ich das machen soll

    versteht mich da jemand ??

    brauche echt hilfe

    thx im vorraus

  • #2
    Da bei dir register_globals aktiviert scheinen, steht wahrscheinlich auch allow_url_fopen auf on. Beides solltest du dringend auf off stellen!
    Und wenn du gerade dabei bist, dreh auch dein error_reporting auf E_ALL.

    Zu deiner Frage: Du könntest das Formular einfach an $_SERVER['PHP_SELF'].'?action='.$_GET['action'] senden. Dadurch würde die Datei mit dem Formular erneut includiert und kann die Daten verarbeiten.
    Aber dein eigentliches Problem ist das undurchdachte Applikation Design. Dagegen hilft am besten ein beherzter Neustart.

    Kommentar


    • #3
      Oh man,

      gut das ich das erste mal damit arbeite und noch wohl ein anfänger bin.
      Verstanden hab ich die Lösung mit dem neuen includieren schon aber es scheitert warscheinlich an der umsetztung.

      Also:

      Code:
      Du könntest das Formular einfach an $_SERVER['PHP_SELF'].'?action='.$_GET['action'] senden
      ?action='.$_GET['action']

      Die Var action beinhaltet dann was ?



      Naja ich versuch es mal .....

      Und was meinst du mit Neustart ??
      Soll ich alles erneut aufstellen und schreiben ?

      Kommentar


      • #4
        Da fehlen wohl absolute Grundlagen.

        PHP-Code:
        print_r($_GET
        hilft dir vielleicht. Aber generell solltest du wohl erst noch was nachlesen, bevor es an die Programmierung geht.

        Kommentar


        • #5
          Ja da magst du recht haben, aber man versucht sich ja halt indem man es mit so einem "projekt" angeht.

          Ich werde mich dann mal ran setzten und mich informieren.

          Aber vvielen dank erstmal.

          Und noch einen Guten Rutsch ins neue Jahr

          mfg
          klein

          Kommentar

          Lädt...
          X