Soldiar Geschrieben 25. November 2010 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
azett Geschrieben 26. November 2010 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
Soldiar Geschrieben 26. November 2010 Autor 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
Brabax Geschrieben 26. November 2010 Geschrieben 26. November 2010 Was bekommst du denn, wenn du den ganzen "<a..." Kram gegen ein einfaches "Test" ersetzt? lG
Schandfleck Geschrieben 26. November 2010 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.
Soldiar Geschrieben 27. November 2010 Autor 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
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden