Zum Inhalt springen

forTeesSake

Mitglieder
  • Gesamte Inhalte

    923
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von forTeesSake

  1. hi baba. das verstehe ich nicht. kannst du mir deine idParent nummerierung genauer erklären? wo steht denn bei dir, dass die seite mit der id=2 das kind der seite mit der id=1 ist. genauso die anderen. denn die struktur ist ja folgende die zahlen für die seiten ebenen 1 Erste Seite 2 Zweite Seite 2 Dritte Seite 1 Vierte Seite
  2. hi und hallo. ich habe hier ein kleines CMS für einen kunden programmiert in dem er sich selbst seine seitenstruktur zusammenstellen kann. in der datenbank sieht dann seine seitentabelle folgendermassen aus: id idParent seitenName 1 0 Erste Seite 2 1 Zweite Seite (kind von id 1) 3 2 Dritte Seite (kind von id 2) 4 0 Vierte Seite ich möchte nun eine suchfunktion anbieten, die auch eine suche auf bestimmte "bereiche" der seite anbietet. d.h. in einem dropDown soll die gesamte seitenstruktur (bis zu einer bestimmten ebene) abgebildet werden und der benutzer wählt dann den bereich auf dem er seine suche beschränken will aus. die suche an sich über fulltext, mit AND und OR etc. ist überhaupt kein problem. vielmehr ist aber ein problem, dass ich nicht weiss wie ich mein SQL-statement aufbauen muss, damit ich in o.g. fall folgendes machen kann: - suchbegriff wird eingegeben z.b. "Seite" - begrenzung auf den bereich der "Ersten Seite" das bedeutet dass alle unterseiten der Ersten Seite gefunden werden müssen, da sie ja das Suchwort "Seite" im namen tragen. aber wie sieht das sql dann aus??? Select * WHERE MATCH (seitenName) AGAINST "Seite" AND idParent = 1 ist ja nicht richtig, da dann die Erste Seite und die Dritte Seite fehlen. ich bin schon am überlegen ob man das rekursiv lösen muss, aber komme im moment nicht wirklich drauf. oder: ist die gesamte tabellenstruktur in der form dafür vielleicht völlig ungeeignet? vielen dank
  3. jupp! vielen dank. dad haben wir dann gestern noch per AJAX gelöst. endlich..
  4. hi und hallo hätte mir in dem fall leider nichts gebracht, denn das ist das selbe das ich schon hatte und bedint dann wieder update felderwerte set wert = 'Schulz' where formid=1 and feldid=2 update felderwerte set wert = 'Meier' where formid=1 and feldid=3 update felderwerte set wert = 'Hempel' where formid=1 and feldid=4 update felderwerte set wert = 'Ziegler' where formid=1 and feldid=5 und genau das macht ja die geschwindigkeitsprobleme aus ;( aber ich hab nun nochma drüber geschlafen und mache das ganze folgendermassen: ich splitte meine html/php seite in zwei frames, eines davon 0% auf. beim speichern wird auf das 0% frame gepostet und im aktuellen frame die nächste seite angezeigt. somit kann der benutzer gleich weiter arbeiten und es wird im hintergrund gesaved. beim nächsten mal muss ich mir wohl beim anlegen der tabellen ein paar mehr gedanken machen... vielen dank für alles
  5. oki doki. ich werde das ganze mal ausprobieren. der tabellentyp ist übrigens MYISAM fieldID ist bei mir der primärschlüssel der tabelle. kann ich das noch optimaler machen? vielen dank!
  6. ja, du hast recht. mit "meiner" lösung ist es halt sehr einfach formulare zu erweitern. mit der "normalisierten" lösung muss ich nun für jedes formular eine eigene tabelle anlegen. und dort müssen alle spalten für jedes einzelne feld angelegt werden. und: daraus resultiert dann, dass meine save routine immer auf das jeweilige formular angepasst werden muss. bis jetzt konnte ich ja immer über "fieldName" und "formID" rausfinden um welches feld es geht. das ist bei mehreren tabellen mit unterschiedlichen feldbezeichnungen dann ja leider nicht mehr möglich *heul* somit muss ich für jedes formular einen eigenen query anlegen und wenn das formular erwitert wird auch wieder den query anpassen ;( schade schade. aber da muss wohl alles umgeschrieben werden. blöder mac....(oder blöder programmierer??) hihi
  7. nein das stimmt nicht, denn name, strasse, telefon sind ja keine felder sondern die feldinhalte des feldes fieldName... als eigenen satz brauche ich die, weil sich ein formular ja aus seinen feldern aufbaut
  8. es ist eine mysql datenbank. der mysql server hat die version 5.0.15 << Fasse das ganze in einer Transaktion zusammen. >> kannst dus mir genauer erklären? das ist ja genau das, was meine frage ist. oder meinst du in etwa so: $query = "UPDATE table Set x = y;" $query.= "UPDATE table Set x = y;" $query.= "UPDATE table Set x = y;" $query.= "UPDATE table Set x = y;" mysql_query($query); bringt das was? die fieldID ist der primärschlüssel der tabelle. fieldName ist gleichzeitig der name des korrespondierenden <input> feldes z.b. <input type="text" name="<?php echo($line['fieldName']); ?>">
  9. << tabelle formularfelder >> +--------------------------------------------+ |formID | fieldID | fieldName | fieldValue | +--------------------------------------------+ | 1 | 1 | name | 'müller' | | 1 | 2 | strasse | 'baumstr. 6'| | 1 | 3 | telefon | '7766555' | +--------------------------------------------+ hi und hallo, oben stehende tabelle ist für eine anwendung die folgendermassen funktioniert: - ein benutzer kann neue formulare unterschiedlicher typen anlegen - z.b. ein formular vom typ "person" oder "auftrag" usw. - es gibt formular templates, die für jeden typ alle felder enthalten - beim erzeugen eines neuen formulars werden dann einfach die felder des templates kopiert und in der tabelle eingefügt. - nun hat der anwender also das html formular basierend auf den feldern der datenbank vorliegen und will speichern der $query dafür sieht dann (in worten) folgendermassen aus: 1. hole alle felder [fieldName] aus der datenbank deren formID die übergebene [$_POST] ist. 2. {while] solange datensätze vorhanden => $line 3. [uPDATE] schreibe alle feldwerte [fieldValue] in die tabelle << formularfelder >> wo - die formID die übergebene [$_POST] ist - der fieldName gleich dem $line['fieldName] ist 4. ende. soweit so gut. leider gibt das erhebliche performance probleme. dazu habe ich auch einen post im [MAC] forum geschrieben. half aber alles nichts. das grosse problem sind wohl die bis zu 50 updates (bei formularen mit vielen feldern). frage: gibt es die möglichkeit die updates auf irgendeine art und weise zu einem einzigen update bzw. datenbankzugriff zusammen zu fassen??? also sowas wird [QUATSCH] UPDATE formularfelder SET fieldValue = 'test' WHERE fieldName = 'name', fieldValue = 'test2' WHERE fieldName = 'strasse', fieldValue = 'test2' WHERE fieldName = 'telefon' [/QUATSCH] natürlich geht das nicht, aber ich suche nach irgendwas, was dem nahe kommt. oder fällt evtl. jemandem eine tabellenstruktur ein, die ein einziges UPDATE leistet? vielen dank schonma
  10. sauber! also ich war vorhin ehrlich gesagt etwas in panik und onnte nicht wirklich rational denken. ich dachte nun wirklich dass und da jemand gehackt hat bzw. dass da jedem auf der welt tür und tor geöffnet ist. nun nach einiger zeit der beruhigung und jesterDays zusatzlicher beruhigung ist mir klar, dass das ganze doch so funktionieren kann und vor allem sicher ist wenn (!) ich noch einige abfragen vor dem speichrn (eben z.b. die oben genannte kundennummer und zusätzlich auch die existenz der seitenID bei genau diesem kunden überprüfe). vielen dank an alle
  11. du hast völlig recht. ich dachte mir aber, dass es einen erheblichen aufwand bedarf das dann alles unter kontrolle zu halten wenn updates der anwendung vorliegen. das würde dann nämlich bedeuten, dass ich über ftp auf jeder unserer kundendomains immer wieder bei updates alle dateien erneuern müsste. nehmen wir mal an wir hätten 1000 kunden (hihi), dann wäre ich sicherlich mehrere tage damit beschäftigt updates (und sei es auch nur eine zeile in einer php datei der statistik anwendung) aufzuspielen. so habe ich eine einzige datei die für alle kunden zentral liegt. das ist der hintergrund warum ich überhaupt auf diese externe include sache gestossen bin. ich wäre auch glücklich wenn jemand einen besseren vorschlag als diese (offenbar sehr unsichere) methode hätte.
  12. nein! die get variablen sieht man nicht wegen des includes!!! also noch einmal, das hier ein auszug aus dem php code: <html> <head> <title><?= $title ?></title> </head> <body> <div> text der kundenseite </div> <? $pageID = 100; $kundenID = xxx; $pageName = "test"; include("http://www.unseredomain.de/verwaltung/statistik.php?clientIP=".$_SERVER['REMOTE_ADDR']."&kundenID =".$kundenID ."&pageName =".$pageName"); ?> </body> </html> wer sieht denn da die $_GET variablen??? keiner. weil einfach nur eine externe (statistik schreibe seite) includiert wird. versteht jemand mein problem??
  13. hmm noch ein versuch: - kundenseite liegt auf http://kunde.de/index.php - dort wird vom benutzer eine seite http://kunde.de/index.php?page=100&kundenID=xxx&anotherInfo=test aufgerufen - die index.php sieht dann so aus: ### php code zum anzeigen der seite 100 ### externes include("http://unseredomain.de/statistik.inc.php?pageID=100&kundenID=xxx die datei http://unseredomain.de/statistik.inc.php sieht dann so aus: ### $pageID = $_GET['pageID'] = 100 ### $kundenID = $_GET['kundenID'] = xxx ### $info = $_GET['anotherInfo'] = test ### schreibe statistik, füge ein kudenID = $kundenID, pageID = $pageID, info = $info naja, und da kann sich ja jeder easy reinhängen indem er offensichtlich irgendwie den datenstrom analysiert und mitkriegt, dass die seite http://unseredomain.de/statistik.inc.php?pageID=100&kundenID=xxx aufgerufen wird. anber wie kriegt man das denn raus? das steht doch nur im php code...?? und wie kann ich das ganze eventuell besser/sicher lösen
  14. hi und hallo, ich sehe gerade erstaunt und entsetzt in unserer datenbank einträge die von irgendwelchen werbe und xxx-seiten stammen. die sache ist aber die, dass eigentlich niemand einträge in diese db machen kann. hintergrund: - es handelt sich um eine sehr einfach strukturierte statistik anwenwendung, um pagehits aufzuzeichnen. - die anwendung selbst liegt auf einem server bei uns. - auf kundenseiten wird beim aufruf einer seite immer unsere anwendung EXTERN includiert und zwar so: include("http://www.unseredomain.de/inc/statistik.inc?kundenID=".$kundenID."&pageID=".$pageID."&pageName=".$pageName.....etc.... damit ich dann in der statistik.inc über $_GET auf die variablen zugreifen kann tja, und nun entdecke ich heute in der datenbank einträge von xxx anbietern und so weiter. offensichtlich hängen die sich dazwischen und manipulieren die variable pageName und tragen ihre schmuddelseiten ein. mir ist im moment sehr klar, dass die anwendung offen wie einscheunentor ist. die fragen, die ich mir aber stelle sind 1. wie kommt den jemand da drauf genau auf diesen seiten einen versteckten datenstrom zu analysieren und sich da reinzuhängen? ich meine das includieren bekommt doch niemand so einfach von aussen mit? 2. was wären denn schutzmassnamen, dass jemand da erst gar nicht rankommt? 3. könnte ich die ganze sache eventuell auch noch anders lösen? das externe include habe ich gemacht damit ich wirklich immer nur eine einzige datei brauche um die statistik von allen domains der welt aus anzusteuern... klar ist mir, dass ich meine anwendung besser absichern kann z.b. durch verschlüsselte kundeIDs, aber mir gehts noch mehr um das "interne" wie oben beschrieben....
  15. letzter post für heute.... es gab also, wie damals auch...., echte server probs, wie gerade offiziell bestätigt. viele server waren davon nicht betroffen (so wie mein alter non pvp server auf dem ich heute locker hätte zocken können) aber halt ca 15 schon. irgendein "quest-log prob" weswegen die ca 15 server bis jetzt down sind. ärgerlich wenn man gerade an dem und am nächsten tag urlaub hat und sich mal ne schööööne lange wow (aus-)zeit gönnen wollte. so long.
  16. so viel zum termin um 17 uhr ... terrordar is immer noch down... meine anderen server funktionieren. dann muss ich wohl meinen pala neu skillen. bin mal gespannt wies dem mittlerweilen geht. hat bestimmt schon spinnweben unter den achseln
  17. ui peinlich. naja. auf meine anderen chars auf den anderen server komm ich auch da dachte ich...naja und so weiter ) vielen dank hawkeye
  18. hi und hallo, wollte nur fragen ob jemand anderes heute auch probleme hat auf den server "terrordar" zu kommen nach dem 1.9er patch... < ganz komisch. das ist schonmal vor monaten passiert da hab ich das realm gewechselt und mich gleich in meine magierin verliebt. aber die will ich auch weiter spielen. > mir wird aber "terrordar" gar nicht mehr zur auswahl gestellt *heul*
  19. jo dachte ich auch. isses aber nicht. der erste code funzt im ie nicht. wenn ich von "innen her" aufbaue funktioniert der code sowohl für IE als auch für firefox
  20. hmm bei mir wurde EIN fehler dadurch behoben dass ich "switch" klein geschrieben habe so wie es ja auch gehört... var dataMode = "Complete"; switch(dataMode) { case "Complete": alert("OK"); break; }
  21. endlich hab ichs. und falls es jemanden interessiert: der IE erwartet das anhängen von elementen sozusagen von der tiefsten ebene ab. also anstatt an ein <table> ein <tr> dann an dieses <tr> ein <td> anzuhängen muss man ein <td> an ein vorher erstelltes <tr> und dieses <tr> (mit dem <td> innendrin) an ein vorher erstelltes <table> anhängen. dann funktioniert alles für beide browser. freu.
  22. supergoil vielen vielen dank. damit kann ich nun an meinen systemadministrator rantreten^^ danke
  23. hi und hallo, wir wollen eine mitgliedsverwaltung einrichten, die nur über https erreichbar ist. im moment ist unsere strutur so angelegt, dass wir eine index.php haben und über parameter (wie ids oder template namen) den inhalt unserer seiten steuern. nun soll es so sein, dass wenn es sich um seiten der mitgliedsverwaltung handelt, diese nur über https erreichbar sind. Drei fragen dazu: 1. wie stelle ich sicher dass genau diese seiten nur über https erreichbar sind? 2. ist das eine apache einstellung? 3. oder wenn nicht, löse ich das über php. meine idee dazu: - wenn seite als "nur https" geflaggt - überprüfe broser url - wenn nur http:// darin vorkommt - redirect auf selbe adresse nur mit vorangestelltem https:// aber diese lösung hört sich für mich ein bisschen komisch an. weiss da jemand was? wäre sehr glücklich vielen dank schonmal
  24. also nicht dass ich wüsste. ich mache im endeffekt nichts anderes als: mysql_connect($dbhost,$dbuser,$dbpass) or die ("Leider ist ein Datenbankfehler aufgetreten. Bitte versuchen Sie es später noch einmal."); mysql_select_db($dbname) or die ("Leider ist ein Datenbankfehler aufgetreten. Bitte versuchen Sie es später noch einmal."); und vorher definiere ich halt die host, db und user variablen. sollte ich wohl cursor definieren? kann ich damit dann zeiger auf results wieder an den anfang schieben? oder was genau mache ich damit? vielen dank schonmal

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...