• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

PHP Version vielleicht?

Status
Für weitere Antworten geschlossen.
M

matibaski

Guest
Mahlzeit!

Habe mein Admintool schon einem Kolleg gegeben und er hat es installiert.
Es ging alles gut, jedoch das einzige Problem war, dass wenn er eine Datei bearbeiten will, dass der Text nicht in das Textfeld kommt, von der gewünschten Datei.
Er hat seine Homepage bei Freeservern kilu.de und bei pytal.de ausprobiert.
Das admintool konnte bei beiden nichts bearbeiten.

Um etwas zu bearbeiten, benutzt man 2 Dateien.
Eine die den Text schreibt, eine die das geschriebene auf eine Datei schreibt.

Hier sind sie erklärt:
content_bearbeiten.php:
HTML:
<form action="admin.php?site=content_insert" target="_top" method="post">
<!--Per post wird es an content_insert.php geleitet. Sie schreibt die Dateien.-->
<?php
include("config.php"); // Hier wird config eingefügt. In dieser ist der Pfad angegeben, den man bei der Installation ageben muss. Es wurde geschrieben, dass die Ordner und Dateien den CHMOD 777 haben müssen.

// Hier wird eine Liste mit den Dateien erstellt, die gerade ein Hyperlink sind.
if(!isset($file))
{
echo' Wähle aus, welche Datei du bearbeiten möchtest.<br><br>';
if ($handle = opendir($pfad)) 
{
   while (false !== ($file = readdir($handle))) {
       if ($file != "." && $file != "..") {
           echo "-<a href=admin.php?site=content_bearbeiten&file=$file>$file</a><br>\n";
       }
   }
   closedir($handle);
}

}
?>
      <hr>
<p>Editor: (Wird noch erweitert)<br><br>Momentan wird folgende Datei verarbeitet:<br>
<font size="2">!!!Bitte immer darauf achten, dass die gewünschte Datei, <br>
sowie der Ordner in dem sie sich befindet, den<b> CHMOD 777 haben muss</b>!!!</font><br>
<!--Hier wird der Name der Datei eingeschreiben, damit content_insert.php den Namen der Datei weiss, in welche sie es schreiben muss -->
    <input type="text" value="<?php echo($file); ?>" name="dataid" size="20"><br>
    <br>Codetags: (später)</p>
<p></p><ul>
  <li>Bild einfügen</li>
  <li>Link einfügen</li>
  <li>Fetter, Kursiver, Unterstrichener Text</li>
  <li>Schriftgrösse, Schriftart</li>
  </ul>

<!-- Hier werden die Dateien eingefügt, je nachdem welche Datei oben steht(mit Hyperlink einer aufgelisteten Datei(file=datei.php))-->
<textarea name="text" rows="11" cols="50">
<?php
if(!isset($_GET['file']))
{
$_GET['file'] = print "Wähle eine Datei aus.";
}
switch($_GET['file'])
{
case $file : include($pfad.$file); break;
}
?>
</textarea> <br><br><input type="submit" value="Speichern" name="Send"><hr>
</form>
Ich denke dass der Fehler hier ist, aber hier nun die content_insert.php:
PHP:
<head>
<link rel="stylesheet" type="text/css" href="format.css" />
</head>

<?php
include("config.php");
$filename = $pfad.$_REQUEST['dataid']; // Dateiname wird bestimmt
$somecontent = $_REQUEST['text']; // Text wird übernommen

//Prüfen ob sich in das Verzeichnis schreiben lässt
if(!is_writable($pfad))
{
   die (" Kann nicht ins verzeichnis $pfad schreiben! Bitte prüfen, ob der CHMOD der Ordner (../deineinhalte/) den CHMOD von 777 hat.");
}
if(!$handle = fopen($filename,"w+"))
{
  die (" Kann Datei {$filename} nicht bearbeiten! Bitte prüfen, ob der CHMOD der Dateien auf 777 gestellt ist.");
}
else
{
  fwrite($handle, $somecontent);
  
  fclose($handle);
  echo "Datei $filename wurde erfolgreich bearbeitet<br><br><a href=admin.php?site=content_bearbeiten>Zurück</a><br><br><b>Vorschau:</b><br><br>$somecontent";
}
?>
In dieser Datei ist es sehrwarscheindlich nicht. Den Fehler meine ich.

Ich hoffe ihr blickt hier durch.

Auf meine, Privatserver funktionierts. Habe mal seine Webseite aufgeladen auf meinen Server und das admintool auch. Es geht.

Liegt das an der PHP version?
 
1. error_reporting(E_ALL);
2. phpinfo();, teste es bei beiden servern...

Konnte im Momnt noch nicht richtig durchblicken aber ich hoffe, der Fehlergrund tritt bald auf.

-----
ERAZR!
 
Es liegt nicht am CHMOD.
Habbe jeder Datei und jedem Ordner den CHMOD 777 gegeben, sowie den Ordnern und Dateien die nichts damit zu tun haben.

Wie verwende ich phpinfo(); ????

Habe bisher nichts damit zu tun gehabt.
 
Hehe einfacher als ich dachte. :D

Nun der Stand der Dinge ist so.
Mein Server hat 5.0.5. Auf dem funktioniert alles.
Die beiden Freeserver haben höhere Versionen.
Also ich denke nicht, dass es an der Version liegt.

Ich habe mal meine Beabreitungsdatei geändert.
Sie ist nun mit PHP gemacht.
Etwa so:
PHP:
<?php
include("config.php");
if(!isset($file))
{
echo' Wähle aus, welche Datei du bearbeiten möchtest.<br><br>';
if ($handle = opendir($pfad)) 
{
   while (false !== ($file = readdir($handle))) {
       if ($file != "." && $file != "..") {
           echo "-<a href=admin.php?site=content_bearbeiten&file=$file>$file</a><br>\n";
       }
   }
   closedir($handle);
}

}
echo'<form action="admin.php?site=content_insert" target="_top" method="post">';
echo'<hr>';
echo'<p>Editor: (Wird noch erweitert)<br><br>Momentan wird folgende Datei verarbeitet:<br>';
echo'<font size="2">!!!Bitte immer darauf achten, dass die gewünschte Datei, <br>sowie der Ordner in dem sie sich befindet, den<b> CHMOD 777 haben muss</b>!!!</font><br>';
echo'<input type="text" value="';
echo($file);
echo'" name="dataid" size="20"><br>';
echo'<br>Codetags: (später)</p>';
echo'<ul>';
echo'<li>Bild einfügen</li>';
echo'<li>Link einfügen</li>';
echo'<li>Fetter, Kursiver, Unterstrichener Text</li>';
echo'<li>Schriftgrösse, Schriftart</li>';
echo'</ul>';
echo'<textarea name="text" rows="11" cols="50">';
if(!isset($_GET['file']))
{
$_GET['file'] = print "Wähle eine Datei aus.";
}
switch($_GET['file'])
{
case $file : include($pfad.$file); break;
}
echo'</textarea>';
echo'<br><br>';
echo'<input type="submit" value="Speichern" name="Send">';
echo'<hr>';
echo'</form>';
?>

Es geht mit diesem aber auch noch nicht. :(

Kann mir jemand evtl. helfen?
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben