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, 16: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, 16: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, 17: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, 17: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, 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

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, 17: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, 18: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, 18: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, 18: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 18:49 Uhr)
Mit Zitat antworten
  #10 (permalink)  
Alt 08-02-2008, 18: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, 18: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, 19: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, 20: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

ADSMAN V3 - Werbe-Manager ansehen ADSMAN V3 - Werbe-Manager

ADSMAN V3 - mehr als nur ein Bannermanager! Banner, Textanzeigen und PagePeel Manager! Mit ADSMAN PRO haben Sie die Marketinglösung für eine effektive und effiziente Werbeschaltung mit messbaren Ergebnissen. Unterstützt werden Bannerformate in beliebi

25.10.2018 virtualsystem | Kategorie: PHP/ Bannerverwaltung
PHP News und Artikel Script V2

News schreiben, verwalten, veröffentlichen. Dies ist jetzt mit dem neuen PHP News & Artikel System von virtualsystem.de noch einfacher. Die integrierte Multi-User-Funktion und der WYSIWYG-Editor (MS-Office ähnliche Bedienung) ermöglichen...

25.10.2018 virtualsystem | Kategorie: PHP/ News
Top-Side Guestbook

Gästebuch auf Textbasis (kein MySQL nötig) mit Smilies, Ip Sperre (Zeit selbst einstellbar), Spamschutz, Captcha (Code-Eingabe), BB-Code, Hitcounter, Löschfunktion, Editierfunktion, Kommentarfunktion, Kürzung langer Wörter, Seiten- bzw. Blätterfunktion, V

22.10.2018 webmaster10 | Kategorie: PHP/ Gaestebuch
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 10:17 Uhr.