Zum Inhalt springen

Callam

Mitglieder
  • Gesamte Inhalte

    76
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von Callam

  1. Hi, ich möchte einen String mit Semikolon als Trennzeichen zerlegen. Das Semikolon soll allerdings nur dann als Trennzeichen erkannt werden, wenn es nicht zwischen zwei Singlequotes steht. Singlequotes können mit escaped werden durch ein Backslash. Ein Backslash kann durch ein Backslash escaped werden. Einfache RegExen bekomm ich zwar hin, aber sowas geht über meine kenntnisse weit hinaus. Kann mir da lemand bei helfen? Hintergrund des Ganzen ist, dass ich mehrere Querys in einem String habe, die durch Semikolon getrennt sind. Die Funktion multi_query kenne ich. Leider ist mir bei jedem Versuch damit die CPU Auslastung auf 100% gegangen und der Server hat nicht mehr reagiert. (Nein, es liegt nicht an einer zu langsammen CPU)
  2. Hi, ich möchte mehrere Dateien als zip packen. Ich benutze dafür die zip.lib.php von PHPMyAdmin, funktioniert soweit, das ich alle Dateien in das Archiv bekomme. Nur liegen dann alle Dateien im Root der Zip. Die sollen aber in zum teil in Unterordner Versucht habe ich es mit: $zipfile->addFile($content, $filename, filemtime($file)); in $content steht der binärcode der Datei, in $filename (zieldatei im zip) steht "unterordner/test.txt" habe es auch mit \ statt / versucht in $file steht der Pfad zur datei auf dem server kann mir wer sagen wie das richtig funktioniert?
  3. hi, nimm mal session_start() aus der main.php raus und setz es in der index.php vor require_once(dirname(__FILE__)."/main.php");
  4. Hi, mit Auswahllisten meine ich ein mehrzeilig dargestelltes select-tag mit css formatiert (größe, position) nutze onChange und on und den PeriodicalExecuter vom Prototype Framework dachte erst das liegt an dem, hab den aber abgeschaltet und festgestellt, der war nicht die ursache zum ie6... es ist nicht schön :old, aber leider muss ich damit leben, zumindest die nächsten paar monate noch. "Ein paar" PC`s ohne Internetfreigabe haben haben immer noch den ie6. einfach einen aktuellen browser installieren ist nicht drinn. sowas dauert in unternehmen mit mitarbeiterzahlen wie ne kleinstadt leider etwas länger als man es gerne hätte
  5. Hi, ich werkel an einer Intranet-Seite und habe dabei das Problem das meine Auswahllisten an den Rändern flackern. Kann euch leider keinen Link oder Quellcode Posten, da es sich wie gesagt um eine Intranet-Seite handelt und die Inhalte nicht für die Öffentlichkeit bestimmt sind, aber vllt. reicht es schon wenn ihr mir sagen könnt was die üblichen Verdächtigen bei solchen Problemen sind...
  6. Hi, ich benutze eine Javascript Klasse (Prototype Window Class) um Fenster im Browser darzustellen, die man verschieben, minimieren etc. kann. Wenn man in einem Formular unter target einen Fensternamen festlegt, der noch nicht verwendet wird, öffnet sich ein Popup, das diesen namen bekommt. Kann ich die Funktion, die diese Popups öffnet so überschreiben, das statt einem neuen Browserfenster zu öffnen der Construktor der Javascript Fensterklasse aufgerufen wird?
  7. ich habe einfach mal noch ein bisschen rumprobiert und hab dabei etwas entdeckt... in der System - Klasse habe ich eine funktion: function __wakeup() { echo "huhu"; } [/PHP] wenn ich diese auskommentiere funktioniert es einwandfrei. die funktion war nur als grundgerüst da, um später die mysqli neu zu erzeugen nun habe ich ein neues problem: "__wakeup" geht nicht... habe es auch schon versucht indem für das objekt serialize()/unserialize() wenn ich es in die session schreibe bzw wieder raus hole, hat aber auch nicht geholfen
  8. in der session datei steht nur: sys|N; und in der errorlog ist auch nichts
  9. ok dann ganz konkret der fehler: in $_SESSION['sys'] ist beim zweiten aufruf kein objekt, obwohl es beim ersten aufruf erzeugt und in der session gespeichert (mit print_r geprüft!) wurde
  10. vllt nicht ganz klar geworden, das ist mein problem
  11. hi, habe ein kleines problem mit sessions <?php require_once('local.inc'); require_once('classes/system.class'); session_start(); if(isset($_SESSION['sys'])) { $sys = $_SESSION['sys']; echo "aus session"; } else { echo 'neu erzeugt' $sys= new System($local); $_SESSION['sys']=$sys; } echo session_id(); ?>[/PHP] meinem verständniss nach müsste beim ersten aufruf der seite "neu erzeugt" ausgegeben werden, funktioniert auch soweit... beim zweiten aufruf sollte die session id identisch sein mit der vom ersten durchlauf, sind sie auch... nur die ausgabe "neu erzeugt" habe ich beim zweiten aufruf nicht erwartet, da dann ja ein objekt in $_SESSION['sys'] sein müsste der pfad zu den mit require once eingebundenen dateien ist richtig die klasse(schon getestet) System gibt in __construct nur den parameter $local mit print_r aus (das array $local steht in der datei local.inc) meine frage ist nun nicht, ob es sinn macht sessions so zu verwenden, ich wunder mich nur das php sich da nicht so verhält wie ich es erwartet hab und würde gern wissen warum dem so ist aja meine meine php version ist 5.3.1 falls wichtig ist...
  12. Callam

    javascript eval()

    meine idee war es, damit (ext js framework demo) mal ein bisschen rum zu spielen: ExtTop - Desktop Sample App der plan ist im prinzip recht simpel: ein formular fenster ist geöffnet eingegebene daten werden per ajax gesendet php holt aus db einstellungen, wie das fenster aussehen/sich verhalten soll, das geöffnet wird php schreibt javascript das das fenster mit allen einstellungen erzeugt + zusätzliches javascript(z.b. zum öffnen einer info meldung) responseText wird per eval ausgeführt gibt es da eine alternative, wie ich das hinbekommen kann ohne die probleme mit eval zu haben? Nützlich? wohl nicht, aber interessant drann rum zu basteln...
  13. Hi, ich bastel grad ein wenig mit ajax, nur um mal auszuprobieren was man damit so alles anstellen kann. dabei bin ich auf eine frage zu der javascript funktion eval gestoßen: überall heisst es, 'eval is evil', aber ich finde leider keine wirklich gute und verständliche erklärung worin genau das problem besteht (performance,sicherheit oder scriptfehler bei der verwendung).
  14. Ja, hab vergessen das dabei zu schreiben, das ist die Ubuntu Server Edition. Die Anleitung dafür hatte ich wo anders her entspricht aber der auf Ubuntu Users, nur die tips, was man machen kann wenns nicht funktioniert fehlten mir. Werde die heute abend mal durchprobieren vm ist für mich nicht so sinnvoll, da ich später, wenn ich mit den sachen die ich lernen will/muss fertig bin darauf einen game server laufen lassen wollte und den würde ich gerne nachts ausschalten und nur bei bedarf per wol einschalten
  15. Hi, ich habe auf einem rechner linux server edition 10.04 installiert, um den umgang mit linux, apache mysql und samba zu lernen, weswegen er nur bei bedarf an ist. da der rechner unten im keller steht und ich keine lust habe jedesmal nach unten zu laufen um ihn anzuschalten wollte ich wake over lan nutzen. im bios ist es auch eingestellt ind die diode von meiner onboard-netzwerkkarte leuchtet auch. mit ethtool habe ich wake on lan auf g (magic packet) eingestellt anschließend habe ich von einem anderen pc ein magic packet verschickt, aber nichts ist passiert... ich habe schon mehrere programme ausprobiert um magic packets zu schicken. hat jemand noch eine ahnung woran es liegen kann?
  16. ein bisschen weiter gekommen bin ich durch die beispiele, aber ich hab immer noch n paar kleine probleme... Mein Quellcode: <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=windows-1250"> <meta name="generator" content="PSPad editor, www.pspad.com"> <style> body { text-align:right; } p { margin:0px; } </style> <script src="prototype.js" type="text/javascript" language="Javascript"></script> <title></title> <script> var dingens = new PeriodicalExecuter(function(evt) { //Highlighting zurücksetzen if(document.body.innerText.length >0) { var range = document.selection.createRange(); range.moveStart("character", -10000000000000000); range.moveEnd ("character", -10000000000000000); range.moveStart('character',0); range.moveEnd('character',document.body.innerText.length); range.execCommand("ForeColor",false,"#000000"); } //sonst Verschiebung d. Highlighting durch Zeilenumbrüche var txt = document.body.innerText.replace(/\n/g,""); //Start u. Endposition d. Hervorhebung var rStart = txt.search(/\'(.*?)(\')/); var rEnd = txt.match(/\'(.*?)(\')/); rEnd = rEnd ? rEnd[0].length : false; //Hervorheben if(rEnd&&rStart) { var range = document.selection.createRange(); range.moveStart("character", -10000000000000000); range.moveEnd ("character", -10000000000000000); range.moveEnd("character",rEnd); range.moveStart("character", -10000000000000000); range.moveEnd ("character", -10000000000000000); range.moveStart("character",rStart); range.moveEnd("character",rEnd); range. var test = range.htmlText.match(/<\/P>/g); range.execCommand("ForeColor",false,"#FF0033"); } }, 5); //wenn fertig 1, jetzt 5 damit Testausgaben mit alert nicht nerven </script> </head> <body contenteditable="true" id="body" valign="right" oncontextmenu="alert(document.body.innerHTML);alert(document.body.innerText);return false;"> </body> </html> zum testen hab ich jetzt mal alles in eine datei gepackt, javascript und css kommen später natürlich in eigene dateien. mein problem ist nun an der stelle: var rStart = txt.search(/\'(.*?)(\')/); var rEnd = txt.match(/\'(.*?)(\')/); rEnd = rEnd ? rEnd[0].length : false; so bekomm ich leider nur den ersten treffer. versucht habe ich es, in dem ich alle treffer von txt.match(/\'(.*?)(\')/); durchgegangen bin, und dann wollte ich mit range.findText (hatt ich gestern irgendwo gefunden) die treffer markieren und dann mit range.execCommand("ForeColor",false,"#FF0033"); färben, hat aber nicht funktioniert... das ganze soll vor allem im ie6+ laufen, von der idee, das auch für andere browser zu machen habe ich mich vererst mal verabschiedet, da mir der aufwand für ein "nur mal schauen ob ichs hinbekomm" zu groß wäre
  17. deswegen: ... und weil ich da noch nen paar andere sachen als syntaxhighlighter mit ausprobieren wollte
  18. weil man da nur den ganzen inhalt der textarea formatieren kann, und nicht nur einzelne wörter (wie beim Syntaxhighlighting benötigt) ... oder geht das doch irgendwie?
  19. Hi, ich versuche mich grade an einem einfachen Syntaxhighlighter für sql. für das highlighting benutze ich ein div element, in dem der text per javascript und regex farblich formatiert wird, was auch soweit funktioniert eingaben in das div element mache ich per tastatur eventhandler, aber ich habe keine idee wie ich da einen curser einbaue der im text anzeigt, wo man grade schreibt oder einfügt, bzw mit dem man per pfeiltasten im text navigieren kann (der kleine blinkende strich den es in so gut wie jedem texteditor gibt). meine ideen waren bisher, das man nen 2 px breites bild oder nen | (alt gr + '<') nimmt, aber bei dem bild ka wie ichs positionieren soll und der strich verändert die zeilenlänge um ein zeichen und verursacht so nervige effekte bei automatischen zeilenumbrüchen ich habe es auch schon mit dem attribut contenteditable (oder so ähnlich) versucht, allerdings wird da der text schon von vornherein mit <p> tags formatiert und im firefox funktioniert es auch nicht sonderlich gut. hat da jemand eine idee, wie ich den cursor realisieren kann? bitte keine fertigen syntaxhighlighter, da es bei meinem versuch einen zu basteln nicht um praktischen nutzen, sondern nur um den lerneffekt geht...
  20. ok, das global die rechte setzen geht leider nicht, da er sonst z.b. alter oder drop auf die db anwenden könnte das mit der extra db für die temporären tabellen werde ich mal ausprobieren und schauen, ob die user da irgendwelchen schwachsinn mit anstellen können änderungen am quellcode der app sind eh noch geplant und der aufwand wär da nicht allzu groß
  21. oder anders gesagt: temporäre tabellen: create, drop, insert, alter, update, select und delete nichttemporäre tab: NUR select
  22. Ja, genau das ist ja mein problem, wie stelle ich die rechte für temporäre tabellen ein, die bei anlegen des users noch garnicht existieren? um das ganze nochmal etwas auszuführen, was ich genau vorhabe... ich sitze hier an einer webanwendung, in der der administrator die möglichkeit eine query in ein formular einzutippen und zu speichern bei klick auf einen link wird dann das ergebnis der query als html tabelle ausgegeben um den admin zu entlasten sollen die user, die zumindest ein bisschen ahnung von sql haben selbst solche auswertungen anlegen können, allerdings mit der beschränkung, das nur von bestimmten (standerd)-tabellen gelesen werden kann hierfür will ich einen neuen db user anlegen, der nur begrenzte rechte hat der user, der die query erstellen darf, soll auch temporäre tabellen nutzen können, da diese in verschiedenen fällen schneller sind als joins daher braucht der user vollen zugriff (incl. ändern) auf temporäre tabellen und nur eingeschränkte auf standardtabellen, und genau das ist das ding, das ich keine unterscheidung zwischen temporär und nicht temporär hinbekomme
  23. nein, die querys werden direkt hintereinander ausgeführt ohne abmelden zwischendurch die anweisungen funktionieren mit einem anderen user, der all rechte hat problemlos, nur nicht mit dem, der nur die create temporary table hat, was für mich bedeutet: das recht "create temporary table" != "select" auf die temporäre tabelle
  24. ich möchte die rechte ja nicht einschränken, sondern vergeben, das recht "create temporary table" leider nicht gleichzeitig bedeutet, dass auf diese auch selct, insert, update etc angewendet werden darf: drop temporary table if exists tmp_test; create temporary table tmp_test ... inhalte ...; select * from tmp_test; ... zum testen, kommt z.b. immer die fehlermeldung: SELECT command denied to user 'username'@'host' for table 'tmp_test'
  25. hi, danke für die schnelle antwort funtioniert das auch so wenn man alter, insert etc nur auf temporäre tabellen beschränken will? [grad getestet] ... hat leider nicht funktioniert, ergebnis war das der user alle rechte bekommen hat...

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...