php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Bewertung: Bewertung: 2 Stimmen, 5,00 durchschnittlich.
  #16 (permalink)  
Alt 30-05-2008, 11:46
combie
 PHP Expert
Links : Onlinestatus : combie ist offline
Registriert seit: May 2006
Beiträge: 3.296
combie wird schon bald berühmt werden
Standard

Das ganze htmlspecialchars Gedöns ist völlig überflüssig!!
Auch die slash verwurstung ist, nunja, unvollkommen.
Benutze die Escape Funktion des DB Treibers wenn nötig.
Welche DB verwendest du überhaupt?

Auch das jpg Gedöns ist falsch, denn es ist ja gar kein Jpg, oder?
__________________
Wir werden alle sterben
Mit Zitat antworten
  #17 (permalink)  
Alt 30-05-2008, 11:54
aSkInG
 Newbie
Links : Onlinestatus : aSkInG ist offline
Registriert seit: Aug 2006
Beiträge: 13
aSkInG ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Doch zu testzwecken ist es noch ein jpg. nachher wird das für das favicon angepasst.

ich habe jetzt anstelle jpeg jpg genommen.

Wieso ist das htmlspecialchars und slashes unsinnig? Was ich so gelesen habe, da steht das man das eigentlich immer machen sollte. Nun ja, ich kann das auch wegnehmen. Ich nutzte MySQL.

Nun ich habe auch schon einen kleinen Erfolg, und zwar wird ein kleiner Teil des Bildes auch angezeigt. Aber danach bleibt alles weiß

Hier mal den Code von makeimage.php
PHP-Code:
header("Content-type: image/jpg");
include(
"../config/config.php");
include(
"../includes/functions.php");
$id $_GET['id'];
$db DB_CONNECT($DB_HOST$DB_USER$DB_PASSWORT$DB_NAME);
$abfrage "SELECT seiten.favicon FROM seiten WHERE seiten.id = '$id'";
$result $db->query($abfrage);
$result =  $result->fetch_assoc();
$favicon htmlspecialchars_decode($result['favicon']);
$favicon stripslashes($favicon);


echo 
$favicon
Mit Zitat antworten
  #18 (permalink)  
Alt 30-05-2008, 12:07
combie
 PHP Expert
Links : Onlinestatus : combie ist offline
Registriert seit: May 2006
Beiträge: 3.296
combie wird schon bald berühmt werden
Standard

Zitat:
Wieso ist das htmlspecialchars und slashes unsinnig? Was ich so gelesen habe, da steht das man das eigentlich immer machen sollte. Nun ja, ich kann das auch wegnehmen. Ich nutzte MySQL
Schmeiß das Buch weg...


Nutze nur bei dem Eintragen: mysql_real_escape_string()

Beim Lesen brauchst du nix zu machen. Nur die richtigen Header setzen und zum Browser schicken.
__________________
Wir werden alle sterben
Mit Zitat antworten
  #19 (permalink)  
Alt 30-05-2008, 12:22
aSkInG
 Newbie
Links : Onlinestatus : aSkInG ist offline
Registriert seit: Aug 2006
Beiträge: 13
aSkInG ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ok, werde ich mir merken.
Du scheinst kein Anhänger von htmlspecialchars zu sein etc. Darf ich nebenbei fragen warum?

UNd dann noch was. Ich habe den Header ja nun richtig gesetzt und ich bekomme ja uach daten angezeigt. Aber nicht die Bilder.

http://www.webby24.de/test/admin/makeimage.php?id=6
da mal ein Link ohne Bild
und hier eins mit einem halebn bild:
http://www.webby24.de/test/admin/makeimage.php?id=73
Mit Zitat antworten
  #20 (permalink)  
Alt 30-05-2008, 12:36
combie
 PHP Expert
Links : Onlinestatus : combie ist offline
Registriert seit: May 2006
Beiträge: 3.296
combie wird schon bald berühmt werden
Standard

Zitat:
Du scheinst kein Anhänger von htmlspecialchars zu sein etc. Darf ich nebenbei fragen warum?
Ich bin ein ausgesprochener Fan von htmlspecialchars() und htmlentities() !!

"Image-binär-Daten" !== "HTML"
Oder?


Diese beiden Funktionen sind bei der Erzeugung von HTML ungemein hilfreich!
Aber du willst ja kein HTML erzeugen, sondern ein Bild in der DB speichern. Also sind es definitiv die falschen Funktionen für diesen Zweck.

Schau dir die Seiten im Handbuch nochmal ganz genau an:
http://de3.php.net/manual/de/functio...ecialchars.php
http://de3.php.net/manual/de/function.htmlentities.php
Steht das irgend etwas über DBs oder so...?


Zeige doch mal deinen Code wie er jetzt aussieht!
Das Lesen und das Schreiben.
__________________
Wir werden alle sterben

Geändert von combie (30-05-2008 um 12:39 Uhr)
Mit Zitat antworten
  #21 (permalink)  
Alt 30-05-2008, 12:47
aSkInG
 Newbie
Links : Onlinestatus : aSkInG ist offline
Registriert seit: Aug 2006
Beiträge: 13
aSkInG ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Okay,

ich habe aber eine andere MySQL Verbindung, daher will mysql_real_escape_string nicht. DAher habe ich einfach alles rausgenommen.

Hier erstmal die Formular Daten:
PHP-Code:
if(isset($_FILES['favicon']['tmp_name']) && $_FILES['favicon']['tmp_name'] != '')
                    {
                        
// Hier unbedingt noch mal überprüfen, ob es sich um die richtige Größe etc. handelt!
                        // Alles andere löschen!
                        
$favicon $_FILES['favicon']['tmp_name'];
                        
$size $_FILES['favicon']['size'];
                        
$image fopen($favicon'r');
                        
$inputdata fread($image$size);
                        
//$inputdata = htmlspecialchars($inputdata);
                        //$inputdata = addslashes($inputdata);
                        
                        //$favicon = htmlspecialchars($favicon);
                        //$favicon = addslashes($favicon);
                    
} else {
                        
$favicon NULL;
                    } 
nun das senden und ausführen an die DB
PHP-Code:
// Es wurden nun alle empfangenen Daten in kurze Variablen gespeichert!!!!
                    // Nun alle Daten in die Datenbank eingeben und bei Erfolg, eine Erfolgsmeldung ausgeben.
                    
$db DB_CONNECT($DB_HOST$DB_USER$DB_PASSWORT$DB_NAME);
                    
$select "INSERT INTO seiten VALUES ('" $id "', '" $name 
"', '" $menuname ."', '" $menu "', '" $inhalt 
"', '" $inputdata "', '" $meta_name 
."', '" $meta_keys ."', '" $meta_author 
"', '" $meta_beschreibung "', '" 
$meta_titel ."','" $guestbook ."')";
                    
$doIt $db->query($select);
                    if(
$doIt)
                    {
                        echo 
'<h1>Gratulation!</h1><p>Alle Daten wurden erfolgrecih eingespeichert!</p>
<p><a href="einstieg.php?PageId=seiten">Hiermit kehren Sie zur Administrationsoberfläche Zurück.</a>
</p>'
;
                    } 
Nun die makeimage.php
PHP-Code:
<?php
header
("Content-type: image/jpeg");
include(
"../config/config.php");
include(
"../includes/functions.php");
$id $_GET['id'];
$db DB_CONNECT($DB_HOST$DB_USER$DB_PASSWORT$DB_NAME);
$abfrage "SELECT seiten.favicon FROM seiten WHERE seiten.id = '$id'";
$result $db->query($abfrage);
$result =  $result->fetch_assoc();
//$favicon = htmlspecialchars_decode($result['favicon']);
//$favicon = stripslashes($favicon);


echo $result['favicon'];

?>
Na ja da hast du recht. Ich habe nur gelernt, das alles was in die DB rein geschrieben werden soll, so escapet werden sollte. Daher mache ich das.
Mit Zitat antworten
  #22 (permalink)  
Alt 30-05-2008, 12:52
combie
 PHP Expert
Links : Onlinestatus : combie ist offline
Registriert seit: May 2006
Beiträge: 3.296
combie wird schon bald berühmt werden
Standard

Gar nichts machen kann doch auch nur falsch sein!
Ohne das mysql_real_escape_string() wirds nichts!

Was "eine andere Verbindung" ist, weiß ich auch nicht...
Da bildest du dir was ein.

Und die sind ja immer noch da:
$favicon = htmlspecialchars_decode($result['favicon']);
$favicon = stripslashes($favicon);

Ich habe dir alles geschrieben, was ich dazu weiß!
Mach was draus....
__________________
Wir werden alle sterben

Geändert von combie (30-05-2008 um 12:56 Uhr)
Mit Zitat antworten
  #23 (permalink)  
Alt 30-05-2008, 12:54
H2O
 PHP Junior
Links : Onlinestatus : H2O ist offline
Registriert seit: Jul 2007
Beiträge: 937
H2O ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von aSkInG

ich habe aber eine andere MySQL Verbindung, daher will mysql_real_escape_string nicht. DAher habe ich einfach alles rausgenommen.
mysqli_real_escape_string()
__________________
Gruss
H2O
Mit Zitat antworten
  #24 (permalink)  
Alt 30-05-2008, 13:02
aSkInG
 Newbie
Links : Onlinestatus : aSkInG ist offline
Registriert seit: Aug 2006
Beiträge: 13
aSkInG ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Danke!

An euch beide!
es hat funktioniert! Ich kam wieder nicht auf das i, das verdammte

So klappt auch alles.

Ach ja, noch eins, ich danke dir für deine geduld, doch bin ich nicht beratungsresitent, ich habe lediglich vergessen die hier auszuklammern

Zumal ich das testen wollte, ob es so besser ist. War nicht der Fall. Habe ich erkannt.

Danke nochmal
Mit Zitat antworten
Antwort

Lesezeichen


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

Themen-Optionen
Thema bewerten
Thema bewerten:

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 an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

ADSMAN V3 - Werbe-Manager ansehen ADSMAN V3 - Werbe-Manager

ADSMAN V3 - mehr als nur ein Bannermanager! Banner, Textanzeigen und PagePeel Manager! Mit ADSMAN PRO haben Sie die Marketinglösung für eine effektive und effiziente Werbeschaltung mit messbaren Ergebnissen. Unterstützt werden Bannerformate in beliebi

25.10.2018 virtualsystem | Kategorie: PHP/ Bannerverwaltung
PHP News und Artikel Script V2

News schreiben, verwalten, veröffentlichen. Dies ist jetzt mit dem neuen PHP News & Artikel System von virtualsystem.de noch einfacher. Die integrierte Multi-User-Funktion und der WYSIWYG-Editor (MS-Office ähnliche Bedienung) ermöglichen...

25.10.2018 virtualsystem | Kategorie: PHP/ News
Top-Side Guestbook

Gästebuch auf Textbasis (kein MySQL nötig) mit Smilies, Ip Sperre (Zeit selbst einstellbar), Spamschutz, Captcha (Code-Eingabe), BB-Code, Hitcounter, Löschfunktion, Editierfunktion, Kommentarfunktion, Kürzung langer Wörter, Seiten- bzw. Blätterfunktion, V

22.10.2018 webmaster10 | Kategorie: PHP/ Gaestebuch
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 11:43 Uhr.