Prob MySQL Datenbank PHP Newssystem

  • #1
S

safer

Bekanntes Mitglied
Themenersteller
Dabei seit
21.12.2001
Beiträge
348
Reaktionspunkte
0
Ort
NRW
Moin,
ich habe ein Newssystem, das auf einer MySQL Datenbank läuft.
In einem Password geschützen Bereich können Nachrichten von jedem Browser Online gestellt werden.

Alles läuft prima. Jetzt möchte ich aber zusätzlich noch Bilder in die News Integrieren. Upload in ein Verzeichnis mit PHP ist kein Problem. Wie stelle ich es an, das mir die Bilder auch angezeigt werden?
Der geschriebene Text wird korrekt dargestell, das problem liegt darin, das ich ja den Pfad zum Bild in die News schreiben muß.
Beispiel<img src=http://www.xxx.de/bild.gif>
Logischerweise wird der Pfad in den News angezeigt. Hier sollte aber das Bild erscheinen.
Kann man irgendwie beim Aufruf der News mit einem Trick den Link so umwandeln, das das Bild angezeigt wird?

gruß
safer
 
  • #2
Hi

Das liegt entweder daran wie du den Text umänderst bevor du ihn in die DB schreibst, oder was du beim auslesen wieder damit machst.
Hast du vielleicht sowas wie htmlspecialchars() drin oder striptags().
Probier statt dessen mal beim speichern die Daten nur durch myslq_escape_string() umwandeln zu lassen.

Gruß, Michael
 
  • #3
Moin Michael (PCDReitz),
mein problem ist auch noch, das ich erst vor kurzem mit PHP MySQL angefangen habe.
Würde es dir etwas ausmachen einmal über das komplette Newssystem drüber zu schauen? (Hoffe, das das jetzt nicht zuviel verlangt ist.) ;)
Ich würde Dir das ganze Ding mal als ZIP Datei rübermailen.
Vorausgesetz Du gibst dein OK.

Über eine evtl. Vergütung könnte man (wir) natürlich auch reden.

dank
und gruß
safer
 
  • #4
safer schrieb:
Ich würde Dir das ganze Ding mal als ZIP Datei rübermailen.

Über eine evtl. Vergütung könnte man (wir) natürlich auch reden.
Auch, wenn ich nicht Michael bin, aber das ist wohl nicht nötig. Wenn Du einfach den Teil des Quelltext postest, der die Daten aus der Tabelle ausliest, wirst Du hier sicherlich auch so geholfen.

T-Low
 
  • #5
Moin,
Dieser Teil liest aus:
<?php
require(dbase.inc);

$id=get_global(id);
$inhalt=;
$headline=;
if($id!=){
$sql=SELECT DATE_FORMAT(datum, '%d.%m.%Y'), id, headline, html_text, online FROM news WHERE id= . $id;
$result=mysql_query($sql);
$row=mysql_fetch_array ($result);
$inhalt=$row[html_text];
$headline=$row[headline];
}
?>

Das ist die benötigte dbase.inc
<?php
$dbserver=localhost;
$dblogin=;
$dbpassword=;
$dbname=news;

$db_connection=@mysql_pconnect($dbserver, $dblogin, $dbpassword);
if(! $db_connection){
die(Fehler bei der Verbindung zur Datenbank!);
}
if (! mysql_select_db($dbname)) {
die(Fehler bei der Auswahl der Datenbank.);
}

function get_global($var_name){
if(!isset($GLOBALS[$var_name])){
return ();
} else {
return ($GLOBALS[$var_name]);
}
}

function remove_designtags($html_tags){
return preg_replace(/DESIGNTIMESP[^>]+>/,>,$html_tags);
}
?>

Diese PHP Datei speichert in die DB:
<?php
require(dbase.inc);

$sql = SELECT * FROM news;

$result=mysql_query($sql);

$id=get_global(id);

//str_replace(\, ',$inhalt )

$text= remove_designtags(get_global(html_text));
$text=str_replace(', ?,$text );

if($datum==){
$datum=1.1.2002;
}
$sql=;

if($id == ){
// no id: insert new entry
$sql=INSERT INTO news (html_text, headline, datum) VALUES(' . $text . ', ' . $headline . ', ' . $datum . ');
} else {
// update existing entry
$sql=UPDATE news SET html_text=' . $text . ', headline=' . $headline . ', datum=' . $datum . ' WHERE ID= . $id;
}

$t=mysql_query($sql);
?>
<!DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.0 Transitional//EN>
<html>
<head>
<title>News</title>
<link rel=stylesheet type=text/css href=news.css>
</head>
<body>
<h4> <a href=news.php>Zurück</a></h4>
<h4> Datum: <?= $datum ?></h4>
<h4> Headline: <?= $headline ?></h4>
<h4> Folgender Text wurde in die Datenbank eingetragen:</h4>
<?= $text ?>
</body>
</html>


gruß
safer
 
  • #6
Hi

Ersetz mal
$text= remove_designtags(get_global(html_text));
$text=str_replace(', ?,$text );

durch
$text = mysql_escape_string(get_global(html_text));

Sollte es dann gehen, kann man es noch feiner überarbeiten, aber erstmal sehen ob da der Fehler liegt.

Gruß, Michael
 
  • #7
Moin,
habe jetzt die Änderung vorgenommen.
Sieht alles etwas besser aus. Ich habe jetzt wenigstens schon mal den Platzhalter für das Bild. (Kasten mit rotem Kreuz).

Der HTMLCode sieht jetzt folgendermaßen aus:
<IMG src=\\\\http://www.xxx.de/bild.gif\\\'\>

So wie es aussieht, werden die Hochkommas noch maskiert.

gruß
safer
 
Thema:

Prob MySQL Datenbank PHP Newssystem

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.838
Beiträge
707.959
Mitglieder
51.491
Neuestes Mitglied
haraldmuc
Oben