php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS Probleme mit HTML5, Bootstrap oder jQuery ?

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 08-02-2008, 15:44
Dampfi
 Registrierter Benutzer
Links : Onlinestatus : Dampfi ist offline
Registriert seit: Jun 2006
Ort: Dresden
Beiträge: 59
Dampfi ist zur Zeit noch ein unbeschriebenes Blatt
Dampfi eine Nachricht über ICQ schicken
Standard Anfängerproblem mit Schleife

Hallo Community,

bitte seid mir nicht böse, wenn ich hier mal eine Anfängerfrage stelle, aber die SuFu nutzt mir in diesem Fall nix, da mir kein Suchwort einfällt -.-

Also ich bin völliger Neuling in Javascript, stelle aber fest das die Logik der von PHP ähnelt und finde mich deswegen eigentlich ganz gut zurecht. Nur die Syntax bereitet mir halt Probleme...

PHP-Code:
if (document.images) {
main_image1 = new Image;
main_image2 = new Image;
main_image3 = new Image;
main_image4 = new Image;
main_image5 = new Image;
main_image6 = new Image;
main_image7 = new Image;
main_image8 = new Image;
main_image9 = new Image;
main_image1.src 'img\/preview\/01.gif';
main_image2.src 'img\/preview\/02.gif';
main_image3.src 'img\/preview\/03.gif';
main_image4.src 'img\/preview\/04.gif';
main_image5.src 'img\/preview\/05.gif';
main_image6.src 'img\/preview\/06.gif';
main_image7.src 'img\/preview\/07.gif';
main_image8.src 'img\/preview\/08.gif';
main_image9.src 'img\/preview\/09.gif';

Diese Abhandlung möchte ich wegen der Länge lieber als Schleife durchlaufen lassen... Mir ist dazu folgendes eingefallen:

PHP-Code:
if (document.images) {
i=1;
while (
i<10){
'main_image' = new Image;
'main_image' '.src' 'img\/preview\/0' '.gif';
i++;
}

Das Skript funktioniert perfekt, solange ich es mit ersterer Schreibweise aufrufe. Ersetze ich diesen Teil durch die Schleife, bekomme ich den Fehler, das mir in der zugehörigen HTML-Datei "main_imageX.src" nicht definiert ist...

Aufgerufen wird die Funktion mit
PHP-Code:
onmouseover="document.preview.src=main_image5.src;" 
Also ich hab jetzt zig Seiten nach der korrekten Schreibweise für Schleifen gefunden, trotzdem verstehe ich nicht, warum das Skript mit der Schleife nicht läuft. Wo liegt der Fehler?

Danke für eure Hilfe.
Grüße aus Dresden,
Dampfi
Mit Zitat antworten
  #2 (permalink)  
Alt 08-02-2008, 15:52
jahlives
 Master
Links : Onlinestatus : jahlives ist offline
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.279
jahlives ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
bitte seid mir nicht böse, wenn ich hier mal eine Anfängerfrage stelle, aber die SuFu nutzt mir in diesem Fall nix, da mir kein Suchwort einfällt -.-
Schonmal das richtige Forum erwischt, das ist ein guter Anfang
Zitat:
Das Skript funktioniert perfekt, solange ich es mit ersterer Schreibweise aufrufe. Ersetze ich diesen Teil durch die Schleife, bekomme ich den Fehler, das mir in der zugehörigen HTML-Datei "main_imageX.src" nicht definiert ist...
Ist sie auch nicht! Eine String ist kein Variabelnnamen. imho müsstest du mit eval() arbeiten, um deine String zu Variabeln zu machen.
Und wenn du Vars erstellst, solltest du ihnen auch das Schlüsselwort var voranstellen.

Gruss

tobi
__________________
Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."
Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)
Mit Zitat antworten
  #3 (permalink)  
Alt 08-02-2008, 16:03
Dampfi
 Registrierter Benutzer
Links : Onlinestatus : Dampfi ist offline
Registriert seit: Jun 2006
Ort: Dresden
Beiträge: 59
Dampfi ist zur Zeit noch ein unbeschriebenes Blatt
Dampfi eine Nachricht über ICQ schicken
Standard

Hmm, danke erstmal für deine Antwort.

eval() sagt mir erstmal nix... Ich werde mir das mal anlesen und ausprobieren...
Mit Zitat antworten
  #4 (permalink)  
Alt 08-02-2008, 16:13
jahlives
 Master
Links : Onlinestatus : jahlives ist offline
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.279
jahlives ist zur Zeit noch ein unbeschriebenes Blatt
Standard

eval() hat die gleiche Funktion wie eval() in PHP
PHP-Code:
$str 'Hallo Welt';
eval(
"\$str='Tschüss Welt';");
echo 
$str
müsste dir 'Tschüss Welt' ausgeben
__________________
Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."
Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)
Mit Zitat antworten
  #5 (permalink)  
Alt 08-02-2008, 16:41
Dampfi
 Registrierter Benutzer
Links : Onlinestatus : Dampfi ist offline
Registriert seit: Jun 2006
Ort: Dresden
Beiträge: 59
Dampfi ist zur Zeit noch ein unbeschriebenes Blatt
Dampfi eine Nachricht über ICQ schicken
Standard

PHP-Code:
$str 'Hallo Welt';
eval(
"\$str='Tschüss Welt';");
echo 
$str
OK, soweit verstanden. Nur entzieht sich mir der Sinn dieser Funktion...

Abgeleitet aus deinem Beispiel wäre es doch in PHP einfacher das so zu machen:

PHP-Code:
$str 'Hallo Welt';
$str 'Tschüss Welt';
echo 
$str
Abgesehen von der Schwachsinnigkeit dieses Skripts: Das Resultat ist das gleiche... Wozu also eval() benutzen???
Nützt mir aber eh nix, weil ich ja jetzt in Javascript bin...

Hab den Dreh immernoch nicht raus, hab da jetzt mit "var" un "eval()" bissl rumgespielt, aber es hat nicht funktioniert. Soviele Möglichkeiten kann es doch da nicht geben. Wenn ich es schon nicht verstehe, dann hätte ich doch vielleicht zufällig das richtig einfügen müssen bei den paar Möglichkeiten!?
Mit Zitat antworten
  #6 (permalink)  
Alt 08-02-2008, 16:50
tontechniker
 PHP Senior
Links : Onlinestatus : tontechniker ist offline
Registriert seit: Jul 2005
Beiträge: 1.972
tontechniker ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Abgesehen von der Schwachsinnigkeit dieses Skripts: Das Resultat ist das gleiche... Wozu also eval() benutzen???
Zitat:
Wenn das übergebene Argument als Objekt oder Objekteigenschaft interpretiert werden kann, wird das Objekt bzw. die Objekteigenschaft zurückgegeben. Dies ist wichtig, wenn eine Zeichenkette (z.B. ein Formularfeldinhalt oder ein einer Funktion übergebener Parameter) als Objekt interpretiert werden soll.
__________________
Die Regeln | rtfm | register_globals | strings | SQL-Injections | []
Mit Zitat antworten
  #7 (permalink)  
Alt 08-02-2008, 17:19
Dampfi
 Registrierter Benutzer
Links : Onlinestatus : Dampfi ist offline
Registriert seit: Jun 2006
Ort: Dresden
Beiträge: 59
Dampfi ist zur Zeit noch ein unbeschriebenes Blatt
Dampfi eine Nachricht über ICQ schicken
Standard

Hmm, ok. Dann werde ich wohl eval() wirklich brauchen.

Trotzdem stimmt da was nicht.
PHP-Code:
i=1;
while (
i<10){
var 
test'main_image'+'.src' 'img\/preview\/0' '.gif';
i++;

Wenn ich nicht komplett falsch denke, speichert es mir nun meinen auszuführenden Befehl als String in der Variable "test". Richtig?

Anschließend rufe ich den Befehl folgendermaßen auf:
PHP-Code:
onmouseover="document.preview.src=eval(test);" 
Funktioniert aber irgendwie immernoch nicht!? BIn für jeden Denkanstoß dankbar, weil das will ich vorm Wochenende noch schaffen...
Mit Zitat antworten
  #8 (permalink)  
Alt 08-02-2008, 17:27
PHP-Desaster
 PHP Expert
Links : Onlinestatus : PHP-Desaster ist offline
Registriert seit: Mar 2006
Beiträge: 3.105
PHP-Desaster befindet sich auf einem aufstrebenden Ast
Standard

eval ist voll Käse an dieser Stelle! Du musst in deiner Schleife einfach vernünftig programmieren, dann geht das auch!
Versuch mal folgendes:
PHP-Code:
if (document.images) {
    var 
images = [];
    for( var 
i=1i<10i++ ) {
        
images[i] = new Image;
        
images[i].src 'img/preview/0' '.gif';
    }

Mit Zitat antworten
  #9 (permalink)  
Alt 08-02-2008, 17:41
Dampfi
 Registrierter Benutzer
Links : Onlinestatus : Dampfi ist offline
Registriert seit: Jun 2006
Ort: Dresden
Beiträge: 59
Dampfi ist zur Zeit noch ein unbeschriebenes Blatt
Dampfi eine Nachricht über ICQ schicken
Standard

Hab alles an mein Skript angepasst, funktioniert aber trotzdem nicht!
Trotzdem danke für deine Bemühung... Im Prinzip ist es ja wurscht ob for oder while (von der Schleife her), aber auch in deinem Beispiel kommt die Fehlermeldung: "images1 undefiniert".

Ach und sorry falls ich nerve, aber jeder fängt mal klein an

Also ich hab aus Spaß deine for-Schleife mal in eine while-Schleife umgewandelt (mag die lieber):

PHP-Code:
if (document.images) {
var 
i=1;
var 
images = [];
while (
i<10){
images[i] = new Image;
images[i].src 'img/preview/0' '.gif';
i++;
}

Auch hier kommt der gleiche Fehler... Also ist wohl dein Skript auch "nicht vernünftig" programmiert

Geändert von Dampfi (08-02-2008 um 17:49 Uhr)
Mit Zitat antworten
  #10 (permalink)  
Alt 08-02-2008, 17:50
PHP-Desaster
 PHP Expert
Links : Onlinestatus : PHP-Desaster ist offline
Registriert seit: Mar 2006
Beiträge: 3.105
PHP-Desaster befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
aber auch in deinem Beispiel kommt die Fehlermeldung: "images1 undefiniert".
In meinem Skript steht kein images1, das ist dein Fehler
Zeig mal deinen jetzigen Code her

PS: Und ja, for oder while ist natürlich egal!
Mit Zitat antworten
  #11 (permalink)  
Alt 08-02-2008, 17:59
Dampfi
 Registrierter Benutzer
Links : Onlinestatus : Dampfi ist offline
Registriert seit: Jun 2006
Ort: Dresden
Beiträge: 59
Dampfi ist zur Zeit noch ein unbeschriebenes Blatt
Dampfi eine Nachricht über ICQ schicken
Standard

Nee, "images1" steht bei dir natürlich nicht, sondern "images[i]"...

Und für das "[i]" soll er ja die Zahlen 1 bis 9 einsetzen. Da aber offenbar das Skript images[i] nicht definiert, erfolgt über die HTML-Ausgabe "images1", "images2", ..., "images9" der Fehler.

Skript steht im allerersten Post. Das ist alles was du brauchst denke ich. Im übrigen habe ich das "main_image" mit "images" ausgetauscht, nicht das du mich für vollkommen dumm hälst

Vielen Dank!
Mit Zitat antworten
  #12 (permalink)  
Alt 08-02-2008, 18:32
tontechniker
 PHP Senior
Links : Onlinestatus : tontechniker ist offline
Registriert seit: Jul 2005
Beiträge: 1.972
tontechniker ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Und für das "[ i ]" soll er ja die Zahlen 1 bis 9 einsetzen. Da aber offenbar das Skript images[ i ] nicht definiert, erfolgt über die HTML-Ausgabe "images1", "images2", ..., "images9" der Fehler.
Statt imagesi muss es in der HTML Ausgabe natürlich images[i] heißen, wobei i deine Laufvariable ist.
__________________
Die Regeln | rtfm | register_globals | strings | SQL-Injections | []
Mit Zitat antworten
  #13 (permalink)  
Alt 08-02-2008, 19:07
Dampfi
 Registrierter Benutzer
Links : Onlinestatus : Dampfi ist offline
Registriert seit: Jun 2006
Ort: Dresden
Beiträge: 59
Dampfi ist zur Zeit noch ein unbeschriebenes Blatt
Dampfi eine Nachricht über ICQ schicken
Standard

JAAA. Da lag der Hund begraben... Jetzt funktioniert es so wie ich das will

Super! Vielen lieben Dank an die Helferlein. Ihr habt mir echt weitergeholfen!

Euch noch ein schönes Wochenende
Gruß,
Dampfi
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

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 are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 21:37 Uhr.