SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

TYPO3 Kochbuch

TYPO3 Kochbuch zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 02.04.2009, 23:09:28
laufvogel laufvogel ist offline
Anfänger
 
Registriert seit: Apr 2009
Alter: 47
Beiträge: 3
Probleme beim Funktionsaufruf mit eval()

Moin!

Mir fällt grad Überhauptnix mehr ein, hier mein Problem:

Also ich bastele mir per Verknüpfung eine Variable für einen Link zusammen. Funktioniert super ->
HTML-Code:
<a class="navilink" href="?seite=home/kontakt">kontakt</a>
Dann werden mit addslashes() die Anführungszeichen escapet, funktioniert auch super ->
HTML-Code:
<a class=\"navilink\" href=\"?seite=home/kontakt\">kontakt</a>
Nun soll die Variable per eval() an eine Funktion übergeben werde, die den Link grafisch darstellt. Funktioniert leider nicht so super! Aus irgendeinem Grund erscheint dann im Quelltext ->
HTML-Code:
<aclass="navilinkaktiv"href="?seite=home/kontakt">kontakt</a>
Mir sind jetzt nach langem Rumprobieren die Ideen ausgegangen, und es nervt mich total. Fällt da jemandem was zu ein?
Grüße,

Emu
Mit Zitat antworten
  #2  
Alt 03.04.2009, 03:11:06
Benutzerbild von urvater
urvater urvater ist offline
Senior Member
 
Registriert seit: Feb 2006
Ort: Wallrabenstein
Alter: 55
Beiträge: 1.044
AW: Probleme beim Funktionsaufruf mit eval()

Naja etwas mehr Code breuchte man schon. Allerdings müsste urlencode() und htmlentities() dir weiter helfen

Geändert von urvater (03.04.2009 um 03:11:35 Uhr)
Mit Zitat antworten
  #3  
Alt 03.04.2009, 04:50:37
laufvogel laufvogel ist offline
Anfänger
 
Registriert seit: Apr 2009
Alter: 47
Beiträge: 3
AW: Probleme beim Funktionsaufruf mit eval()

Moin nochmal!

Hatte vorhin noch weiter daran rumgebastelt und dabei den Code weiter verwurschtelt. Bekomme das jetzt nur recht ähnlich wieder rekonstruiert. Wenn ich aber noch ein stripslashes einbaue (hatte ich anscheinend vergessen zu erwähnen), sieht im Quellcode wieder alles so aus vorher. Alles Gebastel hat nix genützt, aber mit urlencode() und htmlentities() kann ich erstmal leider auch nix anfangen.
Ok, ich versuch das alles noch mal deutlicher darzustellen:
Ich will eine Navigation bauen, bei der sich die einzelnen Links in runden (!) Boxen befinden. Für die Boxen gibt es eine Funktion, der der Link als String komplett mit entsprechendem HTML-Tag übergeben wird. Hier mal der Code für die Navigation.
PHP-Code:
function navisub () {

if (
count(submenue())>0) {
    foreach (
submenue() as $menuepunkt) {
        
$breite=strlen($menuepunkt[1])*9+40;
        
$navisublink='<a class="navilink';
        if (
aktiv($menuepunkt[2])) $navisublink.=' aktiv';
        
$navisublink.='" href="?seite='.$menuepunkt[2].'">'.$menuepunkt[1].'</a>'."\n";
        
$navisublink=addslashes($navisublink);
        
rundebox($breite32"#D1DDE5""navisub"0stripslashes($navisublink));
}
}

Hoffe es wird so alles ein büschen klarer (bei mir waberts schon ordentlich im Kopf), und ein Dankeschön schonmal,

Emu
Mit Zitat antworten
  #4  
Alt 03.04.2009, 06:28:25
Benutzerbild von urvater
urvater urvater ist offline
Senior Member
 
Registriert seit: Feb 2006
Ort: Wallrabenstein
Alter: 55
Beiträge: 1.044
AW: Probleme beim Funktionsaufruf mit eval()

Dein Problem ist, daß du die CSS Klasse nicht schließt. Allerdings vermute ich mal, daß deine Anweisung auch nicht das macht, was du gerne hättest. Soll deine CLASS 'navilink' immer gesetzt werden und nur, wenn der menuepunkt als 'aktiv' gekennzeichnet ist 'aktiv heissen?
Wenn ja würde ich es so schreiben:
PHP-Code:
function navisub () {
$class 'navilink';
if (
count(submenue())>0) {
    foreach (
submenue() as $menuepunkt) {
        
$breite=strlen($menuepunkt[1])*9+40;
        
        if (
aktiv($menuepunkt[2])) {  $class 'aktiv'; }
        
$navisublink='<a class="'.$class.'"';
        
$navisublink.=' href="?seite='.$menuepunkt[2].'">'.$menuepunkt[1].'</a>'."\n";
        
$navisublink=addslashes($navisublink);
        
rundebox($breite32"#D1DDE5""navisub"0stripslashes($navisublink));
}
}

Ich denke mal, daß es das ist was du erreichen wolltest.

Geändert von urvater (03.04.2009 um 06:35:57 Uhr)
Mit Zitat antworten
  #5  
Alt 03.04.2009, 06:43:30
Benutzerbild von urvater
urvater urvater ist offline
Senior Member
 
Registriert seit: Feb 2006
Ort: Wallrabenstein
Alter: 55
Beiträge: 1.044
AW: Probleme beim Funktionsaufruf mit eval()

function.htmlentities
und
function.urlencode
Wenn du allerdings in deinem eigenen Code nicht mehr durch siehst, dann solltest du dir einen anderen Schreibstil überlegen. Etwas aufgeräumter und hier und da ein paar Notizen schaffen da immer schnell Abhilfe. :)
Mit Zitat antworten
  #6  
Alt 03.04.2009, 06:56:23
laufvogel laufvogel ist offline
Anfänger
 
Registriert seit: Apr 2009
Alter: 47
Beiträge: 3
AW: Probleme beim Funktionsaufruf mit eval()

moin!

oh mann, immer noch wach... zu dem aktiv: die funktion aktiv liefert 'true' wenn die seite des links gerade angezeigt wird, die klasse 'navilink aktiv' hat einfach eine andere schriftfarbe.
aber trotzdem macht die ganze funktion nicht das, was ich gerne hätte, sie liefert nur leere boxen, weil sämtliche leerzeichen im link halt verschwinden. blödes ding! und wo bleiben denn die blöden dinger blos?
ich schätze das hängt irgendwie mit der eval-funktion zusammen, die lässt nämlich die funktion navisub erst aufs html los. der rahmen in dem die navigation und die inhalte stecken ist nämlich auch sone runde box...
ich glaub ich machs nicht mehr lange, schöne träume für alle erstmal...
Mit Zitat antworten
  #7  
Alt 03.04.2009, 07:44:21
DokuLeseHemmung DokuLeseHemmung ist offline
SELFPHP Experte
 
Registriert seit: Jun 2008
Alter: 15
Beiträge: 2.269
AW: Probleme beim Funktionsaufruf mit eval()

  • Ich sehe kein eval()?
  • Was willst du mit eval()?
  • eval() ist böse!
  • auch sehe ich kein return
Mit Zitat antworten
  #8  
Alt 03.04.2009, 11:01:44
cortex cortex ist offline
SELFPHP Profi
 
Registriert seit: Apr 2008
Alter: 48
Beiträge: 1.938
AW: Probleme beim Funktionsaufruf mit eval()

kennst du den spruch eval is evil? man sollte eval( ) nur dann benutzen, wenn es keine andere möglichkeit gibt - ist das bei deinem problem tatsächlich der fall?

Eval is Evil, Part One

cx
Mit Zitat antworten
  #9  
Alt 03.04.2009, 14:03:48
Benutzerbild von urvater
urvater urvater ist offline
Senior Member
 
Registriert seit: Feb 2006
Ort: Wallrabenstein
Alter: 55
Beiträge: 1.044
AW: Probleme beim Funktionsaufruf mit eval()

Dann liegt also dein Problem in der Funktion rundebox().
Was mir eben noch aufgefallen ist, ist dein addslashes und stripslashes.
Erst setzt du den Link mit addslashes und dann entfernst du sie wieder bei der Übergabe an die Funktion.
Theoretisch hättest du es dann auch gleich so übergeben können.
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

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 aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Probleme mit Scriptvorlage he2114 PHP Grundlagen 8 10.12.2008 11:40:51
Probleme mit getImageSize() duesentrieb PHP für Fortgeschrittene und Experten 8 01.03.2006 18:55:55
object in object über eval ausgeben? Xantos PHP für Fortgeschrittene und Experten 1 02.04.2004 15:26:39
Probleme beim includen speak234 PHP Grundlagen 7 12.11.2003 15:05:39
PHP mail() funktion und server probleme flobee PHP für Fortgeschrittene und Experten 0 03.07.2002 01:18:27


Alle Zeitangaben in WEZ +2. Es ist jetzt 15:02:44 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt