Hallo,

es kommt sehr selten vor, dass ich Elroy, der wieder einmal vor mir hier geantwortet hat ;) , widerspreche. Denn er ist ein Experte auf dem Gebiet. Aber was Du machen möchtest, lässt sich doch verwirklichen. Nur ist es sehr kompliziert und bedarf einer Menge vorheriger Planung und Denkarbeit.

Nötig hierfür ist zuerst einmal Javascript. CSS und HTML sind keine Programmiersprachen und PHP läuft ausschließlich auf dem Server, nicht auf dem Clienten (Browser), und hat keine Ahnung, was im Browser vor sich geht.

Dann sind zwei von diesen vermaledeiten IFrames nötig. Deren Verwendung empfehle ich eigentlich überhaupt nicht, da sie aus der Steinzeit der Webentwicklung stammen und es heutzutage bessere Möglichkeiten gibt. Aber in diesem Fall geht es leider nicht ohne. Das eine IFrame bildet quasi Deine komplette Webseite (oder den Teil, den Du mit diesem Modul ausstatten willst). Das zweite IFrame bleibt unsichtbar und übernimmt nur die Steuerung der Inhalte des "Haupt"-IFrames (wie so etwas geht siehe: http://de.selfhtml.org/javascript/beispiele/zweiframes.htm). Das "Steuerungs"-IFrame hält jedoch Kontakt mit dem Server durch ständiges Sich-Neu-Laden. (Bzw. wesentlich besser und nicht so stark den Browser belastend, sekündlich mittels Cookie nur eine Anfrage an den Server sendend, ob es Änderungen gibt, und wenn ja, dann komplettes Neuladen, damit die aktuellen Daten übermittelt werden. Bei sehr wenig Daten wäre selbst das nur mittels Cookies machbar.)

Übermittelt werden die Vorgänge im Browser (das Verschieben eines Elements zum Beispiel) ebenfalls von den Javascript des "Steuerungs"-Fframes, indem Du irgendeinem an sich sinnlosen HTML-Element eine neue Source-Adresse zuweist, die einem PHP-Script auf Deinem Server entspricht, was die Daten annimmt und entsprechend verarbeitet. Beispiel:

Javascript:
document.getElementById("sinnlos").src="deine_webseite/server.php?element=feld7&neuX=70&neuY=850";

Bei dem Model "server.php" musst Du aber darauf achten, dass der vom Browser empfangene Code nicht gecached wird, also entsprechende Header-Anweisungen senden. Sonst kann es passieren, dass der Browser sich die Daten aus seinem Cache holt, womit natürlich die neuen Daten nicht an den Server gesendet würden. Und Sinn dieser Sache ist ja nicht, dass da irgendwas neu im Browser geladen wird, sondern dass der Server geänderte Daten mitgeteilt bekommt.

Das Ganze hört sich jetzt ziemlich kompliziert an ... und ehrlich, das ist es auch. :-D Du brauchst also jede Menge Planung und genaue Zusammenhänge zwischen den einzelnen IFrames und Scripten (Javascript im Browser und PHP auf dem Server). Einfach so Heransetzen und Drauflosprogrammieren wird nix.

Solltest Du Dein Vorhaben nach meiner Erläuterung nicht gleich verworfen haben und es durchführen wollen, wünsche ich Dir viel Spaß bei diesem Projekt.

Gruß Kira-Bianca

...zur Antwort

Hallo,

Deine Problemstellung ist zwar nicht einfach, aber auch nicht unlösbar.

Du musst die beiden übereinander liegenden Bilder in einen Container (DIV) setzen und den mittels Javascript->onmouseover bzw. besser CSS->hover ansteuern. Da die Javascript-Variante im Grunde Blödsinn ist, gehe ich da jetzt auch nicht weiter drauf ein. Hier jetzt nur die CSS-Anweisungen:

Sobald der Container mit der Maus überfahren wird, muss sich seine Breite entsprechend der beiden Bilder vergrößern. Die Bilder bekommen dann eine CSS-Eigenschaft position zugewiesen, und zwar das eine position:left; und das andere position:right;. Wenn dann die Maus wieder vom Container gezogen wird (kein-hover-Effekt mehr), ordnen sich die Bilder wieder normal.

Damit das auch einwandfrei klappt, muss der Container jedoch zumindest die Eigenschaft position:relative; erhalten. Sofern der Container mitten in einer auch anderweitig genutzten Zeile steht, empfiehlt sich aber hier ein position:absolute;, damit die anderen Zeileninhalte nicht hin und her wackeln.

Wenn Du den kompletten Code brauchst, kann ich Dir auch da helfen. Einfach hier mit einem Kommentar zu meinem Beitrag melden.

Gruß Kira-Bianca

...zur Antwort

Hallo Elias,

die Klammern vor der Funktion bei document....onmouseout sind nicht nur überflüssig, sondern verursachen auch einen Fehler. Richtig ist:

document.getElementById("Star1").onmouseout = "rating(5)";

Aber wieso so umständlich mit einer extra onmouseout-Anweisung? Kürzer und wesentlich übersichtlicher wäre der Code als Einzeiler:

<img src="star_0.png" id="Star1" onmouseout="rating(5)" onmouseover="rating(1)" onClick="rating(1,1)" alt="schlecht">

Gruß Kira-Bianca

...zur Antwort

Hallo KleinOrange,

wie ich aus dem bisherigen Verlauf dieser Frage erkenne, ist das Problem, dass die Bilder irgendwo online stehen und Du sie gerne bei Dir lokal auf dem Rechner haben möchtest?

Welche Webseite hat über 1000 Bilder drauf????

Im Übrigen gäbe es da eine sehr einfache Möglichkeit, sofern Du ein PHP-Modul zur Verfügung hast (lokal z. B. XAMPP oder auf dem Server Deines Webanbieters). So viele Bilder aus dem Browser-Cache zu extrahieren, ist ein Mordsaufwand. Jedoch sehe ich hier nichts anderes als Bilderklau aus dem Netz, weswegen ich hier keinen weiteren Lösungsvorschlag näher erkläre. Denn so einen illegalen Sch..dreck unterstütze ich nicht! Solltest Du mir jedoch eine einleuchtende Antwort geben können, warum Du Bilder aus dem Netz lokal auf Deinen Rechner bekommen möchtest, die nichts mit Bilderklau zu tun hat, kann ich Dir da weiterhelfen.

Gruß Kira-Bianca

...zur Antwort

Hallo,

IPv6 kann bisher nur in internen Netzwerken verwendet werden. Eine Weiterleitung der Sequenzen (Datenpakete) via Internet ist nicht möglich, da das gesamte Internet noch auf IPv4 basiert.

Wenn Du bei der Anfrage eine IPv6 bekommst (sehr wahrscheinlich bei einem Compi im Netzwerk Deiner Firma?), dann hast Du selbst auch keine verwendbare IPv4, sondern nur der Server, der die Verbindung von Eurem internen IPv6-Netzwerk zum Internet (IPv4) herstellt.

Viele Grüße Kira-Bianca

...zur Antwort

Hallo,

Deine Probleme mit dem 2. Fehler wurden ja schon hinreichend hier geklärt.

Was den ersten Punkt betrifft, fast alle Browser (anscheinend nur nicht der beknackte Chrome) übergeben Ereigniswerte als Parameter der EVent-Funktion; der Ereigniswert befindet sich also in Deiner Variablen event.

Korrekt und die Wertübergabe in jedem Browser laufend muss es so aussehen:

document.onkeydown = function(event){
    if (!event){
        event = event.keyCode;
    }
    alert(event + " " + x + " " + y);

    switch(event){
    ...

Gruß Kira-Bianca

...zur Antwort

Hallo Vroni,

bei vielen fertigen Upload-Anwendungen fürs Hochladen von Dateien (Bildern) gibt es eine Option, wo Du einstellen kannst, welche Größe, sowohl Bytes sowie bei Bildern das Format, diese maximal haben dürfen.

Wenn Du ein selbstgeschriebenes (PHP-)Script verwendest, musst Du es dort mit einbauen (z. B. bei PHP mit der Abfrage filesize() und eventuelles Verwerfen zu großer Dateien bzw. getimagesize() für Bilddimension).

Gruß Kira-Bianca

...zur Antwort

Hallo Phippe,

da wie von anderen schon erwähnt, die Variable $_POST vor dem Abschicken des Formulars noch gar nicht existiert, muss Du diese entweder vor der Benutzung erstellen oder vor jeder Verwendung ein @ zur Unterdrückung einer Fehlerausgabe davorsetzen.

Codebeispiel für Variante 1 (erstellen einer $_POST, sofern nicht vorhanden):

<?php
    if (!isset($_POST)){
        foreach (array('d1', 'h1', 'm1', 's1') as $item){
            $_POST["$item"] = '';
        }
    }
?>

Variante 2: (@ vor jeder Verwendung):

<input type="text" name="d1" style="text-align:right;" value="<?php echo @$_POST['d1']; ?>">
alle anderen Input-Felder entsprechend

Gruß Kira-Bianca

...zur Antwort

Hallo,

Dein Ansatz ist, im Gegensatz zu dem Vorschlag von HorstSergio, den Du besser gleich in die Tonne wirfst, schon ganz richtig. Nur fehlen ein paar Prüf-Routinen und das zweite Einlesen der Textdatei ist unnötig.

$datei = 'invitations.txt';
$filearray = file("$datei");
if ($key = array_search("$enteredcode", $filearray)){
        echo "Zeile $key wird gelöscht<br>\n";
        unset($filearray["$key"]);
        if (!file_put_contents("$datei", $filearray)){
            echo "Schreibfehler beim Zurückschreiben in die Datei!<br>\n";
            }
    }else{
        echo "Der gesuchte Zeileninhalt ist nicht in der Datei vorhanden!<br>\n";
    }

Gruß
Kira-Bianca

...zur Antwort

Hallo,

was hast Du gegen Notepad++? Er hat zwar zahlreiche Funktionen (Schnickschnack ist es nicht, denn Schnichschnack ist sinnloses Zeug), aber Du musst sie ja nicht verwenden. Und sofern Du keine weiteren Funktionen dieses meiner Ansicht nach besten aller Editoren überhaupt verwendest, werden damit auch keinerlei Ressourcen Deines Compis belastet.

Ich glaube nicht, dass Du einen Editor mit nur von Dir gewünschten Funktionen findest. Denn so ein Editor wäre Schrott. Und wer macht sich außer Buffalo Gates (Microschrott) schon die Mühe, Schrott zu programmieren?

Gruß
Kira-Bianca

...zur Antwort

Hallo,

Aber wenn ich das Fenster des Browsers verkleinere geraten meine div Elemente ... durcheinander. ... Ich habe nämlich für jedes dieser Elemente eine feste Position programmiert.

Nun, dann musst Du Dich auch nicht wundern, wenn diese fest vorgegebenen Positionen von den Elementen auch eingehalten werden.

Ich nehme an, mit fester Vorgabe meinst Du CSS --> position:absolute;. Eine absolute Positionierung einzelner Elemente sollte (muss!) ein Ausnahmefall sein. Eine solche Positionierung nur um ein Element an einer bestimmten (genau betrachtet relativen!) Position der Webseite zu setzen, zeugt von Unwissenheit über CSS. Ich benutze absolut nur, wenn ich Elemente über andere Elemente legen will. Anderweitig ist fast generell eine Positionierung mit margin und padding wesentlich besser.. Und hier sind häufig Prozentangaben sinnvoll, weil diese den tatsächlichen Wert dann genau an der Fenstergröße berechnen.

Gruß
Kira-Bianca

...zur Antwort

Hallo,

eine einzige Datei kann auch nur in einer Kodierung abgespeichert werden. Aber Du kannst verschiedene Bausteine mit unterschiedlicher Kodierung bei der Abspeicherung daraus machen und diese dann mittels PHP -> include() oder require() zusammenfügen. Ich mache das selbst auch, sofern ich mit meinen Datenbanken arbeite. Denn aufgrund Vorgaben meines Providers sind die Zugangsdaten für die Datenbanken nur in den Kodierungen ISO-8859-x zu übertragen. Weil ich aber meine Quelltexte generell in UTF-8 abspeichere, muss ich die Zugangsdaten (in ISO-8859-2 abgespeichert) mit require() einbinden. Aber Vorsicht! Der Header des gesamten Quelltextes wird natürlich in dem Format gesetzt, wie die erste Datei abgespeichert oder manuell durch head() vorgegeben wurde.

...zur Antwort

Hallo, Felix,

diese Profiseite wird mit einen ganz simplen Editor geschrieben worden sein. Denn Leute mit Ahnung verwenden keine WYSIWYG-Editoren, sondern tipppseln ihren Quellcode mit der Hand.

Verwendete Programmiertechniken: HTML (genauer HTML5), selbstverständlich CSS, Javascript und eventuell basiert das Ganze auf einer PHP-Ausgabe. (wobei ich da sagen muss, für PHP ist mir der HTML-Quelltext zu sauber strukturiert).

Gruß
Kira-Bianca

...zur Antwort

Hallo Sandra,

es gibt zwar ein paar wenige Anbieter, die es auch ermöglichen, gewerbliche Webseiten kostenlos zu hosten. Aber ich glaube nicht, dass einer dieser Anbieter seine Werbung kostenlos ausschalten lässt. Denn Kostenlos-Anbieter finanzieren ihre Dienste ja zum Teil von Werbung. Auch macht es nicht gerade einen professionellen Eindruck, wenn Du eine Domäne http://deine_webseite.kostenloser-anbieter.de oder http://deine_webseite.de.dlt hast. Professionelle Seiten sollten schon eine eigene First-Level-Domäne haben (.de, .com, .eu oder in der Art, aber nicht .de.irgendwas_dahinter). Ansonsten wirkt Dein Onlineshop nicht seriös und Du kannst Dir diesen gleich ganz sparen.

ja obs legal ist ohne es steuerlich anzumelden weil zählt doch unter Selbstständigkeit oder?

Legal ist es, sofern Du diesen Shop beim Finanzamt angemeldet hast und ein vollständiges Impressum (Name, Adresse, Email-Postfach, Telefonnummer, Steuernummer bzw. der Hinweis, dass es sich um ein Kleinstgewerbe handelt, für den keine Steuernummer erforderlich ist). Mit diesem Satz habe ich ja auch gleich Deine Frage nach Anmeldung beantwortet. Egal, ob der Shop etwas einbringt oder nicht, musst Du ihn gleich beim Start beim Finanzamt anmelden und einen Gewerbeschein beantragen.

Abschließend empfehle ich Dir, lasse Dich bei Deinem geplanten online-Shop vorher von einem Profi beraten und plane vor allem ein nötiges Startkapital ein. Alles kostenlos ist Humbug und ergibt am Ende einen Witz-Shop, der Dir nur Arbeit macht, aber außer obendrein Frust nichts einbringt.

Gruß
Kira-Bianca

...zur Antwort

Hallo,

nachdem hier schon alle anderen mir einfallenden Fehlerursachen abgehandelt wurden und Du bestätigt hast, dass es an denen nicht liegt, vermute ich, Du hast aus welchen Gründen auch immer die Sprache manuell falsch vorgegeben. Klicke einmal in der Menüleiste oben auf Sprache --> H --> HTML. Dann müsste der Quellcode normalerweise nicht nur mit den HTML-Farbmarkierungen angezeigt werden, sondern auch mit dem Mime-Type "Text/HTML" abgespeichert werden, den der Browser zur Erkennung braucht, dass es sich um ein HTML-Dokument handelt.

Gruß
Kira-Bianca

...zur Antwort

unexpected TRETURN

Ich interpretiere das so, dass Du irgendwo versehentlich treturn statt dem gewollten return geschrieben hast.

Gruß
Kira-Bianca

...zur Antwort

Hallo DeGa,

erst einmal rate ich Dir dringend von der Verwendung von Musik ab, die sich beim Öffnen Deiner Seite sofort selbsttätig startet. Denn was Du als angenehme oder gute Musik betrachtest, empfinden viele andere Leute als nerviges Gedüdel oder einfach Krawall. Jegliche Art von Geräuschen, ganz besonders Musik, sollten auf einer Webseite also zum Start auf off stehen und nur vom/von der Seitenbesucher_in durch Klick auf einen Button oder ähnlich manuell anschaltbar sein. Und was sehr wichtig ist, auch wieder abschaltbar!

Für das Einbinden von Musik gibt es zwei Methoden je nach HTML-Version, in der Du Deine Webseite schreibst. Sofern Du

  • HTML5 schreibst, was ich auch empfehle, dann findest Du hier eine Anleitung: http://www.html-seminar.de/html5-musik-einbinden-audio.htm
  • HTML 4 und XHTML findest Du wie alle Dinge darüber auf den Seiten von Stefan Münz: http://de.selfhtml.org/html/dateiweit/hintergrundmusik.htm#einbinden

Gruß
Kira-Bianca

...zur Antwort

Hallo Primera,

eine Hilfe dieser Art würde den Rahmen von GuteFrage.net bei Weitem übersteigen. Das ist ein ganzes Scriptpaket, welches wir Dir hier komplett fertig schreiben und zur Verfügung stellen müssten, da Du ja keine Ahnung von PHP hast.. Versuche es einmal in einem Programmier-Forum. Vielleicht hast Du dort Glück und findest wen, der Dir die Arbeit erstellt..

Gruß Kira-Bianca

...zur Antwort

Hallo,

für die Umsetzung brauchst Du nir eine globale Variable in Javascript zu definieren, in der jeweils die Zeit gespeichert wird, bei der letztes Mal der Button geklickt wurde. Hier ein kleines Script, dass eine Meldung ausgibt, sofern der Button innerhalb von 2 bis 3 Sekunden (2000 bis 3000 Millisekunden) erneut geklickt wird. Weil mit einer globalen Variable gearbeitet werden muss, habe ich das ganze in einer eigenen Klasse (bei Javascript ist es ein Image) abgespeichert. Diese Klasse / dieses Image habe ich button genannt. Somit sind Kollisionen mit anderen Javascripten ausgeschlossen (natürlich nur, sofern dieser Klassenname nicht anderweitig verwendet wird, was aber sehr unwahrscheinlich, sofern man übersichtlich und mit Planung programmiert, komplett ausgeschlossen ist.)

<script type="text/javascript">
button = new Image();
button.clicked = 0;
button.click = function(){
    var current = new Date().getTime();
    if ((current >= (this.clicked+2000)) && (current <= (this.clicked+3000))){
        alert('Dieser Button wurde innerhalb der letzten 2 bis 3 Sekunden schon einmal geklickt.');
    }
    this.clicked = current;
}
</script>
...
<button type="button" onclick="button.click()">
    Hier klicken</button>
...

Gruß
Kira-Bianca

...zur Antwort