kostenloser Webspace werbefrei: lima-city


Bei klick auf ein Bild, einen Wert in Variable ablegen

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    nadsche

    nadsche hat kostenlosen Webspace.

    Hallo!

    Für meinen Webkicks Chat programmiere ich gerade einen Farbverlaufgenerator (für die User, damit sie ihren Nick einfärben können).

    Jetzt hab ich also ein formular erstellt, wo man seinen nick eingeben kann mit 2 feldern wo man die gewünschten farbcodes reinschreibt. Der verlauf funktioniert Prima. Aber ich will mehr usability.

    Das heisst: Ich möchte ein paar kleine bilder machen, jedes bekommt eine farbe. Wenn der user auf eines der bilder klickt, soll eine variable erstellt werden, die den farbcode des bildes in einer Variable ablegt. Den Farbcode soll PHP von mir aus aus dem dateinamen ablesen, für bessere vorschläge bin ich dankbar.

    Es wird 2 spalten geben, links die Farben der ersten Farbe für den verlauf, und rechts die 2. Farbe. in der Mitte wird der User eine Vorschau sehen, wie sein Nickname in der Farbe aussieht, die er wählt. Nach jedem Klick auf eine andere farbe soll auch die vorschau aktualisiert werden

    Aber wie mach ich das?

    Beitrag zuletzt geändert: 28.5.2009 16:46:05 von nadsche
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Hast du mal im Internet nach Farbpalletten gesucht? Ich glaube so etwas willst du doch machen oder? Ansonsten musst du auf das onclick event reagieren und dann sowas in der art schreiben $farbe = '#000000'
  4. Hallo,

    hast du einen Screenshot von der Oberfläche? Sonst kann man sich so schlecht vorstellen, was du meinst.

    ps3web
  5. Ich bezweifle, dass das mit PHP so funktioniert, jedenfalls nicht ohne die Seite neu laden zu lassen. Mit JavaScript lässt sich das schon eher realisieren.
  6. Wieso wollte man die Seite neu laden lassen? es soll bloß eine Variable verändert werden?!
  7. Bei PHP ist es so, dass der Code einmalig beim Aufruf der Seite ausgeführt wird. PHP Funktionen kannst du mit HTML nicht aufrufen.

    Beitrag zuletzt geändert: 28.5.2009 19:50:33 von devex
  8. Also,
    um das einmal klarzustellen: PHP ist serverseitig;
    der Code wird einmal vom Server geparst und dann das Resultat zum Browser geschickt.
    Wenn jetzt der Anwender auf ein Bild in seinem Browser klickt, kriegt der Server davon nichts mit, es sei denn, du hast es so gemacht. Das geht zum Beispiel mit JavaScript und AJAX, was ich dir in diesem Fall auch empfehlen würde.
    https://developer.mozilla.org/en/docs/AJAX:Getting_Started << einfach mal ein wenig reinlesen (man braucht übrigens JS-Kenntnisse)
    So kannst du das Bild, und nur das Bild, neuladen.
    Natürlich könntest du auch die gesamte Seite neuladen, aber bei größerem Traffic macht das weniger Sinn.
  9. Um in php eine Variable zu speichern müsste der Link so aussehen,
    1) <a href="#?Farbe=#d0e0f1">meine Farbe</a>
    2) <?php echo $_GET['Farbe']; >
    besser, diese in eine Session schreiben dann bleibt der Farbcode gespeichert.
    Natürlich muss beim klicken des Linkes die Seite neu geladen werden, denn wie es schon beschrieben war ist php serverseitig !!

    Einfacher zu realisieren ist es mit yavascript hierbei muss die Seite nicht neu geladen werden, dies würde dann in etwa so aussehen.

    <img src="images/farbe_blau.gif" alt="Einf&uuml;gen" width="23" height="22" border="0"></a><a href="javascript:insert('#d0e0f1');" title="Einf&uuml;gen">

    hier fehlt natürlich noch die textbox wo der code reingeschrieben werden soll.
  10. tradon schrieb:
    1) <a href="#?Farbe=#d0e0f1">meine Farbe</a>

    Das ergibt doch überhaupt nichts? Alles was hinter der Raute ist wird von PHP nicht mehr berücksichtigt. Du kannst natürlich bei dem Klick auf das Bild eine AJAX-Anfrage senden (dazu könntest du jQuery verwenden, dann kannst du das auch optisch einfacher schön gestalten, sprich ein und ausblenden des ladebuttons), die dann den Wert der Variable den du per COOKIE, Session oder DB gespeichert hast verändert.

    lg

    Edit: @progger: iwie hab ich deinen Beitrag überlesen :(

    Beitrag zuletzt geändert: 29.5.2009 23:43:23 von zenks
  11. OK überedet # ist tabu

    <a href="?Farbe=d0e0f1">meine Farbe</a>

    <?php $Farben = "#" . $_GET['Farbe'] ;?> /* in Variable gespeichert
    <p style="color: <?php echo $Farben ;?>;">TEXT</p>

    Viele Wege führen nach Rom ;-)
  12. Autor dieses Themas

    nadsche

    nadsche hat kostenlosen Webspace.

    Hallo Leute!

    Danke für eure Hilfe. Ich hab dann irgendwann erkannt das wohl javascript hierfür nicht so schlecht wäre.Damit es sich eben selbst aktualisiert, wenn man auf neue farben klickt... Da ich das aber nicht kann, hab ich es erstmal komplett mit PHP realisiert - das ding ist zwar erst wenige Tage on, aber die User nehmen es dankbar an ;) . Weiterentwickeln kann man es immernoch, und sobald ich JavaScript im Kasten hab, wird dsa neu aufgerollt

    Es geht ja nur darum, das viele User in meinem Chat noch Kinder sind, die kennen sich noch nicht so gut aus, und als mindestens der 15te User nach 2 Stunden immernoch nicht kapiert hat wie er denn nun seinen Nick färben kann hab ich mich entschlossen so einen Generator zu basteln.

    Hier ein Screenshot:
    http://img3.imagebanana.com/view/yuset1qx/screen.png

    Ich denke, es geht klar hervor wie es aufgebaut ist, jeder Button trägt als value den farbcode des Hintergrundes, war viel arbeit lol, linke undrechte spalte werden getrennt voneinander über ihren namen (alle in der linken spalte heissen links, rechts heissen sie rechts) angesprochen... Das ergebnis kriegt man jedesmal wenn man auf fertig geklickt hat. Für den Anfang mal nicht so schlecht... Die meiste arbeit war ja die Funktion zu schreiben die einen farbverlauf macht.

    Falls jemand vorschläge zur verbesserung hat, nehme ich gerne an
  13. Lass die Benutzer das Feld doch ruhig, wenn sie es wollen, manuell ausfüllen.
    Und wenn sie das nciht wollen, füllst du einfach mittels JavaScript das Feld selbst.

    Also etwa so:

    (http://www.ferdinand-malcher.de/extern/colorcode.html)
    <style type="text/css">
    <!--
    .colorfield{
       width:30px;
       height:30px;
       margin:10px;
       cursor:pointer;
       border:1px solid black;
    }
    -->
    </style>
    
    <script type="text/javascript">
    <!--
    function fillform(colorcode){
       document.getElementById('colorcode').value = colorcode;
    }
    -->
    </script>
    
    <div class="colorfield" style="background-color:#FF3A7B;" onclick="fillform('#FF3A7B')"></div>
    <div class="colorfield" style="background-color:#ABABAB;" onclick="fillform('#ABABAB')"></div>
    <div class="colorfield" style="background-color:#00FFAB;" onclick="fillform('#00FFAB')"></div>
    <div class="colorfield" style="background-color:#7B3D6A;" onclick="fillform('#7B3D6A')"></div>
    <br>
    <br>
    <input type="text" id="colorcode">


    Beitrag zuletzt geändert: 31.5.2009 13:56:59 von ferdinand24
  14. Autor dieses Themas

    nadsche

    nadsche hat kostenlosen Webspace.

    Soetwas in der art hab ich zu anfang gesucht =) . Die User klicken auf die gewünschte farbe, in einem textfeld soll dann der Farbcode gezeigt werden und in einem anderen Feld/Bereich eine Vorschau-Ausgabe, wie das ganze nun aussehen wird. Ich denke mal dein Code könnte mich da ein stückchen weiterbringen, danke =)
  15. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!