• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

HTML in PHP - Bin ich bekloppt?

Dopgo

Neues Mitglied
Hallo HTML Community.

Ich habe hier folgenden Code zum Testen eines Drag-Down-Menüs.

HTML:
    <select name="menu" onChange="window.document.location.href=this.options[this.selectedIndex].value;" value="GO">
        <option value="google.de">EUR</option>
        <option value="google.de">USD</option>
    </select>

In einer HTML Datei klappt alles wie gewünscht (beim Klick auf eine Auswahl soll auf eine Seite verlinkt werden). Wieso klappt das nicht in der PHP Datei (siehe unten) meines Freundes? Sie beginnt doch mit "<html>".

Ich darf den kompletten Code leider nicht hochladen, aber könnt ihr mir vielleicht sagen, wo der Fehler liegt oder welche weiteren Teile des Codes zur Fehlerfindung nötig sind?

PHP:
<?php
include "init.php";
include "config_db.php";
include "config.php";
$_SESSION['userId'];
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<!-- Jede Menge Code -->

<select name="menu" onChange="window.document.location.href=this.options[this.selectedIndex].value;" value="GO">
        <option value="google.de">EUR</option>
        <option value="google.de">USD</option>
</select>

<!-- Jede Menge Code -->



</html>

Mit diesem Code habe ich zwar ein Drag-Down-Menü, aber beim Klick auf eine Auswahl werde ich nicht auf Google verlinkt wie beabsichtigt. Warum nicht?

Hier ist der komplette Code, da zu lang fürs Forum: http://ge.tt/7IHeT951/v/0
Und so sieht das nicht funktionierende Drag-Down-Menü hochgeladen aus: http://www.hooplu.com/find_your_services.php

Danke für jeden hilfreichen Beitrag.
 
Zuletzt bearbeitet:
Was versprichst du dir von dieser Zeile?
PHP:
$_SESSION['userId'];
Ansonsten, vielleicht gibt's irgendwo einen PHP-Fehler, den du mal im HTML-Code, den der Browser bekommt, suchen solltest.
 
Den Code habe ich nicht geschrieben und mit der Zeile kann ich auch nichts anfangen.

Ich hab jetzt mal den vollständigen Code in meinen Eingangspost reineditiert. Kann mir bitte jemand sagen, warum man beim Klick auf einen Inhalt des Drag-Down Menüs nicht weitergeleitet wird, wie beabsichtigt?

Mein nicht funktionierendes Drag-Down-Menü ist hier hochgeladen: http://www.hooplu.com/find_your_services.php
 
Ein bisschen Eigeninitiative bei der Suche nach einer Lösung mittels einer bekannten Suchmaschine (Stichworte: javascript, select, onchange) hätte dir folgende Lösung gebracht:

HTML:
<script>
    var sel = document.getElementById('menu');
    sel.onchange = function() {
        window.location.href = this.value;
    }
</script>

<select id="menu" name="menu">
    <option value="http://heise.de">HEISE</option>
    <option value="http://golem.de">Golem</option>
</select>
 
Ein bisschen Eigeninitiative bei der Suche nach einer Lösung mittels einer bekannten Suchmaschine (Stichworte: javascript, select, onchange) hätte dir folgende Lösung gebracht:

HTML:
<script>
    var sel = document.getElementById('menu');
    sel.onchange = function() {
        window.location.href = this.value;
    }
</script>

<select id="menu" name="menu">
    <option value="http://heise.de">HEISE</option>
    <option value="http://golem.de">Golem</option>
</select>

Dieser Code funktioniert für mich jetzt aber weder in der PHP-Datei, noch in einer leeren HTML-Datei.

Ich habe es mir ja meinen Code ganz oben ergoogelt und er funktioniert auch einwandfrei in einer leeren HTML-Datei, aber nicht in einer PHP-Datei (trotz <html></html>). Das ist das einzige Problem, welches ich nicht verstehe.
 
Ich habe deinen Code einfach 'so wie er ist' in eine leere HTML gepackt. Funktioniert es so nicht, weil da noch was dazukommen muss?
 
HTML:
<html>
    <head>
        <title>Select Test</title>
    </head>
    <body>
        <select id="menu" name="menu">
            <option value="http://heise.de">HEISE</option>
            <option value="http://golem.de">Golem</option>
        </select>
        <script>
            var sel = document.getElementById('menu');
            sel.onchange = function() {
                window.location.href = this.value;
            }
        </script>
    </body>
</html>

Funktioniert bei mir tadellos!
 
Der funktioniert bei mir jetzt auch, keine Ahnung was da schief lief, mein Fehler.

In der PHP-Datei funktioniert er jedoch nach wie vor nicht (das Drag-Down-Menü ist sichtbar, aber verlinkt nicht auf das Ziel).

PHP:
<?php
include "init.php";
include "config_db.php";
include "config.php";
$_SESSION['userId'];
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<!-- Jede Menge Code -->

<select id="menu" name="menu">
        <option value="http://google.es">Category</option>
        <option value="http://google.es">Auto/Motorcycle</option>
        <option value="http://google.es">Catering & Baking</option>
        <option value="http://google.es">Computer/Cellular Repair</option>
        <option value="http://google.es">Construction (ex. General Contractor etc...)</option>
        <option value="http://google.es">Cosmetology (Hair & Nails)</option>
        <option value="http://google.es">Creativity (Ex. Graphic Design, Wed Design, etc...)</option>
        <option value="http://google.es">Gigs (Ex. DJ's, Party Planners, etc...)</option>
        <option value="http://google.es">Health & Fitness</option>
        <option value="http://google.es">Home Services (ex. Lawn and House Cleaning)</option>
        <option value="http://google.es">IBO's (ex. ACN, Herbalife, Amway, AVON)</option>
        <option value="http://google.es">Management</option>
        <option value="http://google.es">Reality</option>
        <option value="http://google.es">Studios (ex. Art, Music, Dance)</option>
        <option value="http://google.es">Other</option>
        <option value="http://google.es">Attorney/Lawyer</option>
</select>

<script>
    var sel = document.getElementById('menu');
    sel.onchange = function() {
        window.location.href = this.value;
    }
</script>

<!-- Jede Menge Code -->

</html>

Der komplette Code dafür ist jetzt auf [url]http://ge.tt/7IHeT951/v/0[/URL]

Und so sieht das Ganze aus. Drag-Down-Menü ist sichtbar, aber verlinkt nicht ans Ziel. http://www.hooplu.com/find_your_services.php


Wieso klappt das immer noch nicht?


Edit: Merkwürdigerweise funktioniert es auf iPhone und iPad (die ja Apples Dragdown-Style verwenden). Der Code funktioniert auch auf anderen Websites, die normale Dragdown-Styles verwenden. Die Seite meines Freundes verwendet "umgestylte" Dragdown-Menüs (schaut nach unter o.g. Link). Sind diese speziellen Dragdown-Menüs das Problem?
 
Zuletzt bearbeitet:
Fakt ist, wenn ich diesen Teil nehme
HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<!-- Jede Menge Code -->
<select id="menu" name="menu">
        <option value="http://google.es">Category</option>
        <option value="http://google.es">Auto/Motorcycle</option>
        <option value="http://google.es">Catering &amp; Baking</option>
        <option value="http://google.es">Computer/Cellular Repair</option>
        <option value="http://google.es">Construction (ex. General Contractor etc...)</option>
        <option value="http://google.es">Cosmetology (Hair &amp; Nails)</option>
        <option value="http://google.es">Creativity (Ex. Graphic Design, Wed Design, etc...)</option>
        <option value="http://google.es">Gigs (Ex. DJ's, Party Planners, etc...)</option>
        <option value="http://google.es">Health &amp; Fitness</option>
        <option value="http://google.es">Home Services (ex. Lawn and House Cleaning)</option>
        <option value="http://google.es">IBO's (ex. ACN, Herbalife, Amway, AVON)</option>
        <option value="http://google.es">Management</option>
        <option value="http://google.es">Reality</option>
        <option value="http://google.es">Studios (ex. Art, Music, Dance)</option>
        <option value="http://google.es">Other</option>
        <option value="http://google.es">Attorney/Lawyer</option>
</select>
<script>
    var sel = document.getElementById('menu');
    sel.onchange = function() {
        window.location.href = this.value;
    }
</script>
<!-- Jede Menge Code -->
</html>
funktioniert es einwandfrei. Also kann das Problem nur an den PHP-Scripten am Anfang oder an dem Teil liegen, den du uns nicht zeigst.
Ebenfalls Fakt ist dann: wir können dir da nicht weiterhelfen, da uns einfach der Rest fehlt.
 
Fakt ist, wenn ich diesen Teil nehme
HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<!-- Jede Menge Code -->
<select id="menu" name="menu">
        <option value="http://google.es">Category</option>
        <option value="http://google.es">Auto/Motorcycle</option>
        <option value="http://google.es">Catering &amp; Baking</option>
        <option value="http://google.es">Computer/Cellular Repair</option>
        <option value="http://google.es">Construction (ex. General Contractor etc...)</option>
        <option value="http://google.es">Cosmetology (Hair &amp; Nails)</option>
        <option value="http://google.es">Creativity (Ex. Graphic Design, Wed Design, etc...)</option>
        <option value="http://google.es">Gigs (Ex. DJ's, Party Planners, etc...)</option>
        <option value="http://google.es">Health &amp; Fitness</option>
        <option value="http://google.es">Home Services (ex. Lawn and House Cleaning)</option>
        <option value="http://google.es">IBO's (ex. ACN, Herbalife, Amway, AVON)</option>
        <option value="http://google.es">Management</option>
        <option value="http://google.es">Reality</option>
        <option value="http://google.es">Studios (ex. Art, Music, Dance)</option>
        <option value="http://google.es">Other</option>
        <option value="http://google.es">Attorney/Lawyer</option>
</select>
<script>
    var sel = document.getElementById('menu');
    sel.onchange = function() {
        window.location.href = this.value;
    }
</script>
<!-- Jede Menge Code -->
</html>
funktioniert es einwandfrei. Also kann das Problem nur an den PHP-Scripten am Anfang oder an dem Teil liegen, den du uns nicht zeigst.
Ebenfalls Fakt ist dann: wir können dir da nicht weiterhelfen, da uns einfach der Rest fehlt.
Ich habe den Rest ja hochgeladen, zu sehen unter o.g. Link [url]http://ge.tt/7IHeT951/v/0[/URL]. Der Code ist zu lang fürs Forum. Wenn das mit dem Downloadlink unseriös ist, bin ich offen für Alternativen.

Edit: Nach langem Herumprobieren habe ich den problematischen Teil des Codes gefunden.

HTML:
<?php include("include/head.php"); ?>

Ohne diese Zeile ist das Dragdown-Menü im klassichen Windows-Style und funktioniert. Leider scheint diese Zeile auch für anderes wichtig zu sein, sodass die Seite jetzt ohne die Zeile total kaputt aussieht (http://www.hooplu.com/find_your_services.php). Außerdem würde mein Freund gerne das Design des ursprünglichen Dropdown-Menüs beibehalten.

Ich kann euch ja gerne mal die head.php zeigen, allerdings gibt es zwei unterschiedliche:
admin/include/head.php
include/head.php

Um welche geht es hier?
 
Zuletzt bearbeitet:
Zurück
Oben