Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Module › Modul-Entwicklung ›

"INSERT INTO" funktioniert nicht im Internet Explorer

Eingetragen von Kyuss (12)
am 15.03.2010 - 11:31 Uhr in
  • Modul-Entwicklung
  • Drupal 6.x

Hallo,

ich habe in meiner Drubal-Datenbank eine Tabelle angelegt, in der ich mit meinem Modul Daten erfassen möchte. Dafür benutze ich folgenden Code:

<?php
db_query
("INSERT INTO {meine_tabelle} (uid, nid, qty) VALUES (%d, %d, %d)", $uid, $nid, $qty);
?>

In Firefox funktioniert dies wunderbar, doch im Internet Explorer wird leider nichts in die Datenbank eingefügt. Woran könnte das liegen?

Gruß
Alex

‹ Problem bei variable_get??? Node Refernce Workflow ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Bowser abhängig?????

Eingetragen von wla (9461)
am 15.03.2010 - 11:40 Uhr

Bei dieser Fehlerbeschreibung bin ich sprachlos.

Beste Grüße
Werner

  • Anmelden oder Registrieren um Kommentare zu schreiben

Details

Eingetragen von stBorchert (6003)
am 15.03.2010 - 11:43 Uhr

Hallo.
Magst Du noch ein paar Details verraten?
Zum Beispiel: wo genau verwendest Du diesen Code?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich übergebe mit einem

Eingetragen von Kyuss (12)
am 15.03.2010 - 12:21 Uhr

Ich übergebe mit einem Javascript(Ajax) Parameter an eine PHP Datei:

   
var http = null;
if (window.XMLHttpRequest) {
http = new XMLHttpRequest();
} else if (window.ActiveXObject) {
http = new ActiveXObject("Microsoft.XMLHTTP");
}
if (http != null) {
http.open("GET", "............/sk.php?operation=hinzufuegen&nid=" + nid + "&uid=" + uid, true);
http.onreadystatechange = ausgeben;
http.send(null);
}

Dies funktioniert soweit. Die erforderlichen Parameter werden an sk.php übergeben. Die weitere Ablauf in sk.php sieht wie folgt aus:

<?php

chdir
('../../../../');
include_once(
'./includes/bootstrap.inc');
drupal_bootstrap(DRUPAL_BOOTSTRAP_DATABASE);

$sicherheits_flag = 1;//soll verhindern das der client code über die parameterübergabe einschleusen kann
   
$operation = $_GET['operation'];//ermitteln des übergebenen parameters
if ($operation != "hinzufuegen"){//hat die variable operation nicht den wert "hinzufuegen" oder "loeschen", wird sicherheits_flag  auf 0 gesetzt
   
if ($operation != "loeschen"){
       
$sicherheits_flag = 0;
    }
}
$nid = $_GET['nid'];
$uid = $_GET['uid'];
if(!
is_numeric($nid) || !is_numeric($uid)){//ist nid oder uid nicht numerisch, wird sicherheits_flag  auf 0 gesetzt
   
$sicherheits_flag = 0;
}
   
if (
$sicherheits_flag == 1) {//haben die übergebenen parameter die sicherheitsprüfung bestanden?
   
if($operation == hinzufuegen) {
           
$sql = "
                SELECT uid, qty
                FROM mueslimixer
                WHERE nid =
$nid
                AND uid =
$uid
            "
;//ermitteln ob der user die zutat bereits ausgewählt hat
           
$result = db_query($sql, $type, $status);//erzeugen der abfrage
           
$data = db_fetch_object($result);
            if(
$data->uid == ""){/*ist $data leer, so hat der user die zutat noch nicht ausgewählt. die zutat kann also neu hinzugefügt werden*/
               
$qty = 1;
               
db_query("INSERT INTO {mueslimixer} (uid, nid, qty) VALUES (%d, %d, %d)", $uid, $nid, $qty);//abfrage ausführen
?>

Danach kommen noch einige Ausgaben, die auch korrekt vom Javascript verarbeitet werden. Die Tabelle mueslimixer bleibt aber leer....

  • Anmelden oder Registrieren um Kommentare zu schreiben

Alter Vadder. Jetzt bin ich

Eingetragen von digganet (33)
am 15.03.2010 - 13:37 Uhr

Alter Vadder. Jetzt bin ich sprachlos. Tür und Tor offen für alles Übel, was da kommen kann. [Nachtrag]Ah, hab dein is_numeric überlesen. Na immerhin. Trotzdem solltest du deine Abfragen grundsäzlich mittels escape absichern.[/Nachtrag]

Im Übrigen hat das Problem deines Eingangsposts wohl nichts mit dem Browser zu tun.

Noch was: Warum benutzt du jQuery nicht? Die Handhabung könnte einfacher nicht sein und Drupal hat es bereits an Bord.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Das läuft im Moment noch

Eingetragen von Kyuss (12)
am 15.03.2010 - 14:02 Uhr

Das läuft im Moment noch alles testweise. Ich habe einfach drauf los geschrieben. Selbstverständlich ist der Code so noch nicht wirklich einsatzfähig. Aber danke für den Tipp, ich denke ich werde mir mal JQuery anschauen...

Aber warum sollte mein Problem nicht Browserabhängig sein? Woran könnte es sonst liegen? Es ist wie gesagt nur im Internet Explorer so, dass die Daten nicht in die Datenbank geschrieben werden.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Die einzige Möglichkeit wäre,

Eingetragen von digganet (33)
am 15.03.2010 - 14:06 Uhr

Weil das Parsen eines PHP-Scriptes nichts mit dem Browser zu tun hat. Das erledigt der Webserver. Die einzige Möglichkeit wäre, dass der IE deine Variablen nicht in die URL einhängt. Soll heißen statt http://...bla.php?foo=1&bar=2 schickt der IE ein http://...bla.php?foo=&bar= los.

Aber ich seh grad nicht, warum das passieren sollte. Oder baust du die URL per Javascript zusammen? Dann könnte der IE darüber stolpern.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Also die Parameter kommen

Eingetragen von Kyuss (12)
am 15.03.2010 - 14:11 Uhr

Also die Parameter kommen korrekt an. Ich bin einfach ratlos, denn eigentlich ist es in der Tat so, dass das PHP-Skript nichts mit dem Client zu tun haben kann. Aber trotzdem wird nur im IE nichts in die Datenbank geschrieben....

  • Anmelden oder Registrieren um Kommentare zu schreiben

Also mit dem, was du hier

Eingetragen von digganet (33)
am 15.03.2010 - 14:17 Uhr

Also mit dem, was du hier schreibst, ist eine Fehleranalyse kaum möglich. Fahr doch mal ein paar Tests. Oder baue in deinen Code nach jeder Aktion eine Ausgabe/ein Logging ein und beobachte, wie sich dein Script verhält. Was sagt das Apache-Log? Oder gibt der Datanbankserver Fehlermeldungen aus? ...

  • Anmelden oder Registrieren um Kommentare zu schreiben

Habe ich schon alles. Es ist

Eingetragen von Kyuss (12)
am 15.03.2010 - 14:36 Uhr

Habe ich schon alles. Es ist so als wenn er das db_query-Befehl einfach ignorieren würde... Es passiert einfach rein gar nichts. Ich denke, ich muss mein ganzes Modul mal überdenken...

  • Anmelden oder Registrieren um Kommentare zu schreiben

Wenn dein oben geposteter

Eingetragen von digganet (33)
am 15.03.2010 - 14:49 Uhr

Wenn dein oben geposteter Code dein Modul sein soll, ist das kein wirkliches Drupal-Modul.
Ein solches würde wirklich nur Modul sein und z.b. die Bootstrap-Phase Drupal überlassen. ;)

  • Anmelden oder Registrieren um Kommentare zu schreiben

das ist natürlich nur ein

Eingetragen von Kyuss (12)
am 15.03.2010 - 15:01 Uhr

das ist natürlich nur ein kleiner teil. sk.php ist eine kleine "externe" PHP-Datei, die den Bootstrap für db_query benötigt.

Aber JQuery scheint ne feine Sache zu sein, mir war vorher gar nicht bewusst das es das überhaupt gibt... naja, es gibt noch viel zu lernen ;-)

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
  • Update Manger läst sich nicht Installieren
Weiter

Neue Kommentare

  • melde mich mal wieder, da ich
    vor 2 Wochen 16 Stunden
  • Hey danke
    vor 2 Wochen 1 Tag
  • Update: jetzt gibt's ein
    vor 2 Wochen 2 Tagen
  • Hallo, im Prinzip habe ich
    vor 2 Wochen 6 Tagen
  • Da scheint die Terminologie
    vor 2 Wochen 6 Tagen
  • Kannst doch auch alles direkt
    vor 3 Wochen 3 Tagen
  • In der entsprechenden View
    vor 3 Wochen 3 Tagen
  • Dazu müsstest Du vermutlich
    vor 3 Wochen 3 Tagen
  • gelöst
    vor 6 Wochen 13 Stunden
  • Ja natürlich. Dass ist etwas,
    vor 6 Wochen 1 Tag

Statistik

Beiträge im Forum: 250233
Registrierte User: 20452

Neue User:

  • ByteScrapers
  • Mroppoofpaync
  • 4aficiona2

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 28 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association