Simon: Dringende Hiillffee bei meinem CMS

Hallo miteinander,

Ich habe ein kleines Problem. Ich habe eigentlich keine wirkliche Ahnung von PHP, und programmiere darum aus einem Tutorial heraus. Nur habe ich jetzt ein kleines Problem;Alles scheint zu funktionieren, nur wenn ich etwas speichern will, so speichert er nichts, oder die ansichts Seite hat ein problem, aber das glaube ich nicht.

Auf der Seite speichern.php gibt das tutorial ein $t= mysql..blabla an. ich sehe aber nicht ein, wo dieses sich auflösen würde. Ich wäre froh um jegliche hilfe. Die seiten hänge ich unten an:

//artikel_eingeben.php//

<?php error_reporting(0); $id = $_GET["id"]; include("include.php"); if($id != "") { $sql="SELECT id, funktion, kategorie, start, ueberschrift, region, anforderung, sprachen, beschrieb, nummer FROM stellen WHERE id=" . mysql_escape_string($id); $result=mysql_query($sql); $row=mysql_fetch_array ($result); } ?> <html> <head> <title>Artikel eingeben</title> <link rel="StyleSheet" type="text/css" href=style.css /> </head> <body> <form action="speichern.php" method="get"> <table border="0" border="1" class="xmpcode" cellpadding="3"> <tr>   <td><b>Ref. Nummer</b></td>   <td>   <input name="nummer" type="text" maxlength="10"   size="10" value="<?php echo $row[9] ?>" />   </td> </tr> <tr>   <td><b>Funktion</b></td>   <td>   <input name="funktion" type="text" maxlength="25"   size="25" value="<?php echo $row[1] ?>" />   </td> </tr> <tr>   <td><b>kategorie</b></td>   <td>   <select name="kategorie">   <?php   $resultss = mysql_query   ("SELECT Name, ID FROM kategorie WHERE ID= $row[2]");    while ($rowss = mysql_fetch_object ($resultss))     {      echo "<option selected value=";     echo $rowss -> ID;     echo '">';      echo $rowss -> Name;     echo "</option>";     }     $result = mysql_query("SELECT Name, ID FROM kategorie");     $menge = mysql_num_rows($result);     while($rows = mysql_fetch_row($result))      {      echo '<option value=';      echo $rows[1];      echo ">";      echo $rows[0];      echo "</option>";     }?>     </select>     </td> </tr> <tr>   <td><b>Start</b></td>   <td>   <input name="start" type="text" maxlength="15"   size="15" value="<?php echo $row[3] ?>" />   </td> </tr> <tr>   <td><b>&Uuml;berschrift</b></td>   <td>   <textarea name="&uuml;berschrift" cols="50" rows="4">   <?php echo $row[4] ?>   </textarea>   </td> </tr> <tr>   <td><b>Region</b></td>   <td>   <input name="region" type="text" maxlength="30"   size="30" value="<?php echo $row[5] ?>" />   </td> </tr> <tr>   <td><b>Anforderungen</b></td>   <td>   <textarea name="Anforderung" cols="50" rows="4">   <?php echo $row[6] ?>   </textarea>   </td> </tr> <tr>   <td><b>Sprachen</b></td>   <td>   <input name="sprachen" type="text" maxlength="35"   size="35" value="<?php echo $row[7] ?>" />   </td> </tr> <tr>   <td><b>Beschreibung</b></td>   <td>   <textarea name="beschrieb" cols="50" rows="8">   <?php echo $row[8] ?>   </textarea>   </td> </tr> </table> <br /> <input type="hidden" name=id value="<?php echo $id ?>" /> <input type="submit" value="Inserat speichern" /> </form> </body> </html>

//speichern.php//

<?php error_reporting(0); $funktion = $_GET["funktion"]; $kategorie = $_GET["kategorie"]; $start = $_GET["start"]; $bemerkung = $_GET["ueberschrift"]; $region = $_GET["region"]; $anforderung = $_GET["anforderung"]; $sprachen = $_GET["sprachen"]; $beschrieb = $_GET["nummer"]; $id = $_GET["id"]; include("include.php"); $sql = "SELECT * FROM stellen"; $result=mysql_query($sql); if($id == "") { $sql="INSERT INTO stellen (funktion, kategorie, start, ueberschrift, region, anforderung, sprachen, beschrieb, nummer) VALUES('" . $funktion . "', '" . $kategorie . "', '" . $start . "', '" . $ueberschrift . "', '" . $region . "', '" . $anforderung . "', '" . $sprachen . "', '" . $beschrieb . "', '" . $nummer . "')"; } else { $sql="UPDATE stellen SET funktion='" . $funktion . "', kategorie='" . $kategorie . "', start='" . $start . "', ueberschrift='" . $ueberschrift . "', region='" . $region . "', anforderung='" . $anforderung . "', sprachen='" . $sprachen . "', beschrieb='" . $beschrieb . "', nummer='" . $nummer . "' WHERE ID=" .mysql_escape_string($id); } $t=mysql_query($sql); ?> <html> <head> <link rel="StyleSheet" type="text/css" href="style.css" /> <title>speichern</title> </head> <body> <h2>Artikel-Vorschau</h2> <?php if($id == " ") {   echo '<a href="artikel.php">Inserat &auml;ndern</a>';   }   else   {   ?>   <a href="artikel.php?id=<?php echo $id ?>">   Inserat speichern</a>   <?php   }   ?>   <h2><?php echo $nummer ?></h2>   <h4><?php echo $ueberschrift ?></h4>   <div><?php echo $kategorie ?></div>   <div><?php echo $funktion ?></div>   <div><?php echo $start ?></div>   <div><?php echo $region ?></div>   <div><?php echo $anforderung ?></div>   <div><?php echo $sprachen ?></div>   <div><?php echo $beschrieb ?></div>   <p></p> <br> <br> </body> </html>

//artikel_eingeben.php//

<?php error_reporting(0); $id = $_GET["id"]; include("include.php"); if($id != "") { $sql="SELECT id, funktion, kategorie, start, ueberschrift, region, anforderung, sprachen, beschrieb, nummer FROM stellen WHERE id=" . mysql_escape_string($id); $result=mysql_query($sql); $row=mysql_fetch_array ($result); } ?> <html> <head> <title>Artikel eingeben</title> <link rel="StyleSheet" type="text/css" href=style.css /> </head> <body> <form action="speichern.php" method="get"> <table border="0" border="1" class="xmpcode" cellpadding="3"> <tr>   <td><b>Ref. Nummer</b></td>   <td>   <input name="nummer" type="text" maxlength="10"   size="10" value="<?php echo $row[9] ?>" />   </td> </tr> <tr>   <td><b>Funktion</b></td>   <td>   <input name="funktion" type="text" maxlength="25"   size="25" value="<?php echo $row[1] ?>" />   </td> </tr> <tr>   <td><b>kategorie</b></td>   <td>   <select name="kategorie">   <?php   $resultss = mysql_query   ("SELECT Name, ID FROM kategorie WHERE ID= $row[2]");    while ($rowss = mysql_fetch_object ($resultss))     {      echo "<option selected value=";     echo $rowss -> ID;     echo '">';      echo $rowss -> Name;     echo "</option>";     }     $result = mysql_query("SELECT Name, ID FROM kategorie");     $menge = mysql_num_rows($result);     while($rows = mysql_fetch_row($result))      {      echo '<option value=';      echo $rows[1];      echo ">";      echo $rows[0];      echo "</option>";     }?>     </select>     </td> </tr> <tr>   <td><b>Start</b></td>   <td>   <input name="start" type="text" maxlength="15"   size="15" value="<?php echo $row[3] ?>" />   </td> </tr> <tr>   <td><b>&Uuml;berschrift</b></td>   <td>   <textarea name="&uuml;berschrift" cols="50" rows="4">   <?php echo $row[4] ?>   </textarea>   </td> </tr> <tr>   <td><b>Region</b></td>   <td>   <input name="region" type="text" maxlength="30"   size="30" value="<?php echo $row[5] ?>" />   </td> </tr> <tr>   <td><b>Anforderungen</b></td>   <td>   <textarea name="Anforderung" cols="50" rows="4">   <?php echo $row[6] ?>   </textarea>   </td> </tr> <tr>   <td><b>Sprachen</b></td>   <td>   <input name="sprachen" type="text" maxlength="35"   size="35" value="<?php echo $row[7] ?>" />   </td> </tr> <tr>   <td><b>Beschreibung</b></td>   <td>   <textarea name="beschrieb" cols="50" rows="8">   <?php echo $row[8] ?>   </textarea>   </td> </tr> </table> <br /> <input type="hidden" name=id value="<?php echo $id ?>" /> <input type="submit" value="Inserat speichern" /> </form> </body> </html>

Ich hofe das wäre genügend und dass mir jemand hiet helfen kann, denn ich komme mit meinen geringen Kenntnissen nicht weiter.

Freue mich euf eure Antwort und danke im Voraus,

Gruss Simon

  1. Hallo!

    Wie sieht denn der Quelltext der include.php aus? Falls da nicht die Verbindung zur Datenbank aufgebaut wird, liegt's daran.

    Nico

    1. Hallo!

      Wie sieht denn der Quelltext der include.php aus? Falls da nicht die Verbindung zur Datenbank aufgebaut wird, liegt's daran.

      Nico

      Hallo Nico,

      die include datei sieht folgendermassen aus.

      //include.php//

      <?php
      $server="localhost";
      $user="root";
      $password="";
      $dbname="cms";
      $verbindung=@mysql_pconnect($server, $user, $password);
      if(!$verbindung)
      {
      die("Es konnte keine verbindung zum Server aufgebaut werden!");
      }
      if (!mysql_select_db($dbname))
      {
      die("Die Datenbank ist nicht vorhanden!");
      }
      ?>

      Ich hofe das kann weiterhalfen. Es tut mir leid, diese Frage so "blöde" ins Forum zu stellen, aber leider gehts nicht anders, da ichunter ein wenig Zeitdruck stehe.

      Danke aber nochmals für deine Hilfe

      1. Hi

        $verbindung=@mysql_pconnect($server, $user, $password);

        mysql_pconnect funktioniert nur bei PHP als Modul. Entspricht dies Deiner Webserverkonfiguration?

        siehe auch: http://www.phpcenter.de/de-html-manual/function.mysql-pconnect.html

        1. Hi,

          Ja, ich habe easyphp installiert.

          Für das CMS habe ich noch eine seite um Kategorien hinzu zufügen,
          und funktioniert, sprich auf der Artikel_eingabe seite erscheinen die Kategorien danach im drop down field.

      2. hi,

        Es tut mir leid, diese Frage so "blöde" ins Forum zu stellen, aber leider gehts nicht anders, da ichunter ein wenig Zeitdruck stehe.

        das, in kombination mit "wenig ahnung", sind natürlich der beste nährboden für grobe fehler.

        gruß,
        wahsaga

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }
  2. hi,

    Auf der Seite speichern.php gibt das tutorial ein $t= mysql..blabla an.
    ich sehe aber nicht ein, wo dieses sich auflösen würde.

    was meinst du damit?
    ist dir klar, wozu die mysql_-funktionen gut sind?

    [ca. zehn meter weiter unten]
    Ich hofe das wäre genügend

    nein, es ist weit mehr als "genügend".

    schau dir mal </faq/#Q-07c> an. da ist von dem für das problem _relevanten_ teil des quellcodes die rede - und nicht davon, dass du einfach _alles_ hier ablädst.

    wenn du nicht weißt, was in etwa relevant sein könnte - dann vertiefe bitte zunächst deine grundkentnisse in den von dir verwendeten techniken, _bevor_ du dich an etwas vergleichbar komplexes wie die programmierung eines "CMS" heranwagst.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
  3. Hi Simon,

    Ich habe ein kleines Problem. Ich habe eigentlich keine wirkliche Ahnung von PHP, und programmiere darum aus einem Tutorial heraus.

    Willst du nicht lieber jemanden mit der Arbeit beauftragen, der Ahnung davon hat? Oder nutze doch ein fertiges CMS - es gibt da etliche kostenlose Angebote.

    Nur habe ich jetzt ein kleines Problem;Alles scheint zu funktionieren, nur wenn ich etwas speichern will, so speichert er nichts, oder die ansichts Seite hat ein problem, aber das glaube ich nicht.

    error_reporting(0);

    Wie kommst du denn auf die mit Verlaub blöde Idee sämtliche Fehlermeldungen zum Entwickeln abzuschalten? Nutze error_reporting(E_ALL).

    $id = $_GET["id"];
    include("include.php");

    In dieser Datei kann verdammt viel drin stehen, von dem wir nichts wissen...

    $sql="SELECT id, funktion, kategorie, start, ueberschrift, region, anforderung, sprachen, beschrieb, nummer FROM stellen WHERE id=" . mysql_escape_string($id);

    Da fehlt am Ende auf jeden Fall noch mal ein " im String.

    $result=mysql_query($sql);

    Warum willst du dir keine MySQL Fehlermeldungen ausgeben lassen? Nutze:

    $result = mysql_query($sql) OR die(mysql_error());

    Ich hofe das wäre genügend ...

    Nein, ich hätte gerne noch 1000 Zeilen mehr! =)

    ... und dass mir jemand hiet helfen kann, denn ich komme mit meinen geringen Kenntnissen nicht weiter

    Als erste Anlaufstelle sollte natürlich immer das PHP Manual gelten. Du kannst es uns hier wirklich nicht zumuten, den ganzen Quellcode alles durchzuschauen. Lerne den Code auf das wesentliche zu reduzieren, schalte Fehlermeldugen ein, gehe Fehlermeldungen nach und wenn du dann noch Probleme hast, kannst du hier gerne nochmal posten.

    MfG, Dennis.

    --
    Mein SelfCode: ie:{ fl:( br:> va:) ls:[ fo:) rl:( n4:# ss:) de:] js:| ch:{ sh:( mo:} zu:|
    Den Selfcode kann man sich übrigends hier entschlüsseln lassen:
    http://www.peter.in-berlin.de/projekte/selfcode/