Apache | MySQL | Keine Schreibrechte?

Dieses Thema im Forum "Web-Programmierung" wurde erstellt von sevY, 03.12.2003.

  1. sevY

    sevY Thread Starter Gast

    Hi zusammen,

    ich nutze 10.3 und habe den internen Apache sowie die 4er Version von MySQL installiert. Mit phpMyAdmin 2.5.4 lassen sich wunderbar Tables erstellen, Inserts und Updates vollbringen.

    Aber:

    Nachdem ich wie ein verrückter im PhP-Code meines Adminformulars nach Fehlern gesucht habe, kam mir der Einfall, einfach mal ein „online funktionierendes“ Adminformular von unserem Server zu ziehen, die passenden Tables einzurichten und dann zu testen.

    Ich hatte nämlich mit meinen sämtlichen Versuchen nie Erfolg, obwohl der Code korrekt war.

    Ergeniss:

    Ich kann keine Änderungen in der DB bewirken. Warum? Gibt es soetwas wie Schreibrechte oder etwas, das deaktiviert ist?

    phpMyAdmin kann schreiben, meine Formulare nicht…


    Vielen Dank für eure Hilfe.

    Liebe Grüße

    Coffeemaker
     
  2. HAL

    HAL Thread Starter Gast

    Mag albern klingen, aber die Angaben sind richtig, oder. Meine damit:

    DB_Host
    DB_User
    DB_Pass

    und dergleichen. Ist manchmal der Korken. Wenn mehr Probleme
    bestehen, kannst Du auch gerne die eventuellen Fehlermeldungen
    per Mail an mich schicken.

    Gruss, Frank.

    ;)
     
  3. sevY

    sevY Thread Starter Gast

    Ja klar sind die Werte korrekt ;)

    So sieht die lokale config aus… auslesen geht ja prima :) Nur schreiben halt nicht. Ich denke nicht das es an den PHPscripts liegt. Funktionierende Scripts vom Onlineserver laufen ja lokal nicht.

    PHP:

    <?
    $db_host = "localhost";
    $db_login = "root";
    $db_pass = "000001";
    $db_dbase = "mydb";





    $handler =
    @mysql_connect($db_host,$db_login,$db_pass);
    @mysql_select_db($db_dbase,$handler);
    ?>


    greetz yves
     
  4. HAL

    HAL Thread Starter Gast

    Soweit sogut, das mit dem Pass etc. war nicht im Sinne von "mann ist
    der dumm mann" gemeint, sondern passiert mir auch gelegentlich (nach
    über 5 jahren Praxis, ahemm...).

    Also nächster Schritt:

    Werden die Scripte generell nicht ausgeführt, will sagen, bekommst
    Du im Brwoser Error 500 oder etwas in der Art serviert?

    Oder erhältst Du den freundlichen Hinweis auf einen SQL-Fehler, von
    wegen "this script is not allowed to bla bla" ???

    Und bevor wir nu hier in eine PingPongOrgie verfallen, sollte der
    Script nicht zu sensitiv sein, kannst Du ihn auch gerne mailen.

    Shalom, Frank.
     
  5. sevY

    sevY Thread Starter Gast

    Hi,

    das Script ist nicht intensiv.

    Wie gesagt, einfache select * from bla where bla='bla' und dann echo geht prima. keine sql fehler.

    nur wenn ich dann einen befehl wie update oder insert wähle, passiert nichts in der db.

    wie gesagt, auf dem domainfactory server beim provider läuft es, hier bei mir nicht. ohne fehlermeldung. normalerweise müsste ein wert geschrieben werden… aber es läuft alles nach plan, nur die db wird nicht geändert.

    weisst du wie ich das meine?

    so als ob ich mit einem angespitzen bleistift auf einem blatt papier zuhause male und nichts sehe und dann mit dem gleichen bleichstift in der uni normal zeichnen kann. auf dem praktisch gleichen papier.

    das papier ist hier der apacheserver/mysql bei mir bzw. in der uni.
    der bleistift ist das korrekte php script.


    ;)

    liebe grüße

    yves
     
  6. sevY

    sevY Thread Starter Gast

    Hier mal ein Auszug aus einem Adminform das Prima im Web funktioniert und Offline leider nichts ausrichten kann.

    Obwohl alles korrekt gecodet ist und auch die configs nach dem herunterladen angepasst wurden. Ausgaben gehen definitiv, nur Schreibvorgänge gehen nicht. Also echo / print ja, insert / update nein.

    Der einzige der das lokal kann ist PHPMYADMIN :(

    greetz coffee

    PHP:

    include("_config.php");

    if (
    $action == "news_input")
    {
        
    $date date("d.m.y");
        if(
    $step=="1")
        {
            @
    mysql_query("update $db_news set news_store='$message', date='$date'",$handler);
        }
        elseif(
    $step=="2")
        {
            @
    mysql_query("update $db_news set news_deko='$message', date='$date'",$handler);
        }

          if(
    $was=="doit") {
            
    $size $bild_size;
            
    $name $bild_name;
            
    $type $bild_type;

            if(
    eregi("(jpg|gif)$",$name))
            {
                if(
    $size<100000 AND $size!=0)
                {
                    if(
    $step=="1")
                    {
                        
    chdir("../cont/img/surprise_aktuell");
                        
    copy($bild,"store.jpg");
                        echo 
    "<meta http-equiv=refresh content=\"0; URL=index.php?step=2\">";
                    }
                    elseif(
    $step=="2") {
                        
    chdir("../cont/img/surprise_aktuell");
                        
    copy($bild,"deko.jpg");
                        echo 
    "<meta http-equiv=refresh content=\"0; URL=index.php\">";
                    }
                }
                else { echo 
    "Ihre Datei ist zu gross oder gleich 0";  }
            } else { 
    /* Ung&uuml;ltige Endung */ }
        }
    }
    ?>

     
  7. sevY

    sevY Thread Starter Gast

    Falls du noch antwortest, ich lese mal morgen… ich geh schlafen :)

    danke und gute nacht.


    yves
     
  8. Hairfeti

    Hairfeti Banned

    Beiträge:
    462
    Zustimmungen:
    0
    MacUser seit:
    08.11.2003
    Damit deine Scripte auch schreiben können, müssen die Verzeichnisse und Dateien auch chmod 777, bzw. 666 haben. Dann muß der Safe_Mode auf off in der php.ini da sonst andere Schreib- und Uploade-Funktionen eintreten. Und Register_Globals sollte zunächst auch off sein.

    Dann schau mal in deiner User-Datenbank (phpadmin) nach ob überhaupt das Kennwort für den Root-User aktiviert ist.

    Dann benötigst du noch einen User der nicht Root ist (pma). Für diesen User muß eine Extra-Datenbank angelegt werden damit das Arbeiten mit "phpmyadmin" korrekt erfolgen kann. Dieser User muß dann auch noch in der config.inc.php von "phpmyadmin" als ['controluser'] = 'pma' mit Passwort angegeben werden und darf nur Leserecht für alle Datenbanken erhalten.

    Dann schau dir auch noch nachträglich in Ruhe deine php.ini an ob da vielleicht Funktionen aktiviert sind die dein Webserver nicht unterstützen kann.

    Brauchst du vielleicht auch einen Encoder wie ZEND-Optimizer den du noch nicht installiert hast?

    Bei 99% aller nichtfunktionierenden Machenschaften ist die Installation und Konfiguration von PHP, MySQl und Apache schuld. Wahrscheinlich hast du dir auch MySQL 4 installiert ohne vorher deine Version von PHP auf 4.3.4 zu updaten. Die neuesten Packagen aller Tools sind alle aufeinander abgestimmt. Daher muß man immer die neueste installieren wenn man nicht selbst kompilieren will.

    Solltest dir also noch mal die Mühe machen und nacheinander die neuesten Module laden von: http://www.entropy.ch/

    Damit erspart man sich eventuell eine Menge Ärger und Kleinarbeit.

    Also ich nutze PHP mit vorgefertigten Scripts, CMS u.s.w. und alles funktioniert ohne Probleme.

    MfG Rüdiger
     
    Zuletzt bearbeitet: 04.12.2003
  9. HAL

    HAL Thread Starter Gast

    Super. Da bei 409 mindestens phpMyAdmin läuft, wird es wohl
    kaum ein AMP Problem sein. Wirf doch auch mal einen Blick auf
    den Code, sechs Augen sehen ja mehr als vier. Ich knobel noch.

    :)
     
  10. Hairfeti

    Hairfeti Banned

    Beiträge:
    462
    Zustimmungen:
    0
    MacUser seit:
    08.11.2003
    Mit Code bin ich nicht so vertraut, ich vertraue da einfach auf die Programmierer.

    Da ja unserer Freund die Scripts auch nicht selbst geschrieben hat, sondern diese auch nur irgendwo heruntergeladen hat wie er sagte, denke ich mal daß der Code in Ordnung ist wenn er keine Änderungen vorgenommen hat.

    Ich habe auch einige Zeit dazu gebraucht meine Konfiguration meiner Tools so zu ermöglichen wie sie jetzt ist. Und da läuft wirklich alles drauf was ich mir bisher installiert habe. Wenn es dann und wann noch mal zu Problemen kommt, sind es meist falsch gesetzte Chmods oder Dateien die fehlen und manuell angelegt werden müssen. Das erfährt man dann aber rechtzeitig noch in den Readme's oder Installationsanweisungen.

    Eigene PHP-Scripts habe ich bisher nicht geschrieben und auch nicht versucht.
     
Die Seite wird geladen...

Diese Seite empfehlen