WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 24.07.2003, 08:52   #1
Wacky
Jr. Member
 
Registriert seit: 18.07.2001
Beiträge: 77


Standard Wo is da der Fehler??

So, ich habe folgende Probleme.

1. Wie schreibe ich die JavaScript Variable "next" richtig in die URL

und

2. jedesmal wenn ich dieses Script aufrufe erhalte ich die Fehlermeldung die ich im Anhang beigefügt habe.

Dieses Problem quält mich jetzt schon Stundenlange und irgendwie check ich in Fehler nicht.

Achja, fragts mich bitte ned warum ich in einem PHP Script anfange wie wild JavaScript zu schreiben. Das zu erklären wäre zu kompliziert. Mir gefällt es auch nicht, aber was soll ich machen.



---------1. Script-------

<?PHP

$next = 0;
echo "

<SCRIPT LANGUAGE = \"JavaScript\">
var breit = window.innerWidth;
var next = (breit - 380)/$dimeins;";

echo "self.location.href='showLayers2?lang=$lang&sel=$s el&next=??next??;";

echo "
</SCRIPT>";

?>


---------aufgerufenes Script (showLayers2.php)-----------

<?PHP
echo "</SCRIPT LANGUAGE = \"JavaScript\">";

for($i=0, $side=190; $i<3; $i++, $side+=$next)
{
$subanz = count($submenue[$i]);

for($j=0, $top=0; $j<$subanz; $j++, $top+=30)
{

echo "document.write (\"<div id='#schrift' style='position:absolute; width:200px; height:30px; z-index:1; left: $side; top: $top;'> hallo test lalala </div>\");";
}
}

echo "
</SCRIPT>";

?>

---------------

Achja, alle Variablen von denen nicht ersichtlich ist von wo sie herkommen existieren, weil ich das Script mit require einbinde. Nur im 2. Script gibts ein paar Variblen nicht, das stört mich gerade nicht, weil ich sowieso noch nicht weis was da ned passt.

Und wenn diese Fragen ein bisschen doof klingen, ich programmiere erst seit gestern JavaScript *gg*.

mfg
Wacky
Wacky ist offline   Mit Zitat antworten
Alt 24.07.2003, 08:53   #2
Wacky
Jr. Member
 
Registriert seit: 18.07.2001
Beiträge: 77


Standard

Sorry, Anhang vergessen... ;-)
Wacky ist offline   Mit Zitat antworten
Alt 24.07.2003, 10:17   #3
jak
Inventar
 
Registriert seit: 13.06.2001
Beiträge: 1.830


Standard

1.) Tritt der Fehler beim ersten oder beim zweiten Script auf?
2.) Wo ist Zeile 21?
3.) Vielleicht funktioniert es mit next nicht, weil du versehentlich ein reserviertes Wort erwischt hast. Probier es mal mit einem anderen Variablennamen.
4.)
Zitat:
Achja, fragts mich bitte ned warum ich in einem PHP Script anfange wie wild JavaScript zu schreiben. Das zu erklären wäre zu kompliziert. Mir gefällt es auch nicht, aber was soll ich machen.
Doch, ich frag. Weil vielleicht gehts a) ohne PHP oder b) ohne JS oder c) Vielleicht kann man den Code irgendwie trennen.


Jak
____________________________________
Join the DNRC | Godwin\'s Law (thx@stona)
Documentation is like sex: If it\'s good, it\'s very, very good. If it\'s bad, it\'s better than nothing.
\"In theory, theory and practice are the same. In practice, they are not\" (Lawrence Berra)
jak ist offline   Mit Zitat antworten
Alt 24.07.2003, 11:19   #4
Wacky
Jr. Member
 
Registriert seit: 18.07.2001
Beiträge: 77


Standard geänderte scripten

So, ich habe die Scriptn inzwischen wieder ein bisschen modifiziert.

Fehler sind in beiden Scripten. Bei Script Nummer 1 geht das Href nicht und beim 2. ist eine ziemlich komische Ausgabe (Die Ausgabe inkl. übersetzter Source sind im Anhang als JPG).

Kann ich das 2. Script irgendwie aufrufen ohne eine andere URL aufrufen zu müsen? (weil das ja ein Menüsystem werden soll und irgendwie schaut das blöd aus wenn jedesmal wenn das Menü aufgerufen wird die gerade aktive Seite weg ist).

So, die geränderten Scripten:

---- Script 1 -----

<style type="text/css">
#schrift
{
font:14pt Arial;
color:#CEE6BD;
padding:4px;
}
</style>



<?PHP

require 'getMenue.php';

echo "

<SCRIPT LANGUAGE = \"JavaScript\">
var breit = screen.availWidth;
var weiter = (breit - 380)/$dimeins;
";


echo "self.location.href=\"192.168.10.11/functions/showLayers2?lang=$lang&sel=$sel&next=weiter\";";

echo "
</SCRIPT>";

?>


------- Script 2 -------

<?PHP
echo "</SCRIPT>";

require 'getMenue.php';

$anzahl = count($pos);

$submenue = array(array());
$subscript = array(array());

$save = 0;

for($l=0, $m=0;$l<$anzahl;$l++,$m++)
{
$i=substr($pos[$l], 0, 1);
$j=substr($pos[$l], 1, 1);
$k=substr($pos[$l], 2, 1);

if($i != $save)
{
$m=0;
$save = $i;
}

$submenue[$i][$m] = $langstruct[$i][$j][$k];
}


for($i=0, $side=190; $i<3; $i++, $side+=$next)
{
$subanz = count($submenue[$i]);

for($j=0, $top=0; $j<$subanz; $j++, $top+=30)
{
echo "document.write (\"<div id='#schrift' style='position:absolute; width:200px; height:30px; z-index:1; left: $side; top: $top;'>".$submenue[$i][$j]."</div>\");";
}
}

echo "
</SCRIPT>";

?>

-------------

Also, ich brauche PHP weil ich einen MySQL Datenbankzugriff habe (getMenue.php) und JavaScript weil ich für das dynamische Menü die Fenstergröße brauche.

Und irgendwie is die Ausgabe eigenartig, wobei der Source dazu eigentlich so aussieht wie ich mir das vorstelle.
Wacky ist offline   Mit Zitat antworten
Alt 24.07.2003, 11:28   #5
jak
Inventar
 
Registriert seit: 13.06.2001
Beiträge: 1.830


Standard

Schau dir mal den Quelltext im Bild an:
Zeile 1:</script>, dann jede Menge JavaScript, dann wieder </script>.

Das erste </script> sollte ein <script> sein.

Nebenbei: Wenn du die Style definition entweder in den header schreibst oder in eine .css Datei wird das ganze ein bischen übersichtlicher.

Jak
____________________________________
Join the DNRC | Godwin\'s Law (thx@stona)
Documentation is like sex: If it\'s good, it\'s very, very good. If it\'s bad, it\'s better than nothing.
\"In theory, theory and practice are the same. In practice, they are not\" (Lawrence Berra)
jak ist offline   Mit Zitat antworten
Alt 24.07.2003, 11:34   #6
Wacky
Jr. Member
 
Registriert seit: 18.07.2001
Beiträge: 77


Standard

Ok danke, da hätte ich ja selbst auch drauf kommen können, das 2. script wäre damit Fehlerfrei..

Im ersten Script habe ich ja einen link auf das 2. gelegt. Die 2 Scripts befinden sich im selben Ordner.

der name vom 2. ist showLayers2.php und bekommt eben die im Source angeführten Parameter.

zumindest sollte das so sein. Aber irgendwie geht das nicht so wie ich mir das vorstelle...

kann ich das 2. Script irgendwie aufrufen so dass ich es direkt in den Source vom 1. einbinden kann, jedoch die Parameter in der URL bräuchte ich trotzdem irgendwie. (ich muss nämlich die JavaScript variable in eine PHP Variable bekommen und ich wüsstesonst keine Lösung wie ich das machen soll)
Wacky ist offline   Mit Zitat antworten
Alt 24.07.2003, 11:46   #7
jak
Inventar
 
Registriert seit: 13.06.2001
Beiträge: 1.830


Standard

Ich kenn mich mit php leider nicht aus (möchts aber mal lernen )
Vielleicht hilft dir eine dieser Seiten weiter:
http://forums.devshed.com/archive/1/2002/05/2/35594
http://perl.about.com/library/weekly/aa121002a.htm

Jak
____________________________________
Join the DNRC | Godwin\'s Law (thx@stona)
Documentation is like sex: If it\'s good, it\'s very, very good. If it\'s bad, it\'s better than nothing.
\"In theory, theory and practice are the same. In practice, they are not\" (Lawrence Berra)
jak ist offline   Mit Zitat antworten
Alt 24.07.2003, 12:11   #8
jak
Inventar
 
Registriert seit: 13.06.2001
Beiträge: 1.830


Standard

Probier mal folgendes:
Code:
---- Script 1 ----- 
...
<SCRIPT LANGUAGE = \"JavaScript\"> 
var breit = screen.availWidth; 
var weiter = (breit - 380)/$dimeins; 
"; 


echo "document.write(\"self.location.href=\"
(das musst du glaub ich doppelt maskieren)
192.168.10.11/functions/showLayers2?
lang=$lang&sel=$sel&next=\"(auch dopelt maskieren)+weiter\");"; 

echo " 
</SCRIPT>"; 
?>
Ich glaube, Php "weis" einfach nicht, das du die JS Variable meinst und schreibt einfach den Text "weiter" hin.
Vielleicht gehts auch, wenn man einfache Anführungszeichen verwendet, also:
echo "document.write('self.location.href=\"192.168.10.1 1/functions/showLayers2?lang=$lang&sel=$sel&next='+weiter\");" ;


Jak
____________________________________
Join the DNRC | Godwin\'s Law (thx@stona)
Documentation is like sex: If it\'s good, it\'s very, very good. If it\'s bad, it\'s better than nothing.
\"In theory, theory and practice are the same. In practice, they are not\" (Lawrence Berra)
jak ist offline   Mit Zitat antworten
Antwort


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

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.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 11:04 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag