Beiträge von Harro

    Mit einem Link zum Problem könnte man besser helfen, aber sehr wahrscheinlich wird die Breite der textarea irgendwo im CSS definiert. Ungefähr so (hängt vom Template ab):


    textarea {
    width: 200px;

    }

    Hallo Anka,

    ich werde danach suchen.

    Meinst Du diese Definition ist "stärker" als der Parameter "cols"?


    Gruß Harro

    Hallo,

    ich möchte eine textarea auf ein form bringen.

    Leider wird der Parameter "cols" dabei ignoriert.

    Egal welchen Wert ich für "cols" eintrage, die "textarea" hat immer die gleiche Breite.

    Die Anzahl der "rows" funktioniert.

    Code
    <p>Bemerkung:</p>
    <textarea  name="lcBemerkung" rows="8" cols="10"></textarea>

    Hat jemand eine Idee?


    Danke Harro

    Demnach soll jeder User die gleichen Anmeldedaten bekommen?

    ups, woraus schließt Du das? Ist es mir wieder mal gelungen mich mißverständlich auszudrücken?


    Nein, es soll nicht jeder die gleichen Anmeldedaten bekommen.

    Jeder soll sich mit seinen Anmeldedaten anmelden.


    Es soll vermieden werden, daß Leute sich mit den Anmeldedaten der Kollegen anmelden, weil Sie zu faul sind sich die eigenen zu beantragen.

    Beim Ausscheiden von Mitarbeitern, sollen diese natürlich auch keinen Zugriff mehr haben. Dann wird der Account gesperrt.


    Gruß Harro

    Die Idee ist, die Mehrfachverwendung der Anmeldedaten von verschiedenen Benutzern zu verhindern/erschweren.

    Wenn man sich mit den Anmeldedaten zu einer Zeit nur einmal einloggen kann, ist das Ziel zumindest teilweise erreicht.


    Klar könnten sich verschiedene Benutzer zu unterschiedlichen Zeiten einloggen.

    Aber da die App von den Benutzern recht häufig verwendet wird, würde es auf jeden fall schon mal erschwert.


    Es soll natürlich jeder berechtigte Benutzer Anmeldedaten erhalten.

    Hallo zusammen,

    ich möchte, daß Benutzer sich nicht mehrfach zur gleichen Zeit in JOOMLA anmelden können.

    Habe in den Benutzereinstellungen nichts dazu gefunden.

    Auch hier im Forum habe ich dazu nichts gefunden.

    Kann mir eigentlich nicht vorstellen, daß es das nicht gibt.

    Hat jemand einen Tipp dazu?


    Im Moment läuft noch JOOMLA 3.5.1, soll in den nächsten Tagen auf die aktuelle Version umgestellt werden.


    Danke Harro

    Hab mir die Sachen durchgelesen.

    Verstehe ich das richtig, daß ich nur Eingabefelder "escapen" muß?


    Hab noch eine Frage:
    strtolower() wandelt großgeschriebene Umlaute nicht in Kleinbuchstaben um.

    Hab das jetzt so gelöst.

    Gibt es eine Funktion, die das macht?

    Code
    $ort_decode = strtolower($suchort);
    $ort_decode = str_replace("Ä", "ä", $ort_decode);
    $ort_decode = str_replace("Ü", "ü", $ort_decode);
    $ort_decode = str_replace("Ö", "ö", $ort_decode);

    Hi,

    Habe eben mal nach "escapen" gesucht aber nichts (für mich) verständliches gefunden.

    Mir ist auch das Problem nicht klar und auch nicht was man genau escapen muß.

    Hast Du evtl einen Link wo man darüber mehr erfahren kann?


    Die Single-Quotes hatte ich bereits ersetzt. Ist es das was Du meinst?

    Ich mußte das machen, weil ich sonst die SELECT-Statements nicht speichern konnte.

    Code
    $sQueryCh = str_replace("'",'"',$sQuery);

    Gruß Harro

    Ich hoffe sehr dass du die values vorher escapest, sonst hast du dir da gerade eine sql Injection Lücke gebaut - prepared statements verhindern genau das und sind daher die schönere Lösung

    Weiß nicht was das ist "value escapen".

    Kannst Du mir das sagen?


    Ein "prepared Statement" habe ich leider nicht ans Laufen bekommen.

    Hab jetzt 1 1/2 Tage trial & error an diesem Statement gemacht.

    Der Admin hat mir versprochen erneut den Upgrade zu versuchen.


    Konnte das Problem nun endlich lösen.

    Nach einer Stunde Spaziergang und von vorne anfangen.

    Eigentlich bin ich mir nahezu sicher, daß ich genau DAS am Anfang auch versucht habe.


    Egal, nun kann das nächste Problem kommen.


    "<[Microsoft][ODBC Driver Manager] Der Treiber unterstützt diese Funktion nicht" (komischerweise in Deutsch)


    Die Meldung in Deutsch deutet darauf hin, daß der Fehler NICHT vom SQLBase ODBC-Treiber erzeugt wird.

    Alle ODBC-Fehler von SQLBase sind in Englisch.


    Die Meldung kommt scheinbar vom "<[Microsoft][ODBC Driver Manager]"


    Mit einer anderen Programmiersprache (Visual FoxPro) auf diesem Rechner, funktioniert der Insert mit "?".


    Könnte das Problem an meiner Joomla-Version (3.5.1) liegen?


    Gruß Harro

    Du suchst prepared statements

    Hallo SniperSister,

    hab mit dem Prepared Statement getestet.


    Der odbc_Prepare und odbc_Execute sind formal ok.


    Wenn ich das Fragezeichen im Statement drin habe, bekomme ich die Meldung:

    "<[Microsoft][ODBC Driver Manager] Der Treiber unterstützt diese Funktion nicht" (komischerweise in Deutsch)


    Wenn ich das Fragezeichen im Statement durch zwei Hochkommas ersetze, laufen die Befehle technisch, der Insert funktioniert.


    Irgendwie seltsam.


    Hab ich mal für Dich gemacht.

    Danke, verstanden. Werde mich bessern.


    Bin ein Stück weiter. Habe die einfachen Hochkommas gegen doppelte getauscht.

    Damit ist der String erst mal formal ok.

    Code
    $sQueryCh    = str_replace("'",'"',$sQuery);

    Schon gibt es die nächste Herausforderung:


    Ich möchte den String in einem MEMO-Feld speichern.

    Dazu muß das Feld über eine Bind-Variable "angeliefert" werden.

    Wie mache ich das?


    In den mir bekannten Programmiersprachen geht das so:

    Code
    sQuery = "Select * from meineTabelle where Irgendwas = '123' "
    mySQL = "INSERT INTO KIS_Protocol ( SQL_Befehl ) VALUES ( ?sQuery )"
    retcd = SQLEXEC(gnConnHandleKnG, mySQL)


    wenn ich das analog in PHP versuche, klappt das mit der Variablen "?sQuery" nicht.


    Code
    $sQuery = "Select * from meineTabelle where Irgendwas = '123' ";
    $sQuery = str_replace("'",'"',$sQuery);
    $sInsertBef = "INSERT INTO KIS_Protocol ( SQL_Befehl ) VALUES ( ?$sQuery )";
    $sInsertAbfrage = odbc_exec($gupta_connect, $sInsertBef);
    
    Wenn ich das ausführe, steht in dieser Variablen "$sInsertBef ":
    INSERT INTO KIS_Protocol ( SQL_Befehl ) VALUES ( ? Select * from meineTabelle where Irgendwas = "123"  );
    
    Die Variable wurde aufgelöst.

    Wie erreiche ich, daß die Variable nicht aufgelöst wird ??


    Hoffe, ich konnte mich verständlich ausdrücken.

    Gruß Harro

    Hallo zusammen,

    ich möchte SQL-Statements - neben anderen Daten - in einer Tabelle in einer SQL-DB speichern.


    Dazu baue ich mir einen Insert-Befehl in der Variablen "$sQuery".



    Grundsätzlich klappt der INSERT auch.


    Aber beim SQL-Befehl - der gespeichert werden soll - leider nicht.

    Variable "$sQuery"

    Wie kann ich Variable "$sQuery" so kapseln, daß der SQL-EXEC dies nur als Daten betrachtet und nicht als Befehl?


    Hat jemand einen Tipp?


    Danke Harro

    Keine Ahnung, ob man damit den Browser durcheinander bringt, aber ist denn die echo-Zeile in search.php so korrekt hinsichtlich ">" und "<" ?


    Was sollen diese Zeichen bewirken?

    Die Zeichen bewirken das sie das angezeigte Feld optisch begrenzen.

    Wenn diese Zeichen "><" direkt aneinander stehen, ist das gezeigte Feld leer.


    Mache ich gerne zum debuggen.


    Gruß Harro


    Evtl. kann man die Variable global definieren, dann aber in allen Funktionen wo sie gebraucht wird.

    Danke das war's.

    Hatte ich nicht erwartet.

    Ich hatte die Variable nur in der ersten Funktion als GLOBAL definiert.

    Meine Erwartung war, sie würde dann "nach unten weiter gereicht".


    Gruß Harro