php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005-2

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 25.08.2005, 09:38  
Gast
 
Beiträge: n/a
Standard html Ausgabe in PHP-Quelle wandeln?

Hallo Leute,

ich möchte in einer includierten Datei folgenden script-code erzeugen:
Code:
if (isset($c1c1t1k1) AND $c1c1t1k1=="1") $counter=$counter+1;
als html-Ausgabe ist mir das soweit auch schon gelungen mit

Code:
echo  "if (isset(\$$name) AND \$$name==\"1\") \$counter=\$counter+1;";
erzeugt ein Echo, das so aussieht wie das, was ich als Anweisung brauche.

mein Versuch

Code:
if (isset($$name) AND $$name=="1") $counter=$counter+1;
tut's leider nicht, weil $$name nicht $c1c1t1k1 sondern c1c1t1k1 erzeugt.

Wo liegt mein Denkfehler?
Was mache ich falsch?
Was muss ich tun?
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 25.08.2005, 09:51  
Erfahrener Benutzer
 
Registriert seit: 14.04.2005
Beiträge: 1.004
search
Standard

Code:
echo 'if (isset($name) AND ($name == "1") $counter = $counter + 1;';
so?
__________________
schlimmer gehts nimmer.... dümmer immer!
search ist offline  
Alt 25.08.2005, 09:54  
Erfahrener Benutzer
 
Registriert seit: 05.07.2004
Beiträge: 578
WarrenFaith
WarrenFaith eine Nachricht über ICQ schicken
Standard

oder mit html-entity arbeiten, dass sollte auch helfen.
__________________
Developers-Guide.net
Senseless
WarrenFaith ist offline  
Alt 25.08.2005, 10:16  
Gast
 
Beiträge: n/a
Standard

Mal htmlspecialchars() ansehen.
 
Alt 25.08.2005, 10:40  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von search
Code:
echo 'if (isset($name) AND ($name == "1") $counter = $counter + 1;';
so?
ich brauche doch die andere Richtung, also nicht eine korrekte HTML-Ausgabe, sondern eine gültigen if-Anweisung in der Quelle mit den Variablen wie sie im HTML-Echo sichtbar waren (ist nur ein Echo, das mir zeigen soll, ob die while Schleife es tut, das läuft aber)

(seufz, vermutlich kann ich mich nicht klarer ausdrücken, weil mir die Ursachen des Hakens an der Sache nicht wirklich klar ist, also: wie geht der Wert $c1c1t1k1 in die Quelle und in die if-Anweisung...)

hilft vielleicht mehr code? (habe die ursprüngliche Schilderung noch mal ein wenig nachgebessert)
 
Alt 25.08.2005, 11:01  
Erfahrener Benutzer
 
Registriert seit: 05.07.2004
Beiträge: 578
WarrenFaith
WarrenFaith eine Nachricht über ICQ schicken
Standard

Versuch es doch mit Stringverknüpfungen:
PHP-Code:
<?php
    
echo 'if (isset($'.$name.') AND ($'.$name.' == 1) $'.$counter.' = $'.$counter.' + 1;';
?>
das sollte gehen
__________________
Developers-Guide.net
Senseless
WarrenFaith ist offline  
Alt 25.08.2005, 11:21  
Gast
 
Beiträge: n/a
Standard

so sieht das aus:
PHP-Code:
<?
include('data.php');
   
mysql_connect($host,$usr,$pwd) or die (mysql_error());
   
mysql_select_db($dbname);
##########die Themenliste################################################################
    
$taba="01thema";
    
$where=" WHERE";
    
$where.=" web=1";
    
$order=" ORDER BY 'code' ASC";
    
$sql01    "SELECT * FROM $taba $where $order";
    
$result01 mysql_query($sql01);

    if(
$result01==true)
        {
        
$counter=0;
         while(
$row01=mysql_fetch_array($result01))
            {
            
$code=$row01['code'];
            
$thematitel=$row01['thematitel'];
            
$themacode=$row01['themacode'];
//            echo = "<h4>".$code."-".$thematitel.":</h4>\n"; check-echo

            
$tabb="02komp";
            
$where=" WHERE";
            
$where.=" code = '$code'";
            
$where.=" AND";
            
$where.=" themacode = '$themacode' ";
            
$where.=" AND";
            
$where.=" web=1";
            
$order=" ORDER BY 'kompcode' ASC";
            
$sql02    "SELECT * FROM $tabb $where $order";
            
$result02 mysql_query($sql02);
##########die Kompetenzenliste zu den Themen#############################################
                
while($row02=mysql_fetch_array($result02))
                    {
                    
$kompcode=$row02['kompcode'];
                    
$komptitel=$row02['komptitel'];

                    
$name="c".str_replace('.','c',$code)."t".$themacode."k".$kompcode;
                    $
$name=$name;
                    
$name="$".$name;// Da lag schon mal ein Fehler
//                    echo "".$name." *".$komptitel."
n"; check-echo

echo  "
if (isset($name) AND $name=="1\") \$counter=\$counter+1;
"
;//check-echo (das \$ konnte schon mal raus, weil das $name="$".$name oben macht...)

//if (isset($$name) AND $$name=="1") $counter=$counter+1; klappt nicht

if (isset($name) AND $name=="1"$counter=$counter+1;
/*klappt auch nicht, ABER UM DIESEN TEIL GEHT ES!!! 
hier sollte z.B.  $c1c1t1k1 an der Stelle von $name auswertbar erscheinen */

echo "
"
.$name."
"
;//check-echo
                    
}
            }
        }
?>
(danke für den [php]- Tipp)
Dabei soll dann eine $counter-Summe rauskommen, die ich noch brauche (weil 5 Kompetenzen angewählt werden sollen) und dann später noch eine Vorbereitung für Übertragung der Kompetenzen, die $counter+1 kriegen in eine Datenbank.
 
Alt 25.08.2005, 11:30  
Erfahrener Benutzer
 
Registriert seit: 05.07.2004
Beiträge: 578
WarrenFaith
WarrenFaith eine Nachricht über ICQ schicken
Standard

[php] statt [code] dann geht das

mal klartext:
du willst diese Zeile an den Browser ausgeben, weil der der dort surft lesen können soll:
if (......) ???
also als wenn du den quellcode dir anschaust?!

oder was soll diese Zeile denn machen? Soll sie arbeiten wie eine IF schleife oder nur als reine Ausgabe dienen?
__________________
Developers-Guide.net
Senseless
WarrenFaith ist offline  
Alt 25.08.2005, 12:20  
Gast
 
Beiträge: n/a
Standard

Zitat:
mal klartext:
du willst diese Zeile an den Browser ausgeben, weil der der dort surft lesen können soll:
if (......) ???

also als wenn du den quellcode dir anschaust?!
neiiiin (Homer) das echo diente nur zu check zwecken, ich krieg aber in der "echten" if Anweisung, um die es geht, kein $c1c1t1k1 (beispiel) produziert, $name wird immer zu c1c1t1k1 und ist damit zwecklos

Zitat:
Soll sie arbeiten wie eine IF schleife
ja und nur das.

auch wenn ich noch ein $name="$".$name; reinhänge funktioniert es nicht, ich habe echte Blickprobleme, befürchte ich. Das ganze mit einer statischen Liste von if-Anweisungen nach dem gewünschten Muster läuft aber. Das Problem liegt irgendwo (bei mir, sicher ) bei der Um-Definition des strings in einen Variablennamen, und ich blicke es nicht...)
 
Alt 25.08.2005, 12:53  
Erfahrener Benutzer
 
Registriert seit: 05.07.2004
Beiträge: 578
WarrenFaith
WarrenFaith eine Nachricht über ICQ schicken
Standard

$name="$".$name; falsch
echo "$".$name; dürfte dir die gewünschte ausgabe bringen.

Zum checken, ob deine if anweisung geht oder nicht, reicht es auch sich die zu vergleichenden variablen ausgeben zu lassen und dann per hand zu vergleichen

btw hast du mein post scheinbar übersehen, denn der sollte es dir eigentlich ermöglichen, was du wünscht (er steht auch nicht in deinem quellcode als getestetes beispiel)
PHP-Code:
<?php
    
echo 'if (isset($'.$name.') AND ($'.$name.' == 1) $'.$counter.' = $'.$counter.' + 1;';
?>
__________________
Developers-Guide.net
Senseless
WarrenFaith ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] system() Ausgabe html formatieren pervenches PHP Tipps 2008 3 09.07.2008 10:37
Ausgabe mehrerer Datenbanktabellen in einer HTML Tabelle frankys9 PHP Tipps 2008 5 14.09.2007 16:51
Tool zum html in xhtml wandeln gesucht tayke HTML, Usability und Barrierefreiheit 1 19.02.2007 17:49
Ausgabe von PHP Variablen-Wert in HTML Seite Ladbroke PHP Tipps 2006 23 24.04.2006 15:49
Ausgabe als HTML verhindern Fragenfrager PHP Tipps 2007 2 14.12.2005 09:45
&amp;amp;amp;lt;if&amp;amp;amp;gt; &amp;amp;amp;lt;/if&amp;amp;amp;gt; in einer HTML Datei fuer Templ PHP-Fortgeschrittene 6 03.11.2005 12:05
Bilder in der Datenbank als Ausgabe in HTML? PHP Tipps 2005 8 19.05.2005 14:07
[Erledigt] Ausgabe in html funktioniert nicht!!! Datenbanken 13 14.04.2005 15:58
Ausgabe unterbinden PHP Tipps 2005 3 12.04.2005 16:08
Auslesen mySQL tabelle und ausgabe als html Calli PHP Tipps 2004-2 3 21.12.2004 16:51
Sortierung der Ausgabe PHP-Fortgeschrittene 3 08.10.2004 09:22
IMAP: Bild(er) in HTML Part richtig darstellen PHP-Fortgeschrittene 1 07.10.2004 12:21
Validitor (HTML 4.01) = Schwachsinn? Filewalker Off-Topic Diskussionen 19 03.08.2004 15:27
[Erledigt] Prozedurale Bibliothek für HTML Ausgabe PHP Tipps 2004 0 06.07.2004 11:59


Alle Zeitangaben in WEZ +2. Es ist jetzt 06:33 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.