Php Problm bei Zugriff auf Datenbank



  • Hi ich habe folgendes Problem ich habe folgenden Code

    mysql_query("INSERT INTO xxx_news VALUES('', '$_SESSION[user]', UNIX_TIMESTAMP(), '$title', '$content')");
    	header("Location: index.php");
    	exit();
    

    bei allinkl.de funktionierte die einwandfrei aber nun wo ich zu strato gewechselt bin geht diese Funktion nicht mehr ich nehme mal an das das daran liegt das Strato da etwas gespertt hat was man umgehen muss Liegt das an exit? Wie kann ich das ganze besser lösen?
    Danke für eure Hilfe



  • Also an exit liegt es nicht, es klappt trotzdem nicht. Ich weiß nur das bei allinkl das ganz immer klappt aber bei strato kann ich keine Daten in die Datenbank einfügen obwohl sie abrufbar sind, ein Kumpel meinte etwas von Sicherheitsfunktione, was ist damit gemeint?



  • Prinzipiell funktioniert aber der DB-Zugriff und du kannst auch Sachen in die DB schreiben? Hast du dir mal dein Query-String ausgeben lassen?



  • Ne genau das ist ja das Problem in die Datenbank schreiben kann ich prinzipiel nicht er PHP. Höchstens über das Admin Tool Plesk in dem ich dann MYSQLAdmin öffne aber per PHP Datei afrug geht das nicht. Das verwundert mich ja.



  • So nochmal mehr Code

    include("config.php");
    $template = read_template("./templates/writenews.html");
    $template = str_replace("{useronline}", $usr_all, $template);
    $template = str_replace("{sitetitle}", $cfg_title, $template); 
    $template = str_replace("{login}", $lgscr, $template); 
    if($addnews == 1 && $_SESSION[admin] == true){
    	$title = addslashes(strip_tags(trim($_POST[newstitle])));
    	$content = addslashes(str_replace("\n", "<br/>", strip_tags(trim($_POST[newstext]))));
    	mysql_query("INSERT INTO xxx_news VALUES('', '$_SESSION[user]', UNIX_TIMESTAMP(), '$title', '$content')");
    	header("Location: index.php");
    	exit();
    }
    echo $template;
    mysql_close();
    ?>
    

    Hab gerade bei Strato folgendes gefunden

    Parameter: Register Globals off
    Ab der Version 4.4.x ist in PHP register_globals ausgeschaltet. Das bedeutet, dass ein PHP Script auf Informationen die aus z.B. Formularen als GET oder POST Daten übermittelt werden, nicht mehr über globale Variablen zugreifen kann. 
    
    Auf die übertragenen Daten wird über Arrays zugegriffen. Das heißt, dass Variablen die über GET versand wurden, mit $_GET["variablenName"] erreichbar sind. POST Daten entsprechend mit $_POST["variablenName"]. 
    
    Diese Neuerungen dienen der Sicherheit und Struktur innerhalb von PHP Scripten, und können anhand des folgenden Beispiels einfach in bestehende Scripte übernommen werden. 
    
    vorher: 
    PHP ( wunschname.de/test.php?test=Nachricht )
    
    <?php
    $text = $test;
    echo $text;
    ?>
    
    Ausgabe: Nachricht 
    
    nachher: 
    PHP ( wunschname.de/test.php?test=Nachricht )
    <?php
    $test = $_GET["test"];
    $text = $test;
    echo $text;
    ?>
    Ausgabe: Nachricht
    

    Liegt es vielleicht daran?



  • Blöde Frage, aber hast du denn die neuen Zugangsdaten für die DB in deinem Skript eingetragen?!



  • Hehe ne so blöd ist das ja nicht. Kann ja immer mal sein. Aber ist nicht so. Hab alles richtig eingetragen. Hab aber den Fehler gefunden. Hatte in der config noch ne Variablen überlagerung. Hatte das nicht erkannt. Also danke Jungs - Suoer Forum - Super Hilfe



  • nach der query bitte
    echo mysql_error() machen dann erfährst du den fehler 🙂



  • Wie wäre es, wenndu mal deinen Fehler genau posten könntest, sonst können wir nur Vermutungen anstellen.

    1. Welche Fehler treten auf - ist die funktion mysql_query erst gar nicht vergfügbar oder liegt es an einem syntax Problem?
    (hierbei BGWORLD befolgen).

    2. Kann es sein, dass verschiedene MySQL Versionen vorhanden sind (vorher/nachher) ?

    3. versuch mal deinen Query auf Grundlegende Dinge herunterzubrechen:
    mysql_query("INSERT INTO xxx_news (feld_name)VALUES('inhalt') ");



  • @JayJay: Das Problem ist doch bereits gelöst... 😉

    Gast auf Dauer schrieb:

    Hab aber den Fehler gefunden. Hatte in der config noch ne Variablen überlagerung. Hatte das nicht erkannt.


Anmelden zum Antworten