Prob mit Newsscript

Headymaster

Erfahrenes Mitglied
Hallo!!

Ich bin momentan dabei...mein eigenes newsscript zu basteln.
Nur bin ich auf ein Prob gestoßen.....wofür ich einfach keine Antwort fand.

news/index.php:

PHP:
<?php
 // Benötigte Dateien includen
include("config/checkuser.php");

   // Verbindung zur Datenbank herstellen
   function dbconnect()
   {
    
     // benötigte Dateien
     include("config/sql.php");
     
     $connect = mysql_connect($dbserver, $dbuser, $dbpw) or die ("Es konnte keine Verbindung mit der DB hergestellt werden");
     $dbselect = mysql_select_db($dbname, $connect) or die ("DB-Table konnte nicht ausgewählt werden");
   }

   if($_POST['do'] == 'addform')
   {
    // Formular generieren + DB-Einträge einfügen
echo <<<EOL

<h1 style="text-align:center;">News hinzufügen</h1>
<p></p>
<p align="center"><b>Es wird html unterstützt!</b></p>
<p></p>
<form action="$PHP_SELF?section=news" method="post">
 <table align="center" style="width:600; background-color:#CCCCCC">
  <tr>
   <td>Titel:</td><td><input type="text" name="title"></td>
  </tr>
  <tr>
   <td align="center"><input type="text" name="newsinhalt"></td>
  </tr>
  <tr>
   <td colspan="2">
    <input type="submit" name="save" value="Save">
    <input type="hidden" name="do" value="newsadd">
   </td>
  </tr>
 </table>
</form>
    
EOL;
   }
  
   // Startanzeige der alten/bestehenden News
   dbconnect();
   
      
   //Datensätze aus Datenbank holen
   $sql = "SELECT * FROM news";
   $result = mysql_query($sql);
   $row = mysql_fetch_array($result);
   
   // Link zum Newsadden
   echo "<p align=\"center\"><a href=\"$PHP_SELF?section=news&do=newsform\"><font color=\"#000000\">News hinzufügen</font></a></p>";
   
   // Table generiren und Datensätze auslesen
   
   echo "<table align=\"center\" cellpadding=\"4\" cellspacing=\"1\" style=\"width:500\">";
   echo "<tr bgcolor=\"#666666\">";
   echo "<td><b>Datum</b></td><td><b>Titel</b></td><td><b>Aktionen</b></td>";
   echo "</tr>";
   echo "<tr bgcolor=\"#666666\">";
   echo "<td>$row[datum]</td><td>$row[title]</td><td></td>";
   echo "</tr>";
   echo "</table>";
   
   $heute = date("m.d.y G:i");
?>


So also es funktioniert erstmal alles bis auf die if-Abfrage.
So und zwar soll wenn der Link:
PHP:
// Link zum Newsadden
echo "<p align=\"center\"><a href=\"$PHP_SELF?section=news&do=newsform\"><font color=\"#000000\">News hinzufügen</font></a></p>";
, der sich ebenfalls in der gleichen datei befindet...sprich news/index.php.....,
klickt man diesen....so soll das formular &do=newsform aufgerufen werden....

Das Prob ist nur dass momentan es so ist.....dass man einfach auf die index.php geschmissen wird.
also auf index.php nicht auf index.php?section=news.

habt ihr ne Idee worans liegen kann....ich kanns mir nämlich echt net mehr erklären...

MFG Niels
 
Ähm ne kleine Frage wo fragst du ab welchen Wert dein Wert "section" hat?! Weil diese Abfrage ist nirgends in deinem geposteten Code desweiteren seh ich da nur einmal ne Abfrage für "do" wo geschaut wird ob der Wert addform ist, ist das beabsichtigt so oder soll er eigentlich diese Anweisung durchlaufen wenn man auf diesen Link klickt der z.Z. nicht funktioniert?!

Weil dann müsste das ganze so aussehen:

PHP:
if($_GET['do']=="newsform")
{
//Anweisung
}
 
Ja richtig die anweisung mit $_GET['do'] soll durchlaufen werden.....wenn auf den link News hinzufügen geklickt wird........

Zu deiner Frage wegen der sectio = geschichte.....
Ähm dies ist nur die index.php des newsmoduls.....welche in der haupt index.php includet wird.....


habe es geändert mit $_POST auf $_GET aber es geht halt imemr noch net...

MFG Niels
 
Also du hast jetzt stehen:

PHP:
if($_GET['do']=="newsform") 
{ 
//Anweisung 
}

anstelle von

PHP:
if($_POST['do'] == 'addform')
{
//Anweisung
}

also auch addform in newsform geändert?!

wenn ja dann sollte es eigentlich klappen da ja die gleiche Seite aufgerufen wird und dann der Befehl durch gehen müsste. Was die Geschichte mit der "section" betrifft hab ich zwar jetzt imma noch end durch geblickt aba vlt. kannst ja bischen code posten an welcher Stelle der Wert in "section" relevant wird bzw. zum tragen kommt.
 
Ja habe es so geändert......

so aufbau...

habe nen Ordner admin...in dem die index.php fürs admincenter isch:

also admin/index.php------> in der ist ein switch mit $_GET['sectio']
so die index.php des newsscripts liegt unter admin/news/index.php

Und von news/index.php haste ja den code....aber klappen tut es so imemr noch net :(

MFG Niels
 
Also ok wenn ich das richtig verstehe hast du eine index.php im admin ordner wo diese If Abfrage ist wegen der section geschichte und eine index.php im news ordner dessen quelltext wir hier gerade sehen

So und in dieser index.php im News ordner ist diese entsprechende Stelle:

PHP:
   // Link zum Newsadden 
   echo "<p align=\"center\"><a href=\"$PHP_SELF?section=news&do=newsform\"><font color=\"#000000\">News hinzufügen</font></a></p>";

Hm also dann wird doch zuerst die index.php aus dem admin ordner aufgerufen oda nicht?! und dort müsste der link erscheinen der dann dafür sorgt das du die index.php aus news aufrufst und dann die Abfrage mit dem Wert in "do" ausführt.

Und steht dann in der index.php von admin $_GET['sectio'] oder $_GET['section'] ?!
 
Dort steht $_GET['section']


genau steht da:

PHP:
switch ($_GET['section']) {
		case "home": include("home.php"); break;
		case "impressum": include("impressum/index.php"); break;
		case "news": include("news/index.php"); break;
		default: include("home.php"); break;
		}


MFG Niels
 
Ahhh ok jetzt schnall ich was du vor hast.

Na dann muss aber der Link den du in der news/index.php hast

PHP:
// Link zum Newsadden 
   echo "<p align=\"center\"><a href=\"$PHP_SELF?section=news&do=newsform\"><font color=\"#000000\">News hinzufügen</font></a></p>";

in die admin/index.php

ansonsten würde mir jetzt nichts mehr einfallen was noch groß falsch sein könnte.
 
Ja es muss da ja eben nicht rein......

Schau ma mit der news/index.php wird ja alles grundlegend includet....angezeigt wird aber erstma das.....was net inner funktion oder in ner if-anfrage ist.....sprich die ausgabe der schon vorhandenen News......so wenn man aber nun auf News hinzufügen klickt wird die if-abfrage in der news/index.php gestartet und undter der section news ausgegeben.....


Mit meinem Impressum Script habe ich es auch so gemacht.....aber da funktioniert es...
 
Naja wie gesagt was anderes fällt mir da sonst nicht ein weil die includes führt er ja erst aus wenn man auf den Link geklickt hat somit kann er für mein Verständis das nicht so ausführen wie du es beschreibst. Dann müsstest du schon zuvor irgendwo stehen haben das er die ganzen Dateien includen soll und die Switch wird erst ausgeführt wenn auf den Link geklickt worden ist.
Aba bin mal gespannt wo der Fehlerteufel versteckt ist ;)
 
Zurück