Warum läuft dieses ding nur auf lycos servern?

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

  • #16
    Original geschrieben von Doc2k
    das unterdrückt doch nur die Fehlermeldung falls ein Text nicht da ist
    (dachte das muss so sein damit er im Zweifelsfall erstellt wird)
    Geht aber auch so noch nicht
    es unterdrückt Fehlermeldungen.
    Hier bei Dir Fehlermeldungen die die Funktion fopen() ausgeben könnte, z.B. keine Schreibrechte.

    Wird die Datei gar nicht erstellt oder ist sie leer?
    Zuletzt geändert von NielsRunge; 29.09.2004, 21:08.
    [Test] MySQL cli Emulator

    Kommentar


    • #17
      Also irgendwie fruchtet das alles nicht

      Kann nicht irgendjemand bitte einfach dieses ganze ding mal korregieren und posten? Vielleicht raffe ich ja dann beim Vergleichen was alles falsch war. Iss mir auch recht wenn es ein anderes Script ist das die gleichen Sachen macht. (Also nen text in eine Texteingabe öffnen und den text speichern wenn man auf speichern klick + die anderen 5 dateien löschen)
      oben steht ja das was ich bisher "verbrochen" hab.
      Hier also mal der link zu dem ding.

      Der test auf meinem Apache

      und hier das ding (noch wie am anfang) auf dem lycos-server

      Das teil auf dem lycos-server

      (auf dem server liegt auch eine phpinfo.php)

      kann doch einfach nicht sein (hatte wie gesagt register_globals schon auf on und das hatte das prob auch nicht behoben)
      aso die @ an den fopen habe ich auch weggemacht (erfolglos)
      Zuletzt geändert von Doc2k; 29.09.2004, 21:35.

      Kommentar


      • #18
        Re: Also irgendwie fruchtet das alles nicht

        Original geschrieben von Doc2k
        >kann doch einfach nicht sein (hatte wie gesagt register_globals schon auf on und das hatte das prob auch nicht behoben)

        http://www.php4u.info/phpinfo.php/

        Auf Lycos ist nicht nur register_globals sondern auch der safe_mode eingeschaltet. Das bedeutet unter dem Strich, daß sich der Apache nur an solchen Files vergreifen darf, die ihm gehören. Die Files, die Du per FTP hochschickst, gehören aber Dir und nicht dem Indianer...

        >aso die @ an den fopen habe ich auch weggemacht (erfolglos)

        Ja klar. Sowas ist erfolglos, nur die Fehlermeldungen zu killen, wenn es eine Fehlerursache gibt. Eine rote Ampel ist auch dann rot, wenn Du die Augen zumachst.

        Kommentar


        • #19
          Wird die Datei gar nicht erstellt oder ist sie leer?
          setz hinter
          PHP-Code:
           if ($_POST['action']=='Speichern') { 
          mal ein "echo 'test';"

          EDIT:

          Kann nicht irgendjemand bitte einfach dieses ganze ding mal korregieren und posten?
          Vielleicht raffe ich ja dann beim Vergleichen was alles falsch war.
          Man lernst sicherlich mehr wenn man es alleine probiert und die Fehler findet als was vorgekautes bekommt...

          Zuletzt geändert von NielsRunge; 29.09.2004, 22:21.
          [Test] MySQL cli Emulator

          Kommentar


          • #20
            und was mache ich jetzt ?
            Nein sie ist nicht leer und vorhanden ist sie auch.

            Das echo kommt an

            guck

            test

            Normalerweise Teile ich deine Ansicht mit den vorgekauten Sachen. Allerdings habe ich im mom ziemlich derben Zeitdruck und währe daher ausnahmsweise mal froh über etwas fertiges. Ich habe schon insgesammt soviel zeit mit diesem projekt (ein Flash-Newsticker der sich seine inhalte aus texten hohlt) verbracht, dass ich bald wahnsinnig werde. Der php teil ist ja nur eine komponente
            Zuletzt geändert von Doc2k; 29.09.2004, 22:43.

            Kommentar


            • #21
              Original geschrieben von Doc2k
              Nein sie ist nicht leer und vorhanden ist sie auch.
              poste bitte nocheinmal den kompletten Quelltext
              [Test] MySQL cli Emulator

              Kommentar


              • #22
                hier der Quelltext

                PHP-Code:
                <head>

                </head>
                <body bgcolor="#000099">
                <?php
                error_reporting
                (E_ALL);
                $filename='news1a.txt';
                $tokill='news1b.txt';
                $tokill2='news1c.txt';
                $tokill3='news1d.txt';
                $tokill4='news1e.txt';
                $tokill5='news1f.txt';
                if (
                $_POST['action']=='Speichern'){ echo 'test';
                $_POST['n_content'] = stripslashes($_POST['n_content']); 
                $fpn fopen($filename"a"); 
                if (
                $fpn) { 
                fwrite($fpn$n_content); 
                fclose($fpn);
                @
                unlink($tokill);
                @
                unlink($tokill2);
                @
                unlink($tokill3);
                @
                unlink($tokill4);
                @
                unlink($tokill5); 


                $fpo = @fopen($filename"r"); 
                if (
                $fpo) { 
                $o_content fread($fpofilesize($filename)); 
                $o_content htmlspecialchars($o_content); 
                fclose($fpo); 

                echo 
                ' <div align="center"><table><tr><td>
                <br> 
                <form action="'
                .$_SERVER[PHP_SELF].'" method="POST">  
                <p align="center"><font color="#FFFFFF" face="Arial" style="font-size: 10pt"><b>Bitte geben sie Ihren neuen Text ein und 

                klicken sie auf "Speichern</b></font></p>
                <input type="submit" name="action" value="Speichern" >
                <input name="n_content" size="30"bgcolor="#6699FF" style="border: 1px solid #000080" maxlength="30" value="'
                .$o_content.'"> 
                </form>'
                ;
                echo 
                '</table></td></tr></table></div>';
                ?>

                Kommentar


                • #23
                  wahrscheinlich sinnlos weil Du die Beiträge hier anscheind nicht ganz liest aber was soll das hier
                  PHP-Code:
                  fwrite($fpn$n_content); 
                  wo soll $n_content herkommen? Wo wird die definiert bzw. ihr ein Wert zugewiesen?

                  Wenn register_globals off ist, ist sie leer.

                  Hatte ich auch schon im Beitrag um 21:59 geschrieben ab egal...
                  [Test] MySQL cli Emulator

                  Kommentar


                  • #24
                    Original geschrieben von NielsRunge
                    wahrscheinlich sinnlos weil Du die Beiträge hier anscheind nicht ganz liest
                    Nein, das tut er ganz sicher nicht.

                    Kommentar


                    • #25
                      Ja sorry hatte ich gelesen aber leider mangels Ahnung nicht ändern können in der orginal Version scheint die zeile:
                      PHP-Code:
                      $_POST['n_content'] = stripslashes($_POST['n_content']); 
                      den wert anzugeben da sie ja dort nur
                      PHP-Code:
                      $n_content stripslashes($n_content); 
                      heisst.

                      kannst du mir bitte sagen wie ich das benenne (n-Content soll ja denke ich mir der neu eingegebene text sein ist aber auch gleichzeitig ja der name der Texteingabe)
                      Habe das Script aus nem open-source gb ausgebaut wo man eine textdatei ändern kann . Hab doch keinen plan wie ich das anfangen soll.
                      wäre echt fett wenn du mir nen bissel mehr vorkauen könntest sonst werde ich bestimmt nie mit dem ding fertig. hie hast du mal den source-code von der Orginalversion die ich als vorlage benuzt hab.(nur das unlink dazu und den filenamen geändert)

                      PHP-Code:
                      <head>

                      </head>
                      <body bgcolor="#000099">
                      <?php
                      $filename
                      ="news1a.txt";
                      $tokill="news1b.txt";
                      $tokill2="news1c.txt";
                      $tokill3="news1d.txt";
                      $tokill4="news1e.txt";
                      $tokill5="news1f.txt";
                      if(
                      $action=="Speichern"){
                      $n_content stripslashes($n_content); 
                      $fpn = @fopen($filename"w"); 
                      if (
                      $fpn) { 
                      fwrite($fpn$n_content); 
                      fclose($fpn);
                      @
                      unlink($tokill);
                      @
                      unlink($tokill2);
                      @
                      unlink($tokill3);
                      @
                      unlink($tokill4);
                      @
                      unlink($tokill5); 


                      $fpo = @fopen($filename"r"); 
                      if (
                      $fpo) { 
                      $o_content fread($fpofilesize($filename)); 
                      $o_content htmlspecialchars($o_content); 
                      fclose($fpo); 

                      echo 
                      ' <div align="center"><table><tr><td>
                      <br> 
                      <form action="'
                      .$_SERVER[PHP_SELF].'" method="POST">  
                      <p align="center"><font color="#FFFFFF" face="Arial" style="font-size: 10pt"><b>Bitte geben sie Ihren neuen Text ein und klicken sie auf "Speichern</b></font></p>
                      <input type="submit" name="action" value="Speichern" > 
                      <input name="n_content" size="30"bgcolor="#6699FF" style="border: 1px solid #000080" maxlength="30" value="'
                      .$o_content.'"> 
                      </form>'
                      ;
                      echo 
                      '</table></td></tr></table></div>';
                      ?>
                      wie gesagt währ echt für etwas mehr vorgekautes dankbar.
                      Doc2k

                      Kommentar


                      • #26
                        Original geschrieben von meikel
                        Nein, das tut er ganz sicher nicht. Auf Lycos läuft neben register_globals = On auch safe_mode = On.

                        Die sich daraus ergebenden Fehlermeldungen knippst er aus und fragt hier, wie er das, was sein Script bei Lycos nicht darf, trotzdem erreichen kann. Sein Script funktioniert ja local. Also liegt es nicht ursächlich am Script sondern an der Lycos Config!


                        schön und gut aber das ganze funktioniert nur auf nem free lycos server den ich hab.
                        es funktioniert bei Lycos... aber sonst halt nicht weil wenige register_globals auf ON haben...

                        Außerdem hat er ein @ entfernt
                        [Test] MySQL cli Emulator

                        Kommentar


                        • #27
                          man Du mußt doch nur
                          PHP-Code:
                          $n_content stripslashes($_POST['n_content']); 
                          oder eben
                          PHP-Code:
                          fwrite($fpn$_POST['n_content']); 
                          Mir scheint als ob Du nicht wirklich weißt was Du da machst...
                          [Test] MySQL cli Emulator

                          Kommentar


                          • #28
                            Was muss ich denn jetzt tun damit das klappt ?
                            Alles neu machen oder kann man da noch was retten?
                            helft mir doch bitte dat mist ding muss einfach gehen damit ich hier weiter machen kann. Muss ich meine config doch noch umstellen? z.B save-mode?

                            ###Nachtrag###

                            Sorry war grad am schreiben probiere es erstmal schnell

                            Kommentar


                            • #29
                              OffTopic:

                              z.B save-mode?
                              achso, dass ist der speicher-modus...

                              SCNR

                              [Test] MySQL cli Emulator

                              Kommentar


                              • #30
                                Original geschrieben von Doc2k
                                Ja sorry hatte ich gelesen aber leider mangels Ahnung nicht ändern können in der orginal Version scheint die zeile:
                                PHP-Code:
                                $_POST['n_content'] = stripslashes($_POST['n_content']); 
                                den wert anzugeben da sie ja dort nur
                                PHP-Code:
                                $n_content stripslashes($n_content); 
                                heisst.
                                Wie das mit den Variablen unter PHP funktioniert, weißt Du hoffentlich schon. Falls nicht, lies Dir bitte unbedingt und umgehend das durch:
                                http://www.php.net/manual/en/language.variables.php

                                1. Bei register globals = Off speichert PHP die Formularvariablen im Array $_POST bzw. $_REQUEST ab und nicht unter dem Formularnamen.

                                Falls Du hier irgend ein Script aus einem der vielen grottenschlechten PHP Büchern debuggen willst, wird das nicht funktionieren. Keiner kennt die Schwarte, weil sowas weggeschmissen werden sollte.

                                2. auf Lycos ist (strafverschärfend) der safe_mode = On. Das bedeutet für Dich, daß sich Dein Script, welches mit den Rechten des Webservers (der noch weniger darf als Du) läuft, überhaupt nicht an den Files vergreifen darf, die Du per FTP (oder sonstwas) auf den Server gehievt hast.

                                Aus diesen Gründen isses müßig, über Dein Script zu diskutieren. Du verwendest Filesystembefehle so, als wärest Du der Root und nicht ein 08/15er Popeluser.

                                Kommentar

                                Lädt...
                                X