Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
(Web-) Design und webbasierte Sprachen Tipps & Tricks, Designabgleich, HTML & Javascript, Flash, ASP, PHP, Perl/CGI...

"Stylechanger"

Diskussion: "Stylechanger" im Forum (Web-) Design und webbasierte Sprachen, in der Kategorie Web, Network & Multimedia Palace; Anzeige Moins, also ich habe mir folgendes überlegt. Also ich würde gerne für meine Seite soetwas wie einen "Stylechanger" basteln. ...

Antwort
Alt 19.01.07, 16:23   #1 (permalink)
 
Benutzerbild von reaLInsanity
 
Registriert seit: 10.01.06
reaLInsanity Leistung: Facit NTK
reaLInsanity eine Nachricht über ICQ schicken reaLInsanity eine Nachricht über AIM schicken reaLInsanity eine Nachricht über Yahoo! schicken
Likes: 0
Standard "Stylechanger"

Anzeige

Moins,
also ich habe mir folgendes überlegt. Also ich würde gerne für meine Seite soetwas wie einen "Stylechanger" basteln. Spricht es würde dnan 3 CSS Dateien geben, einmal Blau, Rot und Grün, mit jeweils 3 verschiedenen Headerimages.

So das habe ich bisher gecodet, aber das will nicht so ganz funktionieren:

PHP-Code:
echo "<html>";
echo 
"<head>";
echo 
"<link rel=\"stylesheet\" type=\"text/css\" href=\"style_".$_GET['style'].".css\">"
Also übergeben werden die "Styles":
  • red
  • green
  • blue

... dementsprechend heißen auch die .CSS Dateien.... aber klappen tuts i-wie net.
Achja die Styles wählt man in einem Dropdownmenü, welches ich dann auch gerne Farbig ändern würde, wenns ginge :D
reaLInsanity ist offline   Mit Zitat antworten
Alt 19.01.07, 16:41   #2 (permalink)
 
Registriert seit: 17.10.06
:::Lük::: Leistung: Facit NTK
:::Lük::: eine Nachricht über ICQ schicken
Likes: 0
Standard

Rein PHPMäßig machst du nichts falsch es wäre nur gut wenn du mal schreiben würdest, was genau als Fehler ausgegeben wird.

PS.: Benutze anstatt den maskierten " lieber ' dann schleichen sich fehler die auf unübersichtlichkeit zurückzuführen sind nicht so schnell ein.

CU Lük
:::Lük::: ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 19.01.07, 16:52   #3 (permalink)
Themenstarter
 
Benutzerbild von reaLInsanity
 
Registriert seit: 10.01.06
reaLInsanity Leistung: Facit NTK
reaLInsanity eine Nachricht über ICQ schicken reaLInsanity eine Nachricht über AIM schicken reaLInsanity eine Nachricht über Yahoo! schicken
Likes: 0
Standard

Ja der Fehler ist der, das ich egal welchen Style ich auswähle eig nix passiert, der bleibt immer bei dem stanndart Blau, welches ja voreingestellt ist...
reaLInsanity ist offline   Mit Zitat antworten
Alt 19.01.07, 16:56   #4 (permalink)
 
Registriert seit: 08.12.04
freak4fun Leistung: Facit NTK
Likes: 0
Standard RE: "Stylechanger"

Zitat:
Original von Abstauber: Achja die Styles wählt man in einem Dropdownmenü, welches ich dann auch gerne Farbig ändern würde, wenns ginge
Die Methode des form muss der Method von der Variable übereinstimmen, also (GET / POST - form: method="POST" / $_POST["style"])
Kannst du dir den Inhalt der übergebenen Variable als Text anzeigen lassen?
Liegen die *.css im richtigen verzeichnis?

Da gibt es viele Fehlerquellen.

Also wie ":::Lük:::" sagt genaue Fehlermeldung posten, oder den kompltten relevanten Quelltext.

MfG
freak
freak4fun ist offline   Mit Zitat antworten
Alt 19.01.07, 16:57   #5 (permalink)
 
Registriert seit: 17.10.06
:::Lük::: Leistung: Facit NTK
:::Lük::: eine Nachricht über ICQ schicken
Likes: 0
Standard

Machs mit JavaScript (hab auf deiner HP gesehn, dass du das beherrscht) ich denke nicht, dass PHP für diese Aplikation Ideal ist.
Da hast du dann gleich auch den Vorteil, dass du deinem Server Rechenarbeit ersparst.
:::Lük::: ist offline   Mit Zitat antworten
Alt 19.01.07, 17:15   #6 (permalink)
 
Registriert seit: 13.01.06
ShadowFire Leistung: Facit NTK
Likes: 0
Standard

PHP-Code:
echo "<link rel=\"stylesheet\" type=\"text/css\" href=\"style_".$_REQUEST["style"].".css\">"?> 
mit dem _REQUEST spielt es keine rolle, über welche methode das formular gesendet wurde
zudem solltest du gewärleisten, dass in deinem fall die styles im selben verzeichnis liegen und den richtigen namen haben.
dabei auch auf groß/kleinschreibung achten
ShadowFire ist offline   Mit Zitat antworten
Alt 19.01.07, 17:16   #7 (permalink)
 
Registriert seit: 08.12.04
freak4fun Leistung: Facit NTK
Likes: 0
Standard

Zitat:
Original von :::Lük:::
Machs mit JavaScript (hab auf deiner HP gesehn, dass du das beherrscht) ich denke nicht, dass PHP für diese Aplikation Ideal ist.
Da hast du dann gleich auch den Vorteil, dass du deinem Server Rechenarbeit ersparst.
Da ich das mit PHP auf meine Seite mache und von JS keinen Plan hab, könntest du da mal den Code für posten? Danke!

MfG
freak
freak4fun ist offline   Mit Zitat antworten
Alt 19.01.07, 17:30   #8 (permalink)
 
Registriert seit: 02.10.02
SargentD Leistung: Facit NTK
SargentD eine Nachricht über ICQ schicken
Likes: 0
Standard

Du willst weder $_REQUEST noch $_GET noch $_POST direkt echo()'en.
google:cross site scripting
SargentD ist offline   Mit Zitat antworten
Alt 19.01.07, 17:51   #9 (permalink)
Themenstarter
 
Benutzerbild von reaLInsanity
 
Registriert seit: 10.01.06
reaLInsanity Leistung: Facit NTK
reaLInsanity eine Nachricht über ICQ schicken reaLInsanity eine Nachricht über AIM schicken reaLInsanity eine Nachricht über Yahoo! schicken
Likes: 0
Standard

ja jezz klappt es endlich

index.php
PHP-Code:
$style=$_POST['style'];

[...]

if(
$style==NULL){
echo 
"<link rel=\"stylesheet\" type=\"text/css\" href=\"style_normal.css\">";}
elseif(
$style=="normal"){
echo 
"<link rel=\"stylesheet\" type=\"text/css\" href=\"style_normal.css\">";}
else{
echo 
"<link rel=\"stylesheet\" type=\"text/css\" href=\"style_".$_POST['style'].".css\">";}

[...]

if(
$style==NULL){
echo 
" <img src=\"gfx/header_normal.jpg\" alt=\"reaL-Insanity.de | ".$user_online." Nutzer online\">";}
elseif(
$style=="normal"){
echo 
" <img src=\"gfx/header_normal.jpg\" alt=\"reaL-Insanity.de | ".$user_online." Nutzer online\">";}
else{
echo 
" <img src=\"gfx/header_".$_POST['style'].".gif\" alt=\"reaL-Insanity.de | ".$user_online." Nutzer online\">";} 
changestyle.php
PHP-Code:
echo "Wähle den Style:";
echo 
"<form action=\"index.php\" method=\"post\" class=\"style\">\n";             
echo 
"        <select name=\"style\" size=\"1\">";
echo 
"            <option>Wähle</option>";
echo 
"            <option>----------</option>";
echo 
"            <option value=\"normal\">Blue (Standart)</option>";
echo 
"            <option value=\"red\">Red</option>";
echo 
"            <option value=\"green\">Green</option>";
echo 
"        </select>"
echo 
"<input type=\"submit\" name=\"submit\" value=\"Save\" />";
echo 
"</form>"


Dankeschön
Lag daran das ich bei den If's anstatt == einfach = gemacht habe
ich depp... *schäm* xD

Ein Probleme habe ich jetzt dennoch noch, kann man das i-wie vllt machen das der die Farbe bei einem Link wechsel behält? Weil momentan ändert der die Farbe immer zu Blau... wenn ich eine neue Seite aufrufe
reaLInsanity ist offline   Mit Zitat antworten
Alt 19.01.07, 18:04   #10 (permalink)
 
Registriert seit: 02.10.02
SargentD Leistung: Facit NTK
SargentD eine Nachricht über ICQ schicken
Likes: 0
Standard

Zitat:
Original von Abstauber
$style=$_POST['style'];
Und was ist, wenn der User dann einen Link klickt? Dann wird die POST Variable nicht mehr mitgeschickt und er landet im StandardStyle. Meinen Tipp von vorhin hast du aber noch nicht beherzigt.

Und die Linkfarbe kannst du mit a:* in CSS ändern.

EDIT: Du willst ma dein Gästebuch prüfen ;-)

PS: SQL Injections sind böhse.
SargentD ist offline   Mit Zitat antworten
Alt 19.01.07, 18:09   #11 (permalink)
Themenstarter
 
Benutzerbild von reaLInsanity
 
Registriert seit: 10.01.06
reaLInsanity Leistung: Facit NTK
reaLInsanity eine Nachricht über ICQ schicken reaLInsanity eine Nachricht über AIM schicken reaLInsanity eine Nachricht über Yahoo! schicken
Likes: 0
Standard

Zitat:
Original von SargentD
Und was ist, wenn der User dann einen Link klickt? Dann wird die POST Variable nicht mehr mitgeschickt und er landet im StandardStyle.
genau das ist das problem was ich momentan habe

Zitat:
Original von SargentDMeinen Tipp von vorhin hast du aber noch nicht beherzigt.
Also die REQUEST's sind jezz drinne...

Zitat:
Original von SargentD
Und die Linkfarbe kannst du mit a:* in CSS ändern.
weiß ich doch

Zitat:
Original von SargentD
PS: SQL Injections sind böhse.
Wenn du mir sagst, was des is, änder ich des.
Bin erst seitn paar wochen an PHP und SQL dran, daher net böse sien, wenn mal dumme Fragen, meinerseits, kommen

Zitat:
Original von SargentD
EDIT: Du willst ma dein Gästebuch prüfen ;-)
HEHE dankeschön naja die HP ist eig, n00big meiner meinung nach ^^^bin ja auch nochn n00b
reaLInsanity ist offline   Mit Zitat antworten
Alt 19.01.07, 18:13   #12 (permalink)
 
Registriert seit: 02.10.02
SargentD Leistung: Facit NTK
SargentD eine Nachricht über ICQ schicken
Likes: 0
Standard

Zitat:
Original von Abstauber
Zitat:
Original von SargentD
Und was ist, wenn der User dann einen Link klickt? Dann wird die POST Variable nicht mehr mitgeschickt und er landet im StandardStyle.
genau das ist das problem was ich momentan habe

Zitat:
Original von SargentDMeinen Tipp von vorhin hast du aber noch nicht beherzigt.
Also die REQUEST's sind jezz drinne...
Fehlt nur noch die richtige übergabe dieser in allen Links, oder so ähnlich.

Aber lies bitte nochmal meinen Edit von oben und:
http://www.real-insanity.de/index.ph...cx/pump.jpg%3E

Du WILLST über Sicherheit nachdenken
SargentD ist offline   Mit Zitat antworten
Alt 19.01.07, 18:21   #13 (permalink)
Themenstarter
 
Benutzerbild von reaLInsanity
 
Registriert seit: 10.01.06
reaLInsanity Leistung: Facit NTK
reaLInsanity eine Nachricht über ICQ schicken reaLInsanity eine Nachricht über AIM schicken reaLInsanity eine Nachricht über Yahoo! schicken
Likes: 0
Standard

Zitat:
Original von SargentD
Aber lies bitte nochmal meinen Edit von oben und:
http://www.real-insanity.de/index.ph...cx/pump.jpg%3E

Du WILLST über Sicherheit nachdenken
Ah loL danke
über den Aspekt "Sicherheit" hab eig. nur in wenigen Zügen und net gerade weit genug bzw. stupide genug gedacht ^^ ich würd mal sagen: "Das ist mein erster Bug auf meiner Page"

ich les es mir mal durch
reaLInsanity ist offline   Mit Zitat antworten
Alt 19.01.07, 18:32   #14 (permalink)
 
Registriert seit: 02.10.02
SargentD Leistung: Facit NTK
SargentD eine Nachricht über ICQ schicken
Likes: 0
Standard

Na, immerhin bist du bereit zu lernen.
Das Design ist so übrogens mMn voll okay - ich mags etwas minimalistischer.

Zur Sicherheit:
1. Du willst dem Surfer misstrauen, heißt: alles was vom Surfer kommt wird übeprüft.
Sei es ein parameter im Link (section, style) oder ein Eintrag im Gästebuch, der gespeichert wird.
2. Wenn du etwas speicherst, solltest du drauf achten, dass entweder eine saubere, gefilterte Version der Eingabe gespeichert wird, oder eine unschädliche.
Als ich vorhin in dein Gästebuch was schrieben wollte, hatte ich zuerst ' statt " drinn, und dein mysql hat mir Fehler geworfen. Mit ein bisschen geschick koennt ich dein passwort fuer den Admin user rausfinden etc...
dazu gibts in PHP mysql_escape_sctring und mysql_real_escape_string.

Gruß
Zhe
SargentD ist offline   Mit Zitat antworten
Alt 20.01.07, 12:26   #15 (permalink)
 
Registriert seit: 17.10.06
:::Lük::: Leistung: Facit NTK
:::Lük::: eine Nachricht über ICQ schicken
Likes: 0
Standard

Halli hallo,
joa, so wie du das jetzt da gelöst hast geht es zwar aber der style wird beim weiteren surfen nicht übergeben (wie schon angesprochen).

Das kannst du über Cookies lösen und zwar so:

PHP-Code:
<?php

// Inhalt festlegen
$inhalt "normal"//hier kommt der geforderte style hin...z. B "normal" oder $_POST['style']

if (!$_COOKIE["cookie_style"]) {
  
// Cookie erzeugen
  
setcookie("cookie_style"$inhalttime()+600); //10 minuten-cookie setzen
  
$style $_COOKIE["cookie_style"];
} else {
  
$style $_COOKIE["cookie_style"];
}

?>
habs jetzt nich getestet...dürfte aber richtig angepasst funktionieren
vorausetzung ist natürlich, dass der user cookies aktiviert hat.

CU Lük
:::Lük::: ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Web, Network & Multimedia Palace » (Web-) Design und webbasierte Sprachen » "Stylechanger"
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61