Beiträge von chuqa

    Also ich denke, ich habe eine ganz gute Lösung gefunden. Nach Recherche der Xajax-Doku bin ich auf die Funktion xajax.getFormValues gestoßen, die als Parameter die ID des entsprechenden Formulars bekommt. Sie liefert alle Elemente des Formulars als Array. So kann ich beim Betätigen des Senden-Buttons meine Xajax-Funktion aufrufen, die dann entsprechend die Daten des Formulars auswertet:

    HTML
    <input type='submit' value='Ausf&uuml;hren' onclick="xajax_verarbeiteFormular(xajax.getFormValues('form_id'))" />

    Das action-Attribut im Formular gibt es nicht mehr, stattdessen wird das Absenden des Formulars abgebrochen:

    HTML
    <form id='form_id' name='entries' onsubmit='return false' method='post'>

    Den Namen der Checkboxen definiere ich mit dem entsprechenden Namen plus die Arrayklammern, so erhalte ich hinterher ein Array mit den ausgewählten Checkboxen:

    PHP
    "<input type='checkbox' name='id[]' value='".$row['id']."' />"

    Die Definition meiner Xajax-Funktion sieht dann wie folg aus:

    PHP
    function verarbeiteFormular($data){
    }

    In der Funktion kann ich dann über

    PHP
    $data['id']

    auf das Array zugreifen, welches alle angehakten Checkboxen enthält.

    Danke an alle, die sich um Hilfe bemüht haben ;)

    Nunja ich versuch mal was zusammen zustellen:
    Also das Formular baut sich eben nach einer Datenbankabfrage auf. Es entsteht eine Tabelle die in jeder Zeile ein Tupel der Relation enthält, also ungefähr wie folgt :

    Wie man sehen kann, befindet sich am Anfang jeder Zeile eine Checkbox. Nun möchte ich beim Klicken eines Buttons eine Funktion aufrufen, mit deren Hilfe ich dann die Tupel alle selektierten Checkboxen entsprechend bearbeiten kann. Der Button könnte ungefähr so aussehen:

    HTML
    <button name='btn_send' value='Ausf&uuml;hren' onclick='xajax_doAction(--Parameter???--)' />

    Die Xajax-Code erklärt sich dann ja von allein:

    PHP
    $xajax = new xajax();
    $xajax->registerFunction("doAction");
    function doAction($checkedValues){
       for($i=0;$i<count($checkedValues); $i++){
          // tu irgendwas mit $checkedValues[$i]...
       }
    }
    $xajax->processRequest();

    Der PHP-Code und der Aufruf des Xajax-Objektes damit das Ajax-Spezifische ausgeführt wird, ist auch nicht das Problem. Ich müsste eigentlich nur wissen, wie ich die angehakten Checkboxen auslesen und im onclick-Ereignis des Buttons als Parameter der Funktion übergeben kann. Als Array ist nur eine Idee von mir, gut möglich, dass das so nicht möglich ist...

    Hallo allerseits,

    ich habe auf einer Webseite mithilfe von xajax Ajax-Funktionalität mit PHP umgesetzt. Nun habe ich ein Formular und möchte entprechend einer bestimmten Aktion dann Ajax-Code ausführen. Bis dahin kein Problem. Ich definier mir entsprechend eine PHP-Funktion, die dann den Code ausführt. Ich kann auch der Funktion Javascript-Variablen übergeben, die dort verarbeitet werden können. Die Umwandlung meiner PHP-Funktion übernimmt das Xajax-Objekt. Nun zu meinem eigentlichen Problem:
    Ich habe ein Formular welches aus Datenbankfeldern aufgebaut wird und dementsprechend auch immer anders aussehen kann. Je nach Kardinalität der Tabelle sind in dem Formular eine Menge von Checkboxen zu sehen, wobei der Nutzer davon mehrere anhaken kann. Wie kann ich nun beim Aufruf der Ajax-Funktion dieser eine variable Menge an Parametern (angehakte Checkboxen) bzw. ein Array aus allen angehakten Checkboxen übergeben? Gibt es da eine Javascript-Funktion? Oder hat jemand eine andere Idee, wie ich das umsetzen kann?
    Wenn mein Problem nicht verstanden wurde, dann einfach nochmal nachfragen.

    Gruss chuqa

    Also wie gesagt, dass Gästebuch würde ich so lassen. Einträge die dann nicht dahin gehören, können ja dann von mir in eine Art Forum verschoben werden, welches dann eben die Plattform für jede Art von "Müll" und "Nicht-Müll" ist. Mal schauen was sich da machen lässt, mir geistert Einiges dazu grad im Kopf rum ;)

    Der Spamschutz ist bereits eingebaut und das Freischalten wäre jetzt auch nicht so das Problem. Das habe ich bei einer Kommentarfunktion von Bildern bereits realisiert. Ich muss dazu also kein fertiges Gb nehmen. Und wie gesagt, der Reiz ist für mich eh größer es selbst zu programmieren. Aber das Gb steht ja soweit und funktioniert, es geht eher darum, wie ich den Leuten trotzdem die Möglichkeit geben kann, sich zu äußern, ohne dass das Gästebuch zugemüllt wird. Ich bin ja froh dass die Seite besucht wird und das so eine rege Teilnahme erfolgt...

    Ja, beim Verfassen des oberen Textes fand ich die Idee eines Forums auch immer besser. Stellt sich für mich noch die Frage, ob ich es selber programmieren soll oder etwas fertiges nehme. Selber programmieren reizt mich auf jeden Fall mehr, zumal solche Sachen wie bbcode und Userverwaltung schon existieren. Trotzdem wird der Aufwand recht gross sein, dass umzusetzen. Etwas Fertiges reinsetzen ist zwar sehr einfach und schnell erledigt, fügt sich vermutlich aber nicht ideal ins Design der Seite ein. Mal schauen, welche Argumente schließlich des Ehrgeiz oder den inneren Schweinehund erschlagen ;)

    Hallo allerseits,
    ich habe für ein Fussballverein eine kleine Homepage gebastelt. Da es nunmal dazu gehört, hab ich auch ein Gästebuch programmiert. Und wie das eben so ist, sobald die Leute irgendwie ihren Senf abgeben können, tun sie das in Hülle und Fülle, so dass nach wenigen Tagen das Gästebuch nicht mehr als solches erkennbar ist, würde nicht noch "Gästebuch" darüber stehen. Nun möchte ich den Leuten aber auch nicht verbieten, sich zu äußern. Hat jemand eine hübsche Idee, wie ich eine Plattform schaffen kann, so dass das Gästebuch entlastet wird, aber die Leute trotzdem noch die Möglichkeit haben sich zu äußern, evtl auch mit mehr Möglichkeiten, wie Formatierungen, Einfügen von Bildern und Links, usw.? Ein Forum scheint mir dafür eigentlich nicht angemessen, oder vielleicht doch? Was sagt ihr dazu?

    Hallo allerseits,

    ich habe bei mir auf einer Seite mehrere div-Container untereinander. In dem Div-Container können Bilder sein, um die per float:left dann Text fließen soll. Außerdem haben die Bilder eine maximale Höhe und Breite. Ist der Text nun aber kürzer als das Bild, fließt das Bild praktisch aus dem div-Container hinaus. Kann mir jemand sagen, wie ich den div-Container so auf die Höhe strecke, dass der auf jeden Fall so hoch wie das Bild ist?
    Vielleicht hilft ja der Code etwas:
    Die div-Container:

    HTML
    <div class='c'>
       <img src='pics/pic1.jpg' alt='Pic' />
       <h2>bla</h2>
       <p>blablabla</p> 
    </div> 
    <div class='c'>
       <img src='pics/pic2.jpg' alt='Pic' />
       <h2>Blubb</h2>
       <p>blubbblubbblubb</p> 
    </div>

    Das CSS dazu:

    Hallo allerseits,

    irgendwie steh ich gerade auf dem Schlauch und finde einfach nicht den Grund, warum eine Liste bei mir immer links irgendwelchen Platz noch reserviert hat. Die Liste wird über PHP generiert und hat zum Beispiel dann folgende Struktur:

    Das CSS davon sieht wie folgt aus:

    Den Hintergrund bei "pageNavi_bottom ul" habe ich nur definiert um zu sehen wie weit sich die Liste erstreckt. Dadurch sehe ich, dass die Liste den gesamten div-Container ausfüllt. Allerdings beginnen die ersten Einträge der Liste ca. 50px rechts versetzt und nicht gleich am linken Rand. Kann mir jemand sagen, wie das zustande kommt?

    gruss chuqa

    Hallo allerseits,

    ich zerbreche mir schon seit einiger Zeit den Kopf darüber, wie ich Sponsoren angemessen auf einer Homepage würdigen kann. Dazu mal einige Gedankengänge
    Extra-Seite auf der per Banner die Sponsoren aufgelistet sind:
    [INDENT]Pro
    [/INDENT]

    • übersichtliche Darstellung aller Sponsoren
    • gleichberechtigte Anzeige aller Sponsoren (abgesehen von der Reihenfolge)


    [INDENT]Kontra
    [/INDENT]

    • konservativ und statisch im Sinne vom Design
    • für jeden Sponsor muss u.U. ein Banner kreiert werden
    • wer schaut sich solche Seiten voll Werbung an?


    Sponsoren werden auf unterschiedlichen "normalen" Informationsseiten eingebunden:[INDENT]Pro
    [/INDENT]

    • wenig Werbung bzw. besser verteilt


    [INDENT]Kontra
    [/INDENT]

    • Werbung sollte sich irgendwie in das Design der Seite einfügen
    • Klagen von Sponsoren, dass sich die eigene Werbung evtl. auf weniger besuchten Seiten befindet
    • evtl. zuviele Sponsoren für zu wenig einzelne Seiten


    Bei der Seite handelt es sich übrigens um die Internetpräsentation eines Fussballvereins.
    Ich hoffe ich bekomme ein paar Bewertungen und Argumente von euch, die meine Optionen dann positiver oder negativer gestalten. Auch alternative Optionen wären sehr gut, so dass sich mein Horizont etwas erweitert ;).
    Danke schonmal im Voraus.

    Gruss chuqa

    Ok danke, ich dachte es gibt vielleicht eine CSS-Mölichkeit.
    Ich habe es jetzt so gelöst, dass ich über PHP die CSS-Angabe formuliere. Dazu gibt es die Funktion

    Code
    getimagesize($pic)

    die mir die Breite und die Höhe des Originalbildes zurückgibt. Damit kann ich dann das Verhältnis ausrechnen und entsprechend das CSS für das entsprechende Bild generieren. Folgende kleine Klasse habe ich dafür gebastelt, die bisher aber nur für quadratische Zellen funktioniert (für mich allerdings bisher völlig ausreichend):

    Hallo allerseits,

    ich versuche grad eine kleine Galerie zu basteln. Dazu habe ich je Album eine Übersichtsseite, die sämtliche Bilder klein in Form einer Tabelle darstellt. Nun hat jede Zelle eine bestimmte Höhe und Breite. Die Bilder darin sollen die Höhe und Breite nicht überschreiten. Außerdem soll je nach Proportion entweder die Höhe oder die Breite entsprechend voll ausgefüllt werden. Sind die Seitenverhältnisse nicht gleich soll die kürzere Seite aber nicht auf die Größe der Tabellenzelle getreckt werden, so dass das Bild verzerrt wird. Am Besten dazu mal ein Beispiel:
    Angenommen meine Tabellenzellen sind 100px X 100px
    Jetzt habe ich drei Bilder

    • das Erste hat eine Seitenverhältnis (Höhe : Breite) von 4:3
    • das Zweite hat ein Seitenverhältnis (Höhe : Breite) von 3:4
    • das Dritte hat ein Seitenverhältnis (Höhe : Breite) von 1:1


    Die Bilder sollen nun folgende Maße in den Zellen haben

    • das Erste soll die Maße (Höhe X Breite) von 100px X 75px haben
    • das Zweite soll die Maße (Höhe X breite) von 75px X 100px haben
    • das Dritte soll die Maße (Höhe X Breite) von 100px X 100px haben


    Die Bilder sind alle entsprechend größer, dann für die Detailansicht.
    Ich habe es mit

    Code
    max-width: 100px;
    max-height: 100px;

    für die Bilder probiert, aber da werden die Bilder auf die gesamte Größe gestreckt, sowohl in der Höhe als auch in der Breite, sodass das Bild verzerrt wird. Die Proportionen von den Bildern sind unbekannt.
    Kann mir jemand helfen, wie ich das CSS von den Bildern definieren muss, damit ich den Effekt bekomme?

    dann machst halt

    Code
    td {border-right:1px solid #f00; border-top:1px solid #f00; }

    oder alternativ

    Code
    tr {border-top:1px solid #f00; }
    td {border-right:1px solid #f00; }

    mit cellspacing ziehst die tabelle nur unnötig in die höhe/breite

    Aber nicht wenn cellspacing genullt ist.
    Deine zweite Lösung ist zwar sehr elegant, aber ich kann einfach nicht davon lassen. Wenn cellspacing nicht auf null steht, wird zwischen den Zellen ein Abstand eingefügt, d.h. wenn du Rahmen um die Zellen machst, dann hast du zwischen den Zellen eine kleine Lücke, die das cellspacing (default oder eben angegeben) darstellt.

    zwischen den zellen und zeilen ?

    dann hilft dir css weiter:

    Code
    td { border:1px solid #f00; }

    btw. cellspacing hat mit rahmen garnix zu tun...

    Ist mir klar, dass das damit nichts zu tun hat, aber er hat sonst doppelte Striche zwischen zwei Zellen, von jeder Zelle einen Rand, sofern cellspacing größer 0 ist...

    Hi, du adressierst mit dem ersten Link eine Adresse von der Wurzel des Verzeichnisbaums aus. Mit dem zweiten Link adressierst du relativ von der aktuellen Position des Verzeichnisbaums. Ein kleines Beispiel dazu:
    Angenommen du hast in deinem "Wurzelordner" noch einen Ordner der z.B. "links" heißt und eine Datei "test.html". Nun hast du in dem Ordner "links" noch eine Datei "testlinks.html".
    Wenn du nun in der Datei "test.html" die beiden Links definierst:

    Code
    <a href="/links/testlinks.html">Link1</a>
    <a href="links/testlinks.html">Link2</a>

    so wirst du bei beiden Links, die Seite "testlinks.html" aufrufen können.
    Schreibst du nun allerdings genau die gleichen Links in die Datei "testlinks.html", die im Ordner "links" liegt und versuchst damit auf "testlinks.html" zuzugreifen, dann funktioniert nur der erste Link, da er die Seite von der Wurzel aus referenziert. Der zweite Link versucht relativ von der aktuellen Position aus eine Datei unter "links/testlinks.html" zu erreichen, da wir uns aber schon im ordner "links" befinden wird versucht auf die Datei "/links/links/testlinks.html" zuzugreifen. Das führt dann zum 404, wenn die Datei nicht vorhanden ist.
    Ich hoffe, dass war verständlich, wenn nicht, frag nochmal nach.

    hehe, ja genauso habe ich das gestern auch ausprobiert. Hab mir eine Hintergrundgrafik gebastelt, die bei den ersten 180px das Aussehen des Menüs hat und die verbleibenden 620px das Aussehen des Content-Divs. Diesen Hintergrund habe ich dann meinem site-Container zugewiesen. Der Hintergrund erstreckt sich also über den gesamten Bereich (auch Kopf- und Fuss-Container, die aber später überdeckt werden) Dass das schon die beste Lösung ist, hätte ich nicht gedacht, denn die div-Container sind ja immernoch nicht gleich hoch. Nagut, interessiert ja eigentlich auch nicht.
    Ich danke dir ;)