Soldiar Geschrieben 25. November 2010 Teilen Geschrieben 25. November 2010 Hallo, ich habe ein kleines PHP-Problem und komme einfach nicht drauf... if ($_SESSION['Adminflag'] == 1) { $adminflag = '<a href="index.php?menu=crm&crm=bverw">Benutzerverwaltung</a>'; } $adminflag = '<a href="index.php?menu=crm&crm=fverw">Kundenverwaltung</a> <a href="index.php?menu=crm&crm=averw">Ansprechpartnerverwaltung</a> <a href="index.php?menu=crm&crm=abca">ABC-Analyse</a>'; ?> <script type="text/javascript"> document.getElementById("menu2").innerHTML = '<?php echo $adminflag; ?> '; </script>';[/PHP] Der Quelltext prüft eine PHP-Session, schreibt dann eine PHP-Link-Variable voll, und versucht dann via ein Javascript ein existierenden DIV-Container mit den HTML-Daten aus der PHP-Variable zu befüllen. Leider erhalte ich immer wieder nur eine "0". Wenn ich Zeile 4ff lösche funktioniert es einwandfrei nur eben halt nicht im erwarteten Umfang. Wo ist mein Denkfehler? Vielen Dank vorab für Eure Unterstützung. mfg Christian Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
azett Geschrieben 26. November 2010 Teilen Geschrieben 26. November 2010 (bearbeitet) if ($_SESSION['Adminflag'] == 1) { $adminflag = '<a href="index.php?menu=crm&crm=bverw">Benutzerverwaltung</a>'; } $adminflag = '<a href="index.php?menu=crm&crm=fverw">Kundenverwaltung</a> <a href="index.php?menu=crm&crm=averw">Ansprechpartnerverwaltung</a> <a href="index.php?menu=crm&crm=abca">ABC-Analyse</a>';[/PHP] Die ersten drei Zeilen sind für den Ofen, da du $adminflag danach eh wieder neu zuweist. Ich vermute, du möchtest den Benutzerverwaltungslink zum Menü hinzufügen, wenn man als Admin eingeloggt ist - das sähe dann etwa so aus: [PHP]$adminflag = ''; if ($_SESSION['Adminflag'] == 1) { $adminflag .= '<a href="index.php?menu=crm&crm=bverw">Benutzerverwaltung</a>'; } $adminflag .= '<a href="index.php?menu=crm&crm=fverw">Kundenverwaltung</a> <a href="index.php?menu=crm&crm=averw">Ansprechpartnerverwaltung</a> <a href="index.php?menu=crm&crm=abca">ABC-Analyse</a>'; Der Variablen-Name "$adminflag" ist dann aber ziemlich irreführend; ich würde das wohl eher "$menucontent" nennen. Nachdenker am Rande: Was passiert, wenn ein Nutzer JavaScript deaktiviert hat? Bearbeitet 26. November 2010 von azett Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Soldiar Geschrieben 26. November 2010 Autor Teilen Geschrieben 26. November 2010 Hallo, ahh sorry hatte einen fehler im Quelltext, ich habe doch glatt vor der zweiten zuweisung vergessen, einen "." vergessen, sodass "=" statt ".=" dort steht. Danke auch für den Hinweis, dass ich die Variable zurücksetzen muss (den Teil hatte ich leider etwas weiter oben stehen und nicht mitkopiert). Aber wo in deinem Post ist die Antwort auf mein eigentliches Problem? Wäre echt nett, wenn du mir dabei helfen könntest. Vielen Dank vorab. Mfg Christian PS: Der Nachdenker am Rande ist bekannt, aber in dem besagten Projekt nicht relevant. Die Zielgruppe haben alle Javascript aktiviert und alle die gleiche Umgebungen/Umgebungseinstellungen Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Brabax Geschrieben 26. November 2010 Teilen Geschrieben 26. November 2010 Was bekommst du denn, wenn du den ganzen "<a..." Kram gegen ein einfaches "Test" ersetzt? lG Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Schandfleck Geschrieben 26. November 2010 Teilen Geschrieben 26. November 2010 Das Problem sind die Zeilenumbrüche in $adminflag. Stringkonstanten können sich in Java-Script nicht über mehrere Zeilen erstrecken. Verwende stattdessen anderes white-space, oder die Sequenz \n. Dazu die Single-Quotes in PHP beibehalten, damit sie von Java-Script und nicht schon von PHP interpretiert wird. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Soldiar Geschrieben 27. November 2010 Autor Teilen Geschrieben 27. November 2010 Hallo, genau das war es danke Schandfleck. Habe den Fehler gestern nacht um ähm... 23 Uhr dann selbst bemerkt - hätte mal lieber vorher hier reinschauen sollen Vielen Dank nochmal für die ganzen Antworten. mfg Christian Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.