Grafik atomatisch austauschen
forma
- php
Hallo Zusammen,
ich hab folgendes Problem. Auf meiner Website hab ich auf der Startseite im Header nen flashfilm. in den anderen menüpunkten wird dieser Film dirch ein gif ersetzt. So weit funst auch alles. Jetzt möchte ich haber, wenn jemand üner den menüpunkt Portfolio meine Website betritt, dass die flashannimation läuft und wenn man dann auf start geht das gif bild da ist.
Also bei Eintritt in die Website soll der Film laufen und an sonsten soll nen Gif da stehen.
Kann mir jemand verraten mit was ich sowas umsetzen muss/kann? oder wo nach man googlen muss?
schonmal vielen Dank im vorraus
Forma
echo $begrüßung;
Kann mir jemand verraten mit was ich sowas umsetzen muss/kann? oder wo nach man googlen muss?
Vermutlich möchtest du den nicht immer vorhandenen oder nicht immer wahrheitsgemäß vom Client ausgefüllten Referrer auswerten: $_SERVER['HTTP_REFERER']
echo "$verabschiedung $name";
Also kann man das problem mit php lösen. Aber warum ist das nicht ganz wahrheitsgemäß?und wie komme ich an die Daten, das jemand das erste mal da ist. Und muss ich nicht auch ein zeitlimit festegen, wann ich jemanden wieder neu kommen lasse? Mach ich das wirklich alle mit php?
Liebe Grüße
Forma
echo $begrüßung;
Also kann man das problem mit php lösen. Aber warum ist das nicht ganz wahrheitsgemäß?
Wie alle Angaben, die vom User kommen kann auch der Referrer gefälscht sein oder irgendwelchen Blödsinn enthalten. Gedacht war er, dass darin die URL der verweisenden Seite drin steht. Die meisten Browser senden den mit.
und wie komme ich an die Daten, das jemand das erste mal da ist.
Der Referrer enthält dann keine URL, die auf eine deiner Seiten passt.
Und muss ich nicht auch ein zeitlimit festegen, wann ich jemanden wieder neu kommen lasse?
Wenn er "neu" kommt, hat er keine URL von deiner Seite in seinem Referrer.
echo "$verabschiedung $name";
Ich hab da jetzt mal was geschrieben, bin mir aber nicht so ganz sicher, ob das auch klappt. Und nen fehler is auf jeden fall noch drin. Kann mir da jemand weiterhelfen und mir sagen wo der knakspunkt liegt?
<?php
if ($_SERVER['HTTP_REFERER']== "meine_domain") {
echo '<img src="ordner/bild.gif" alt="Bild" />';}
if ($_SERVER['HTTP_REFERER']== "nicht meine Seite (was kommt dahin?)") {
echo '<img src="ordner/bild.swf" alt="Bild" />';}
?>
Liebe Grüße
Forma
Moin
if ($_SERVER['HTTP_REFERER']== "nicht meine Seite (was kommt dahin?)")
-> if ($_SERVER['HTTP_REFERER']!= "meine_domain") {
Du musst natürlich nach einem Teil-String abfragen, weil sonst z.B. "http://meine_domain.de/irgendwas" bei der Abfrage if ($_SERVER['HTTP_REFERER']!= "http://meine_domain.de") ein false liefern würde.
Gruß Bobby
Du musst natürlich nach einem Teil-String abfragen, weil sonst z.B. "http://meine_domain.de/irgendwas" bei der Abfrage if ($_SERVER['HTTP_REFERER']!= "http://meine_domain.de") ein false liefern würde.
und wie mach ich das?
Ist denn mein ansatz schonmal richtig? Bin nicht der König was php angeht. Bin quasi gerade dabei es zu lernen.
Gruß Forma
hi,
Du musst natürlich nach einem Teil-String abfragen [...]
und wie mach ich das?
Du schaust im PHP-Manual unter Stringfunktionen nach, welche dir da wohl behilflich sein könnte(n).
gruß,
wahsaga
Moin
Du musst natürlich nach einem Teil-String abfragen, weil sonst z.B. "http://meine_domain.de/irgendwas" bei der Abfrage if ($_SERVER['HTTP_REFERER']!= "http://meine_domain.de") ein false liefern würde.
und wie mach ich das?
Ist denn mein ansatz schonmal richtig? Bin nicht der König was php angeht. Bin quasi gerade dabei es zu lernen.
Gruß Forma
Wenn ich dein Problem richtig verstanden habe, musst du auf deiner Portfolio-Seite abfragen ob der Referer eine Url deiner Seiten enthält, um zu entscheiden ob Flash oder gif. dies am besten mit einem String. Dazu z.B. folgender Link (weiß jetzt nicht obs die eleganteste Lösung ist. Arbeite normalerweise auch nicht mit Referer, weil diese eben gefälscht bzw. unterdrückt werden können)
Das gleiche musst du natürlich auf deiner Startseite einsetzen.
Der Ansatz war soweit schon korrekt.
Gruß Bobby
Also was nen string is weiß ich ja jetzt bwz. wusste ich auch vorher konnte nur mit dem namen nichts anfangen. Nur wo setze ich denn jetzt den string ein. Wenn wir jetzt mal davon ausgehen das ich den EREG string verwende. Wo muss der hin? und wenn ich das im Portfolio hinbekommen habe wie schreibe ich "wenn nicht meine_domain dann zeige flash"? Eigentlich hatte ich auch vor den Schnipzel in der index.php unterzubringen. Bis jetzt ist da halt ne if abrage zur $textdatei.
Also vom prinzip hab ich ja verstanden was ich machen will und schreiben muss, nur umsetzen geht garnicht. Also bis jetzt nicht.
Liebe grüße
Forma
Moin
Ein bisschen Mitdenken ist erwünscht!
Nimm einfach deinen Ansatz und den von mir geposteten Link. Kombiniere beides und sieh was herauskommt.
Gruß Bobby
Ich hab da ne Idee!
Is das Richtig?
<?php
if (ereg($_SERVER['HTTP_REFERER']== "meine_domain")) {
echo "$regs[<img src="ordner/bild.gif" alt="Bild" />]";
}
}
else {
echo "<img src="ordner/bild.swf" alt="Bild" />";
}
?>
Mit der Zeichensetzung bin ich mir garnicht sicher. Is das denn richtig?
Liebe Grüße
Forma
Moin
if (ereg($_SERVER['HTTP_REFERER']== "meine_domain")) {
falsch!
vergleiche deine Schreibweise mit der Schreibweise auf der von mir gelinkten Seite.
Ist
ereg(string Suchmuster, string Zeichenkette)
und
ereg($_SERVER['HTTP_REFERER']== "meine_domain")
das gleiche?
Ich glaube nich!
Es scheitert nur an dem Verständnis der ereg-Funktion! Vom allgemeinen Ansatz her ist es aber vollkommen richtig. Du wirst wenn du so weitermachst noch dahinter kommen.
Gruß Bobby
So?:
<?php
if (ereg ("([meine_domain])", $_SERVER['HTTP_REFERER'])) {
echo "$regs[<img src="ordner/bild.gif" alt="Bild" />]";
}
} else {
echo "<img src="ordner/bild.swf" alt="Bild" />";
}
?>
ICh kann mit den zahlen von den Tagen und Jahren nichts anfangen. Aber ich hoffe, dass ich das jetzt richtig verstanden habe. Ansonsten berichtige mich bitte. Finde deine hilfe echt super, vorallem kommt man weiter.
Liebe Grüße
Forma
Moin
So?:
<?php
if (ereg ("([meine_domain])", $_SERVER['HTTP_REFERER'])) {
^^ ^^
Warum die Klammern?
echo "$regs[<img src="ordner/bild.gif" alt="Bild" />]";
^^^^^^ ^
warum die Variable $regs?
}
} else {
^
warum diese schließende geschweifte Klammer?
echo "<img src="ordner/bild.swf" alt="Bild" />";
}?>
Ansonsten soweit richtig. Langsam wird es doch.
Gruß Bobby
Moin
Nachtrag:
echo "<img src="ordner/bild.swf" alt="Bild" />";
Ein SWF kannst du m.E. nicht als <img> einbinden!
Gruß Bobby
echo "<img src="ordner/bild.swf" alt="Bild" />";
Ein SWF kannst du m.E. nicht als <img> einbinden!
Ja das is mir klar:
Hier wie es einbinden würde:
<?php
if (ereg ("http://www.arne-sonnabend.com", $_SERVER['HTTP_REFERER'])) {
echo "<img src="pictures/header/logo.gif" alt="Logo" />";
}
else {
echo "<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="280" height="155">
<param name="movie" value="http://www.arne-sonnabend.com/pictures/header/logo_annimiert.swf">
<param name="quality" value="high">
<embed src="http://www.arne-sonnabend.com/pictures/header/logo_annimiert.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="280" height="155"></embed>
</object>";
}
?>
funst nur leider nicht so ganz.
Liebe Grüße
forma
Moin
echo "<img src="ordner/bild.swf" alt="Bild" />";
Ein SWF kannst du m.E. nicht als <img> einbinden!
Ja das is mir klar:
Hier wie es einbinden würde:<?php
if (ereg ("http://www.arne-sonnabend.com", $_SERVER['HTTP_REFERER'])) {
echo "<img src="pictures/header/logo.gif" alt="Logo" />";
}
else {
echo "<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="280" height="155">
<param name="movie" value="http://www.arne-sonnabend.com/pictures/header/logo_annimiert.swf">
<param name="quality" value="high">
<embed src="http://www.arne-sonnabend.com/pictures/header/logo_annimiert.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="280" height="155"></embed>
</object>";
}?>
funst nur leider nicht so ganz.
Liebe Grüße
forma
Achte auf deine Anführungszeichen! So wie du es hier hin gepostet hast funktionierts natürlich nicht! Außerdem <embed> gehört nicht zum HTML-Standard!
Gruß Bobby
So sieht es jetzt aus:
<?php
if (ereg ("http://www.arne-sonnabend.com", $_SERVER['HTTP_REFERER'])) {
echo "<img src="pictures/header/logo.gif" alt="Logo" />";
}
else {
echo "<object classid="CLSID:D27CDB6E-AE6D-11cf-96B8-444553540000" width="600" height="400"
codebase="http://active.macromedia.com/flash2/cabs/swflash.cab#version=4,0,0,0">
<param name="movie" value="http://www.arne-sonnabend.com/pictures/header/logo_annimiert.swf">
<param name="quality" value="high">
<param name="scale" value="exactfit">
<param name="menu" value="true">
<param name="bgcolor" value="#000040">
<embed src="nibbles.swf" quality="high" scale="exactfit" menu="false"
bgcolor="#000000" width="280" height="155" swLiveConnect="false"
type="application/x-shockwave-flash"
pluginspage="http://www.macromedia.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash">
</embed>
</object>"
}
?>
Also ich finde den " fehler nicht. Bzw ich finde ihn schon kann ihn aber nicht beheben. Nach dem Pfad der SWF Datei wird das " nicht anerkannt. Und das verstehe ich nicht.
Die einbing von SWF Dateien hab ich mir von Dreamweaver erstellen lassen. Komisch das das nicht passte. Wie kann ich denn jetzt den fehler beheben. Oder fehlt noch ein Anführungsstrich??
Liebe Grüße
Forma
Moin
Die einbing von SWF Dateien hab ich mir von Dreamweaver erstellen lassen. Komisch das das nicht passte. Wie kann ich denn jetzt den fehler beheben. Oder fehlt noch ein Anführungsstrich??
Es fehlt keins es sind einige zuviel!
als Beispiel nur mal die ersten Zeichen:
echo "<object classid="CLSID:D27CDB6E-AE6D-11cf-96B8-444553540000" ..
^ ^ ^
ok falsch falsch
diese falschen Anführungszeichen müssen maskiert mit slashes maskiert werden.
Gruß Bobby
Ich hab da jetzt mal nen bisschen was weggenommen. Passt aber immer noch nicht. Und ich weiß nicht warum. Aber es ist schon besser oder?
<?php
if (ereg ("http://www.arne-sonnabend.com", $_SERVER['HTTP_REFERER'])) {
echo "<img src="pictures/header/logo.gif" alt="Logo" />";
}
else {
echo "<object classid=CLSID:D27CDB6E-AE6D-11cf-96B8-444553540000 width="600" height="400"
codebase=http://active.macromedia.com/flash2/cabs/swflash.cab#version=4,0,0,0>
<param name="movie" value=http://www.arne-sonnabend.com/pictures/header/logo_annimiert.swf>
<param name="quality" value="high">
<param name="scale" value="exactfit">
<param name="menu" value="true">
<param name="bgcolor" value=#000040>
<embed src=http://www.arne-sonnabend.com/pictures/header/logo_annimiert.swf" quality="high" scale="exactfit" menu="false
bgcolor=#000000" width="280" height="155" swLiveConnect="false
type="application/x-shockwave-flash
pluginspage="http://www.macromedia.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash">
</embed>
</object>";
}
?>
Liebe Grüße
Forma
echo "<img src="pictures/header/logo.gif" alt="Logo" />";
in dieser Zeile muss nen fehler sein, das zeigt mir zumindest mein Browser an HTTP://arne-sonnabend.com/
ich verstehe aber nicht was das für ein fehler sein soll.
Liebe Grüße
Forma
Moin
Ich wollte eigentlich nix vorkauen aber hier ein kleines Beispiel.
echo "<img src="pictures/header/logo.gif" alt="Logo" />";
Was mach hier PHP?
echo ""; ist die aufrufende Function
echo "<img src=" pictures/header/logo.gif" alt="Logo" />";
^^^^^^^^^
Nun nimmt php nur diese Zeichen als echo alles andere wird versucht als PHP zu parsen.
Also wäre richtig:
echo "<img src="pictures/header/logo.gif" alt="Logo" />";
^ ^ ^ ^
Als Kleiner Tip: Wenn du über diese Grundregeln nicht bescheid weißt, fang bitte PHP nicht in der Mitte an zu lernen sondern von ganz vorn. Im Urschleim der Suppe.
Gruß Bobby
So, jetzt funst alles wie ne eins. Hier der Code:
<?php
if (ereg ("http://arne-sonnabend.com/", $_SERVER['HTTP_REFERER'])) {
echo "<img src="pictures/header/logo.gif" alt="Logo" />";
}
else {
echo "<object classid="CLSID:D27CDB6E-AE6D-11cf-96B8-444553540000" width="600" height="400"
codebase="http://active.macromedia.com/flash2/cabs/swflash.cab#version=4,0,0,0">
<param name="movie" value="http://www.arne-sonnabend.com/pictures/header/logo_annimiert.swf">
<param name="quality" value="high">
<param name="scale" value="exactfit">
<param name="menu" value="true">
<param name="bgcolor" value="#FFFFFF">
<embed src="http://www.arne-sonnabend.com/pictures/header/logo_annimiert.swf" quality="high" scale="exactfit" menu="false"
bgcolor="#FFFFFF" width="280" height="155" swLiveConnect="false"
type="application/x-shockwave-flash"
pluginspage="http://www.macromedia.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash">
</embed>
</object>";
}
?>
Besten Dank nochmal für die Hilfe. Du hast leider recht mit der php ahnung. Ich hab das ansatzweise in meiner ausbild als grafiker gelernt, aber da ich der einzige war der sich damit nur ein bisschen auseinandergesetzt hat wurde das Thema nicht sehr ausgearbeitet. Kennst du denn ne Gute Seite wo so einsteigersachen besprochen werden?
Vielen Dank nochmal und noch einen schönen Abend
Forma
Moin
Besten Dank nochmal für die Hilfe. Du hast leider recht mit der php ahnung. Ich hab das ansatzweise in meiner ausbild als grafiker gelernt, aber da ich der einzige war der sich damit nur ein bisschen auseinandergesetzt hat wurde das Thema nicht sehr ausgearbeitet. Kennst du denn ne Gute Seite wo so einsteigersachen besprochen werden?
Code ist soweit in Ordnung. Noch ein Hinweis. Schau bitte was der Validator
des W3C zu deiner Seite sagt. Es scheint nicht nur bei PHP zu haken.
Ansonsten kann ich dir nur empfehlen mal bei Google nach einem Anfänger-Tutorial zu suchen.
Gruß Bobby
Also so?
<?php
if (ereg ("meine_domain", $_SERVER['HTTP_REFERER'])) {
echo "<img src="ordner/bild.gif" alt="Bild" />";
}
else {
echo "<img src="ordner/bild.swf" alt="Bild" />";
}
?>
Moin
Also so?
<?php
if (ereg ("meine_domain", $_SERVER['HTTP_REFERER'])) {
echo "<img src="ordner/bild.gif" alt="Bild" />";
}
else {
echo "<img src="ordner/bild.swf" alt="Bild" />";
}?>
Siehe meinen Nachtrag: SWF-Objekte bitte so einbinden und nicht als <img>.
Vom PHP-Code her würd ich auf den ersten Blick sagen: Nun stimmts.
Gruß Bobby
Moin
|Wenn wir jetzt mal davon ausgehen das ich den EREG string verwende.
Nur als Ergänzung am Rande: ereg ist kein String. ereg() ist eine Funktion und vergleicht Strings nach Übereinstimmungen.
Strings = Zeichenketten!
Gruß Bobby