Portal > Foren > PHP > PHP-Programmierung > eval in Verbindung mit der DB
Antwort
 
Themen-Optionen
Alt 02.09.2005, 11:03 Nach oben    #1
Benutzer
 
Registriert seit: 02.09.2005
Beiträge: 68
Standard eval in Verbindung mit der DB

Hallo Leute und Guten Morgen

Also ich hät da mal ne Frage.....

Aufgabenstellung:

Gebe X-Tablenzeilen aus mit je eine Variablen drin

//Aufgabenstellung Ende

Also, ich denk dies könnte man nun auf verschiedenen wegen lösen.
Nun dachte ich mir wenn ich diese Zeile hab:
PHP:
PHP-Code:
<?php 
<td>".$var."</td
?>


dann könnt ich doch diese Zeile in die DB speichern. dann mit einer SQL Abfrage auslesen und die Werte aus einer anderen DB mit einfügen per eval();
Gut, jetzt mag mancher sagen eval() ist gefährlich. Das is auch ok so.
Aber erstmal weiter zu dem script.

PHP:
PHP-Code:
<?php 
//HTML Ausgabe aus der DB holen 
$sql="SELECT wert FROM html_table WHERE id = 1"
$res=mysql_query($sql) or die(mysql_error()); 
//Werte aus der DB holen 
$sql2="SELECT wert FROM var_table WHERE wert = ".$bestimmter_wert
$res2=mysql_query($sql) or die(mysql_error()); 

//die HTML Ausgabe in der VAR speichern 
$ds_1=mysql_fetch_assoc($res); 

//die Schleife erzeugen für die X-zeilen 
while($ds_2=mysql_fetch_assoc($res2)){ 
  
//hier wird || <td>".$var."</td> || ausgegeben und die $var wird somit verwendet 
  
$var addslashes(strip_tags($ds_2)); 
  echo eval (
$ds_1); 

?>

das war das Script das ich mir so "zusammengesponnen hab"
wenn ihr etz sagt, oh gott, was soll der Mist dan löscht den Beitrag. Wie gesagt, das war nur ein Gedanke zu dem, wie kann ich Vars die ich aus der DB hole einsetzen. Ich hab natürlich auch versucht das ganze mit strip_tags und addslashes zu entschärfen.


Sollte das nun keine gequirlte Kacke sein, dann bitte ich um jede Kritik, alles was man verändern, ändern oder verbessern könnte, her damit


Schonmal danke für eure Antworten, und im vorraus soory falls das ganze Mist sein sollte

wenn jemand was ned versteht dann schreibt es, fragt, ich bin grad aufgestanden, da kann des scho vorkommen das da was ned ganz so klar geschrieben is


MFG Julied

[size=9px]// edit by Jann Hendrik: bitte beim nächsten Mal die entspr. tags nutzen, damit der Code bunt dargestellt werden kann. Danke.[/size]
Julied64 ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 02.09.2005, 11:25 Nach oben    #2
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.471
Standard eval in Verbindung mit der DB

Ähm, meinst du sowas hier:
PHP-Code:
<?php

     
// Verbindung zur Datenbank herstellen

    
$sql 'SELECT spalte FROM tabelle';

    
$res mysql_query($sql) or exit(mysql_error());

    echo 
'<table>';

    while(
$arr mysql_fetch_assoc($res)) {
        
printf('<tr>
                    <td>%s</td>
                  </tr>'
,
                  
$arr['spalte']);
    }

    echo 
'</table>';

?>
Was du dort mit eval() und "zweiter Datenbank" und was weiß ich noch vorhast ist definitiv mal übertrieben.

Grüße Ben.
Ben ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 02.09.2005, 11:29 Nach oben    #3
Martin Breuer
 
Benutzerbild von WarrenFaith
 
Registriert seit: 17.08.2005
Ort: Berlin
Beiträge: 1.642
Standard eval in Verbindung mit der DB

erstmal willkommen im forum
(so spät aufstehen möchte ich auch mal )

kleiner tipp vorneweg: bei HTML bitte den [code] Tag benutzen und [php] bei PHP, damit haben wir dann ein halbwegs gutes Syntaxhighlighting sowie eine optische umrandung zur hervorhebung des relevanten quellcodes

zum thema:
Ich verstehe nicht so ganz, warum die den kompletten HTML Tag (sprich <td></td>) mit in die Datenbank schreiben willst.

ich würde es so machen (wenn ich dich recht verstanden habe)
PHP-Code:
<?php
$sql 
"SELECT wert FROM tabelle";
$result mysql_query($sql);
?>
<table>
    <tr>
    <?php
        
while ($ergebnis mysql_fetch_array($result)) {
            echo 
'<td>'.$ergebnis['wert'].'</td>';
        }
    
?>
    </tr>
</table>
?>
//edit: syntaxhighlighting geht nur in diesem post nicht!?


[size=9px]// edit by Jann Hendrik:
das liegt daran, dass du den tag [code] und [php] geöffnet hattest!

danach nochmal öffnen geht nicht... du hattest das aber genannt, als Hinweis zum nutzen, daher das Prob. das dann unten darzustellen....
[/size]
__________________
I did it my way - Senseless-Blog
WarrenFaith ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 02.09.2005, 11:39 Nach oben    #4
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.471
Standard eval in Verbindung mit der DB

@Warren:
Du füllst Spalten, ich Zeilen.
Ben ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 02.09.2005, 11:54 Nach oben    #5
Martin Breuer
 
Benutzerbild von WarrenFaith
 
Registriert seit: 17.08.2005
Ort: Berlin
Beiträge: 1.642
Standard eval in Verbindung mit der DB

Na dann wird aus
PHP-Code:
<?php
echo '<td>'.$ergebnis['wert'].'/<td>';
?>
halt
PHP-Code:
<?php
echo '<tr><td>'.$ergebnis['wert'].'</td></tr>';
?>

je nachdem was gebraucht wird
__________________
I did it my way - Senseless-Blog
WarrenFaith ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 02.09.2005, 12:08 Nach oben    #6
Benutzer
 
Registriert seit: 02.09.2005
Beiträge: 68
Standard eval in Verbindung mit der DB

Also erstmal danke für eure Antworten...

Also ich hab mir des halt so gedacht. Ich hab ne bekannte und die kann nur a weng html.....die kennt sich mit ftp etc. ned so gut aus....
wollt ihr halt a kleines Admininterface basteln wo se dann über a Textfenster ihre htmleingaben in die DB machen kann und fertig
dann hät ich nur noch des ganze per MySql Klasse und den 10 oder 20 vars modifiziert und fertig

Des war eigentlich der Gedanke in der Theorie
Julied64 ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 02.09.2005, 12:10 Nach oben    #7
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.471
Standard eval in Verbindung mit der DB

Hi,
das ist ja schön, ändert aber nichts an der Tatsache, dass deine "Theorie" nicht so wirklich das ist, was benötigt wird.

Grüße Ben.
Ben ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 02.09.2005, 13:06 Nach oben    #8
Benutzer
 
Registriert seit: 02.09.2005
Beiträge: 68
Standard eval in Verbindung mit der DB

nun noch eine letzte frage...
wenn ich per:
PHP-Code:
<?php
strip_tags
($var);
eval(
$var);

?>
"entschärfe" langt das dann, oder bleibt das scipt dann immer noch "manipulativ"? (ich hoff das schreibt man so )


PS: trotzdem vielden dank für eure Antworten, werd mir dann mal ne andere Lösung basteln.....muss ich mich wohl doch an Templates machen


MfG

Julied
Julied64 ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 02.09.2005, 13:11 Nach oben    #9
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.471
Standard eval in Verbindung mit der DB

Teste mal
PHP-Code:
<?php

     $var 
'<?php phpinfo(); ?>';

     
strip_tags($var);
     eval(
$var);

?>
Was kommt raus?

Weiterhin: Was genau meinst du mit manipulativ?

Grüße Ben.
Ben ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 02.09.2005, 13:34 Nach oben    #10
Benutzer
 
Registriert seit: 02.09.2005
Beiträge: 68
Standard eval in Verbindung mit der DB

ähm ja, es heisst doch das es gefährlich ist mit eval zu arbeiten denn mit eval wird das script...hmm...wie soll ich sagen....hackbar? manipulativ? veränderbar? man kann als benutzer eingreifen?


also wenn ich etz ganz dumm schreib

PHP-Code:
<?php
eval($_POST['var']);
?>
//hier kommt ein Formular mit einem Textfeld rein und das name attribut guggt natürlich so aus -- >> name='var' dann kann ich dem User der da drauf geht auch gleich den Server schenken da er dann ja jeeden PHP befehl da eingeben kann

also im prinzip manipulativ.....

also muss ich doch die var('s) die in eval reinkommen "entschärfen" oder ned....denn wenn ich ein GB hab und da schreib jemand als Beitrag php code rein nur zum Beispiel etz dann wir der wenn man dann eval() verwendet ja ausgeführt ned gut so...
Julied64 ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 02.09.2005, 14:49 Nach oben    #11
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.471
Standard eval in Verbindung mit der DB

Na selbstvertändlich solltest du dem User nicht die Möglichkeit geben PHP-Code auszuführen. Aus diesem Grund verstehe ich ja auch nicht warum du überhaupt mit eval() arbeiten willst?

Wenn es da nur um ein Gästebuch geht .. dann verstehe ich ehrlich gesagt nicht, wo da der Sinn sein soll.

Du hast doch oben einen Codeschnipsel von mir erhalten. Wieso arbeitest du nicht nach diesem Prinzip?

Schau dir auch mal das Tutorial zum MySQL-Gästebuch an.

Grüße Ben.
Ben ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 02.09.2005, 15:15 Nach oben    #12
Erfahrener Benutzer
 
Registriert seit: 18.03.2005
Beiträge: 591
Standard eval in Verbindung mit der DB

Habe jetzt nicht alles gelesen, aber vieleicht ist ja nicht für alle User gedacht

Kann ja sein, wer möchte Online nur PHP-Scripte testen ...
Diese Möglichkeit habe ich mir auch geschaffen, kann ab und zu nützlich sein.
CIX88 ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 02.09.2005, 19:59 Nach oben    #13
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.471
Standard eval in Verbindung mit der DB

@CIX & Jojo:
Bitte nicht spammen. Danke.

Einige Beiträge wurden von mir aufgrund fehlenden Themenbezugs gelöscht.
Ben ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 05.12.2005, 08:57 Nach oben    #14
Benutzer
 
Registriert seit: 02.09.2005
Beiträge: 68
Standard

könnt ich anstatt:

PHP-Code:
<?php

     
// Verbindung zur Datenbank herstellen

    
$sql 'SELECT spalte FROM tabelle';

    
$res mysql_query($sql) or exit(mysql_error());

    echo 
'<table>';

    while(
$arr mysql_fetch_assoc($res)) {
        
printf('<tr>
                    <td>%s</td>
                  </tr>'
,
                  
$arr['spalte']);
    }

    echo 
'</table>';

?>
auch

PHP-Code:
<?php

     $var
='<tr>
                    <td>%s</td>
                  </tr>'
;

     
// Verbindung zur Datenbank herstellen

    
$sql 'SELECT spalte FROM tabelle';

    
$res mysql_query($sql) or exit(mysql_error());

    echo 
'<table>';

    while(
$arr mysql_fetch_assoc($res)) {
        
printf($var,
                  
$arr['spalte']);
    }

    echo 
'</table>';

?>
schreiben???
Julied64 ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 05.12.2005, 09:27 Nach oben    #15
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.471
Standard

Ist zwar früh morgens .. aber joa .. sollte klappen .
Ben ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 05.12.2005, 09:49 Nach oben    #16
Benutzer
 
Registriert seit: 02.09.2005
Beiträge: 68
Standard

ey joa voll goil *freuspring* Da tun sich ja Welten auf...tzäs....warum bin ich da ned selbst draufgekommen *kopflang*
Julied64 ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


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

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 aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
datenbank verbindung Steven Gerrard PHP-Programmierung 6 24.04.2007 16:20
Verbindung zu Modem klappt von Laptop aus nicht Mirod Tools, Server, Betriebssysteme 3 21.10.2006 00:36
Navigation auf Smarty umstellen?! napsio PEAR, PECL und Frameworks 4 25.01.2006 19:22
Sockets: Verbindung prüfen Zero83 Allgemeine Java-Programmierung 8 12.10.2005 13:56
Ansatz für Verbindung bei online-spiel sparrow Plauderecke 4 27.04.2005 17:44


Alle Zeitangaben in WEZ +2. Es ist jetzt 10:53 Uhr.


Powered by vBulletin® Version 3.7.3 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44