1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Kurze PHP Einbindung

Dieses Thema im Forum "Web-Programmierung" wurde erstellt von wapplegraph, 09.10.06.

  1. wapplegraph

    wapplegraph Normande

    Dabei seit:
    12.04.06
    Beiträge:
    571
    Tach

    Ich bin an einer Website fuer meine "Tante" zu programmieren, mit HTML. Bin hier in Spanien und habe mir gedacht, dass ich alles mit HTML mache, da ich dies schon so einigermassen kann. Habe mir auch vorgenommen, die Sprachen je mit einer neuen Site zu machen, da ich noch nicht Fit in PHP bin. Die erste Site ist heute mit Tabellen entstanden.

    Doch nun waere ein PHP Befehl von grossem Nutzen. :cool:

    Sie moechte, auf einer Seite, rechts, habe gedacht in einer kleinen Spalte, kleine Bilder und wenn man drauf klickt, dass links (in der Mitte) gross das Bild erscheint.
    Ist dies mit einem noch einfachen PHP Befehl moeglich? Koennte mir jemand helfen?


    Danke wapplegraph
     
  2. .holger

    .holger Geflammter Kardinal

    Dabei seit:
    13.09.04
    Beiträge:
    9.117
    Klar geht das. Du öffnest mit dem Klick die Seite, übergibst einen Parameter, der das Bild bestimmt, den setzt Du dann für das Bild ein. also so was:
    <?

    // das große Bild:

    echo "<img src=\"". $_REQUEST['parameter'] ."\">";


    //die anklickbaren Thumbnails:

    echo "<a href=\"".$_SERVER['PHP_SELF']."&parameter=ordner/bilddatei.png\" /"><img src=\"ordner/bilddatei_tn.png\"></a>";
    echo "<a href=\"".$_SERVER['PHP_SELF']."&parameter=ordner/bilddatei2.png\" /"><img src=\"ordner/bilddatei2_tn.png\"></a>";
    ?>

    aber ich denke einfacher und schneller geht es für Dich mit nem kleinen Javascript

    Ach und Seiten mit Tabellen zu gestalten ist ein ganz ganz böses no-no!
     
  3. Hilarious

    Hilarious Gelbe Schleswiger Reinette

    Dabei seit:
    10.08.05
    Beiträge:
    1.759
    :eek:
    Bitte bedenken: Wenn Du es genauso umsetzt, ist die Gefahr von Cross Site Scripting recht groß. Es ist zwar auf den ersten Blick unwahrscheinlich, aber Benutzereingaben und Parametern, die über die Adresse übermittelt werden, darf nie vertraut werden, sonst installiert Dir der nächste durchgeknallte 15jährige einen IRC-Relay über die URL auf Deinem Server.

    Besserer Vorschlag:

    Code:
    <?
    
       $grossebilder = array (
          'grossesbild_1.jpg',
          'grossesbild_2.jpg',
          'grossesbild_3.jpg'
       );
    
       $fraglichesbild = sprintf ("grossesbild_%u.jpg"
                               , $_GET['parameter']);
    
       // gibt es dort eine Datei, die ich oeffnen darf?
       if (is_readable ($fraglichesbild)) {
    
          // ist es ein regulaeres Bild?
          // Wenn ja, gib her, was Du weisst:
          if ($ausmasse = @getimagesize ($fraglichesbild)) {
    
             // gib das Bild aus
             printf ("<img src=\"%s\" height=\"%u\" width=\"%u\" style=\"border: 0\" />\n"
                , $fraglichesbild
                , $ausmasse[0]
                , $ausmasse[1]
             );
          } else {
             echo "<!-- Des isch ko Bild nicht, gsuffa! -->\n";
          }
       } else {
          echo "<!-- Koa Bild gfundn -->\n";
       }
    ?>
    
     
    Nathea gefällt das.
  4. wapplegraph

    wapplegraph Normande

    Dabei seit:
    12.04.06
    Beiträge:
    571
    Ja danke fuer die Antworten die muss ich jetzt einmal bearbeiten.

    Nun zu dem Design mit Tabellen, dies wollte ich eben wissen: Was ist das Modernste?

    wapplegraph
     
  5. skepsis

    skepsis Westfälische Tiefblüte

    Dabei seit:
    07.02.06
    Beiträge:
    1.060
    Zwar auch mit der einen oder anderen Schwäche, jedoch tables weit überlegen: CSS!

    Wenn du deine Seite einmal mit CSS zusammengebastelt hast, willst du nichts anderes mehr haben!
     
  6. stoebe

    stoebe Uelzener Rambour

    Dabei seit:
    23.12.05
    Beiträge:
    371
    Die Umsetzung mit CSS. Tabellen in HTML sind Schwachsinn.
    Literatur zum Start mit CSS findest du beispielsweise hier.


    Grüße,

    stoebe
     
  7. Hilarious

    Hilarious Gelbe Schleswiger Reinette

    Dabei seit:
    10.08.05
    Beiträge:
    1.759
    Modernität hin oder her, zu empfehlen ist der Einsatz von Tabellen nur dann, wenn Du auch Informationen tabellarisch darstellen möchtest. Für alles andere ist es für viele Anwendungsgebiete weniger geboten, Tabellen einzusetzen. Allerdings darf man das auch nicht zu dogmatisch sehen, denn viele der wichtigsten 100 WebSites dieses Planeten nutzen Tabellen auch zu Layout-Zwecken und die HTML-Designer sind auch nicht schlechtere Menschen deshalb.

    Falls Dich das Thema interessiert, such einmal nach Begriffen wie "table-free html" oder "liquid html" oder "fluid html". Falls Dich das Thema nicht interessiert, nimm halt Tabellen ;)
     
  8. wapplegraph

    wapplegraph Normande

    Dabei seit:
    12.04.06
    Beiträge:
    571
    Also die Formatierung, mache jetzt schon mit CSS, doch das HTML halt noch mit Tabellen.

    Hier der Link zu dem, was ich gestern und heute gemacht habe.
     
  9. Hilarious

    Hilarious Gelbe Schleswiger Reinette

    Dabei seit:
    10.08.05
    Beiträge:
    1.759
    Das ist auch gut ohne Tabellen umsetzbar, erfordert aber einiges an Übung und mehr Arbeiten am Quelltext. Vor allem lernt man dann die Mängel des MSIE recht genau kennen.
     
  10. csharp

    csharp Gast

    Das kannst du locker mit CSS und ohne Tabellen machen.
     
  11. wapplegraph

    wapplegraph Normande

    Dabei seit:
    12.04.06
    Beiträge:
    571
    ?
     
  12. Hilarious

    Hilarious Gelbe Schleswiger Reinette

    Dabei seit:
    10.08.05
    Beiträge:
    1.759
    MSIE = Microsoft Internet Explorer. Der offenbart Berechnungsfehler mal in Höhe mal in Breite, mal zeigt er nur die Hälfte an, mal ein bisschen zu viel. Hier eine von vielen Sites zum Thema:
    http://www.thestyleworks.de/tut-art/ie7.shtml
     
  13. wapplegraph

    wapplegraph Normande

    Dabei seit:
    12.04.06
    Beiträge:
    571
    Danke Hilarious

    Doch nun muss ich mich wieder auf die Huerde konzentrieren.

    Habe dein PHP noch nicht gecheckt, bin in diesem Skripting noch nicht vertraut.

    Koenntest du bitte, wenn du Zeit hast, mir dies einmal noch so aufschreiben, dass ich es fast uebernehmen koennte? Vielleicht ist es jetzt schon so und ich merke es noch nicht, dann braeuchte ich noch groessere Hilfestellungen.

    Das ist jetzt halt noch alles total neu und ich stelle vielleicht komische Fragen, doch kann es nicht aendern.

    Habe jetzt eben keine Zeit, um mich mit der Materie zu beschaeftigen, da ich in Spanien bin und dort die Website in einem akzeptablen Zustand zuruecklassen sollte und dazu gehoeren die Bilder.

    Zu dem Tabellen HTML, werde diese Site noch so beenden und dann, mache ich mich mit dem grossen CSS vertraut.

    Danke wapplegraph
     
  14. skepsis

    skepsis Westfälische Tiefblüte

    Dabei seit:
    07.02.06
    Beiträge:
    1.060
    Ist sicher die beste Variante! Mittendrin sollte man sowas nicht ändern.
    Wenn du sowieso die Formatierung bereits über CSS machst, solltest du mit einem CSS basiertem Seitenlayout keine großen Probleme haben. So sollte es für dich kein "großes" CSS mehr sein ;)

    Außerdem: Wenns gut läuft sparst du dir viel Quelltext und kannst auf die tausenden <tr>s und <td>s verzichten!
    Dadurch wird alles viel übersichtlicher und leichter anpassbar!
    Wenn ich noch an den Stress mit den tables denke: Kleinste Layoutveränderungen und du kannst fast alles neu schreiben!

    CSS vs. tables ist nicht nur ne Glaubenssache! Die Fakten sprechen eindeutig für CSS. Außer natürlich man will WIRKLICH Tabellarische Inhalte präsentieren, dann bleibt 'komischerweise' natürlich die tables erste Wahl ;)

    Gruß
     
    #14 skepsis, 10.10.06
    Zuletzt bearbeitet: 10.10.06
  15. wapplegraph

    wapplegraph Normande

    Dabei seit:
    12.04.06
    Beiträge:
    571
    Ja

    Noch zum CSS als ich die Websiten, noch mir Dreamweaver "zeichnete", da habe ich allles mit Ebenen gemacht. Wollte die jetzige Website zuerst auch mit Ebenen machen, doch es wurde mir irgendwie zu umstaendlich sie immer wieder zu verschieben, und die genaue Position zu berechnen.

    Da habe ich irgend einen Trick noch nicht. Eigentlich moechte ich schon alles mit divs machen. Doch nun habe ich zu Tabellen gegriffen.
    Es ist komisch, wenn ich mit Dreamweaver zeichne, dann benutze ich Ebenen. Im programmieren habe ich Tabellen benutzt.

    Waere froh um Tipps fuer das CSS und nun fuer mein Fotoproblem.

    wapplegraph
     
  16. Hilarious

    Hilarious Gelbe Schleswiger Reinette

    Dabei seit:
    10.08.05
    Beiträge:
    1.759
    Im Prinzip ist das Skript fertig zu Benutzung. Um es zu verwenden, speicherst Du dieses Skript zunächst unter einem eigenen Namen ab, zum Beispiel »grossebilder.php«. Als nächstes bereitest Du Deine Vorschaugalerie vor, die sämtliche Bild als kleine Vorschauen präsentiert. Die Bilder, die Du verwendest sollten einer gleichförmigen Bennenungsregel folgen, zum Beispiel ,»kleinesbild_1.jpg«, »kleinesbild_2.jpg«. Die großen Bilder werden dann analog benannt: »grossesbild_1.jpg«, »grossesbild_2.jpg« und so fort.

    Die kleinen Bilder ordnest Du nun auf der Seite an und verlinkst diese direkt mit dem Skript »grossebilder.php«, wobei Du bei jedem Link den zusätzlichen Parameter seiner Ordnungszahl anhängst, zum Beispiel so:
    Code:
    <a href="grossebilder.php?parameter=2" target="_blank"><img src="kleinesbild_1.jpg" style="border: 0" /></a>
    
    Der Effekt: Ein neues Fenster öffnet sich und zeigt, wenn alles klappt, das große Pendant des kleinen Bildes. Die Dateinamen musst Du nur noch anpassen, eventuell um Pfadangaben erweitern, und sicherstellen, dass alle Bilder korrekt benannt sind.

    Fertig.
     
  17. wapplegraph

    wapplegraph Normande

    Dabei seit:
    12.04.06
    Beiträge:
    571
    Danke vielmals Hilarious

    Dies kann ich gut gebrauchen, aber leider nicht hier, da ich herausgefunden habe, wenn dies stimmt, dass der Server nicht PHP unterstuetzt.

    Hier meine Test Site

    Code:
    <? php
    echo "Hallo Welt";
    ?>
    Dies sollte hoffentlich richtig sein.

    Nun habe ich es mit Frames geloest. Doch es sieht noch nicht schoen aus.

    Der Link hier

    Mein Frage, wie kann ich machen, dass das grosse Foto eingemittet angezeigt wird, und wie brine ich einen schwarzen Rahmen darum?

    Das ist nun wichtig!

    Danke wapplegraph
     
  18. Hilarious

    Hilarious Gelbe Schleswiger Reinette

    Dabei seit:
    10.08.05
    Beiträge:
    1.759
    Um das große Bild mittig darstellen zu können, sollte das Bild zunächst in Rahmen einer vollständigen HTML-Seite abgebildet werden. Zwar wäre hier PHP jetzt wirklich praktisch, aber es geht auch ohne: Entweder erzeugst Du für jedes Bild eine eigene HTML-Seite oder Du verwendest etwas komplizierteres JavaScript.

    Da die jeweils eigene HTML-Seite vermutlich zunächst attraktiver klingt, sollte diese HTML-Seite, die ja nur das Bild beinhalten soll, ein Block-Tag (zum Beispiel ein DIV) enthalten, welches Du dann per CSS zentriert (horizontal wie vertikal) positionierst. Der Trick bei dieser Lösung ist, dass es auch im MSIE funktioniert ;), leider musst Du die Angaben in der Positition den Bildmaßen anpassen, sofern Deine Großansichten unterschiedliche Maße (Breite, Höhe) haben. Wenn Du jetzt alle Großansichten gleichförmig machst, hast Du jede Menge arbeit gespart.

    Richtig viel Arbeit sparen kann man sich aber auch mit einer JavaScript-Bibliothek (= Sammlung fertig angerührter Skript-Desserts), die genau für Deinen Zweck ein nettes, fertiges Beispiel enthält. Diese Bibliothek kommt von Adobe (kaum zu glauben, aber das muss wohl mit der Macromedia-Übernahme zu tun haben) und heißt Spry. Eine Anwendung von Spry als Lösung für Bildergalerien gibt es auch. Mit ein wenig Erfahrung gelingt einem einen Spry-Galerie in einem Zeitraum von unter 60 Minuten.
     
    wapplegraph gefällt das.
  19. Hilarious

    Hilarious Gelbe Schleswiger Reinette

    Dabei seit:
    10.08.05
    Beiträge:
    1.759
  20. tilo

    tilo Gast


    Bevor du mit dem Layout anfängst: Nein, du möchtst nicht alles mit divs machen!
    Das war das Phänomen, als es hieß: Tabellen sind tabu, benutzt CSS!!! Man braucht nur in den Quellcode zu schauen und fand eine unübersichtliche Wolke aus divs .. da hätte man ebenso bei Tabelleb bleiben können.
    Der Umstieg diente ja nicht nur dem Zweck der Übersichtlichkeit, sondern der Semantik. Also sollte man auch entsprechende Tags nutzen, die einem von Haus aus zur Verfügung gestellt wurden.
    Was wovür sinnvoll ist, das muss man sich natürlich erstmal überlegen.
    Als kleines Beispiel zwei Seiten von mir:
    Meine Anfänge in Sachen CSS: ###gelöscht### ... dort siehst du "alles mit divs"
    Etwas fortgeschrittener: ###gelöscht#### ... der Unterschied sollte bei kurzem Überfliegen des Quelltextes klar werden.

    Gruß,
    Tilo
     
    #20 tilo, 11.10.06
    Zuletzt von einem Moderator bearbeitet: 12.06.07

Diese Seite empfehlen