php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 06.04.2005, 17:24  
Gast
 
Beiträge: n/a
Standard htmlcode in datenbank speichern

Hallo leute,

ich hänge seit 2 std an einem Problem, das absolut lächerlich ist, aber es klappt nicht.

Ich habe eine Variable generiert die einen html-codierten Text enthält. Eine Tabelle ums genau zu sagen:

<table><tr><td>ggjgkdflgl</td></tr></table>
blablabla

Diese Variable möchte ich gern in der Datenbank so speichern, das ich später nur hingehen muss um diese Tabelle so darstellen zu lassen, wie sie dort steht.
Die Tabellendaten sind natürlich mit dynamischen Werten gefüllt sonst wär das ja schwachsinnig.

MySQL lässt mich diese Var aber nicht speichern oder besser noch, sie bricht den Vorgang komplett ab und gibt weder fehler oder sonst was aus. Das ist ätzend.

Was kann ich tun, damit die Var gespeichert wird?

hab sogar schon versucht den Inhalt der Var mit htmlspecialchars() umzuwandeln. Kein Erfolg.

Kann mir bitte jemand helfen?
 
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 06.04.2005, 17:26  
Gast
 
Beiträge: n/a
Standard

Ohne den Quellcode zu kennen, müsste ich mein Glaskugel mal wieder putzen. Allerdings bin ich da echt zu faul zu.

Gruß
phpfan
 
Alt 06.04.2005, 17:35  
Erfahrener Benutzer
 
Registriert seit: 08.06.2004
Beiträge: 865
RudiS
Standard

Wenn beim Speichern kein Fehler auftritt, solltest du am Anfang deines Skripts das hier einbauen; damit werden alle Fehler angezeigt:
PHP-Code:
<?php
error_reporting
(E_ALL);
 
?>
Beim Abschicken des Queries solltest du mysql_error() verwenden:
PHP-Code:
<?php
mysql_query
($sql) or die(mysql_error());
 
?>
mfg RudiS
__________________
Kunst kommt von Können und nicht von wollen, denn sonst würde es ja Wunst heißen.
RudiS ist offline  
Alt 06.04.2005, 17:37  
Gast
 
Beiträge: n/a
Standard

Code:
<td align='left'>[img]images/wood.gif[/img]
Code:
$report="<center><h4><u>$usernick hat deinen Handel angenommen</u></h4></center><table><tr><td>Dein Angebot</td><td>$anzahlgive $giveresart</td></tr><tr><td>Du bekommst</td><td>$anzahlget $getresart</td></tr></table>";
Das ist alles. Der Code oben ist ebenfalls als var in den Report eingebaut.

Ich habe mir eben mal den mysql_error ausgeben lassen und anscheinend liegt der fehler im Aufruf der Grafik. Aber ich versteh nicht wieso.
 
Alt 06.04.2005, 17:39  
Erfahrener Benutzer
 
Registriert seit: 08.06.2004
Beiträge: 865
RudiS
Standard

Was sollen wir damit anfangen? Das kann doch nicht dein Skript zum Einfügen sein, oder?
Wir brauchen schon ein paar mehr Informationen.
mfg RudiS
__________________
Kunst kommt von Können und nicht von wollen, denn sonst würde es ja Wunst heißen.
RudiS ist offline  
Alt 06.04.2005, 17:43  
Gast
 
Beiträge: n/a
Standard

Code:
switch($resgive)
{
case "holz": //mysql_query("INSERT INTO `imp_trade` (`tradeid`, `koloid`, `zielkolo`, `holz` ,`stein`, `nahrung`, `eisen`, `startzeit`, `endzeit`) VALUES ( '', '$sendkoloid', '$selectedkolo', '$anzahlgive', '', '', '', '$time', '$endtime')");
             $giveresart="Holz";
             break;
case "stein": //mysql_query("INSERT INTO `imp_trade` (`tradeid`, `koloid`, `zielkolo`, `holz` ,`stein`, `nahrung`, `eisen`, `startzeit`, `endzeit`) VALUES ( '', '$sendkoloid', '$selectedkolo', '', '$anzahlgive', '', '', '$time', '$endtime')");
              $giveresart="Stein";
             break;
case "nahrung": //mysql_query("INSERT INTO `imp_trade` (`tradeid`, `koloid`, `zielkolo`, `holz` ,`stein`, `nahrung`, `eisen`, `startzeit`, `endzeit`) VALUES ( '', '$sendkoloid', '$selectedkolo', '', '', '$anzahlgive', '', '$time', '$endtime')");
                $giveresart="Nahrung";
             break;
case "eisen": //mysql_query("INSERT INTO `imp_trade` (`tradeid`, `koloid`, `zielkolo`, `holz` ,`stein`, `nahrung`, `eisen`, `startzeit`, `endzeit`) VALUES ( '', '$sendkoloid', '$selectedkolo', '', '', '', '$anzahlgive', '$time', '$endtime')");
              $giveresart="Eisen";
             break;
}
$newacceptres=$empfres-$anzahlget;
//mysql_query("UPDATE `imp_res` SET $resget='$newacceptres' WHERE userid='$id' AND koloid='$selectedkolo'");

switch($resget)
{
case "holz": //mysql_query("INSERT INTO `imp_trade` (`tradeid`, `koloid`, `zielkolo`, `holz` ,`stein`, `nahrung`, `eisen`, `startzeit`, `endzeit`) VALUES ( '', '$selectedkolo', '$sendkoloid', '$anzahlget', '', '', '', '$time', '$endtime')");
             $getresart="Holz";
             break;
case "stein": //mysql_query("INSERT INTO `imp_trade` (`tradeid`, `koloid`, `zielkolo`, `holz` ,`stein`, `nahrung`, `eisen`, `startzeit`, `endzeit`) VALUES ( '', '$selectedkolo', '$sendkoloid', '', '$anzahlget', '', '', '$time', '$endtime')");
              $getresart="Holz";
             break;
case "nahrung": //mysql_query("INSERT INTO `imp_trade` (`tradeid`, `koloid`, `zielkolo`, `holz` ,`stein`, `nahrung`, `eisen`, `startzeit`, `endzeit`) VALUES ( '', '$selectedkolo', '$sendkoloid', '', '', '$anzahlget', '', '$time', '$endtime')");
                $getresart="Holz";
             break;
case "eisen": //mysql_query("INSERT INTO `imp_trade` (`tradeid`, `koloid`, `zielkolo`, `holz` ,`stein`, `nahrung`, `eisen`, `startzeit`, `endzeit`) VALUES ( '', '$selectedkolo', '$sendkoloid', '', '', '', '$anzahlget', '$time', '$endtime')");
              $getresart="Holz";
             break;
}

$offernick=mysql_result(mysql_query("SELECT nick FROM `imp_users` WHERE id='$senduserid'"),0);

$tradereport="<center><h4><u>".$usernick." hat deinen Handel angenommen</u></h4></center>";
$tradereport.="<table><tr><td>Dein Angebot</td><td>".$anzahlgive." ".$respicgive."</td></tr>";
$tradereport.="<tr><td>Du bekommst</td><td>".$anzahlget." ".$respicget."</td></tr></table>";
//$tradereport=htmlspecialchars($tradereport);

$tradereport2="<center><h4><u>Angebot von $offernick angenommen</u></h4></center>";
$tradereport2.="<table><tr><td>Du erhälst</td><td>$anzahlgive $respicgive</td></tr>";
$tradereport2.="<tr><td>Er bekommt</td><td>$anzahlget $respicget</td></tr></table>";
//$tradereport2=htmlspecialchars($tradereport2);

mysql_query("INSERT INTO `imp_reports` ( `reportid` , `reportempfaenger` , `reportsender` , `reporttext` , `reportstatus` , `zeit` ) VALUES ( '', '$offernick', '$usernick', '$tradereport', '10', '$time')") or die(mysql_error());
mysql_query("UPDATE `imp_users` SET report_id=1 WHERE id='$id'");
mysql_query("INSERT INTO `imp_reports` ( `reportid` , `reportempfaenger` , `reportsender` , `reporttext` , `reportstatus` , `zeit` ) VALUES ( '', '$usernick', '$offernick', '$tradereport2', '11', '$time')") or die(mysql_error());
mysql_query("UPDATE `imp_users` SET report_id=1 WHERE id='$senduserid'");
Das ist der komplette teil. Der Rest ist nicht wichtig.
 
Alt 06.04.2005, 17:44  
Gast
 
Beiträge: n/a
Standard

Jetzt ist aber ein Problem bei dem Code. Der ist nun geändert.

In den switch-Anweisungen werden vars definiert mit Holz, Stein usw

Da sollte dann eigentlich <img src=.... > stehen.
 
Alt 06.04.2005, 17:45  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

1) bitte php-tags benutzen
2) seh ich kein eines
mysql_error() geschweige denn dass du mal sagen würdest was es ausgibt


mysql error
man sollte in seinen Scripten immer mysql_error() verwenden, in etwa so:
PHP-Code:
$sql "SELECT feld1,feld2 FROM table WHERE id=5";
$result mysql_query($sql) or die(mysql_error().'
Query: '
.$sql); 
[ums nochmal zu posten] :P
robo47 ist offline  
Alt 06.04.2005, 17:49  
Gast
 
Beiträge: n/a
Standard

1. ist das nur ein auszug aus der datei. Die ist 650 zeilen lang, die poste ich doch nich hier.

2. Das habe ich schon gesagt und zwar ziemlich genau.

Code:
<td align='left'>[img]images/titan.gif[/img]
An dieser Zeile hat mysql was auszusetzen. Alles andere interessiert mysql nicht. Nur wenn ich das in die Datenbank schreiben will, macht er stress. Aber was genau daran nicht stimmt sagt er mir auch nicht. Nur das ihm an der Syntax was nicht passt.

3. Was interessiert mich ein fehleraufruf, wenn kein fehler zu sehen ist und alles geht. ich nutze die funktion nur, wenns nicht klappt.
 
Alt 06.04.2005, 17:59  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.792
PHP-Kenntnisse:
Fortgeschritten
robo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz seinrobo47 kann auf vieles stolz sein
Standard

....

bei sowas ist meine funktion praktisch weil sie dir das ganue query ausgeben würde.

mysql_escape_string / add_slashes soltlest du mal versuchen, in nem query kannst du sonst keine ' in nem text haben weil das gleichzeitig die begrenzer für textfelder sind.


zu 3.
sowas sollte immer drinstehen, weil unter umständen hat man bei nem query wo ganz anders bockmist gemacht und das fällt erst viel später beim entwickeln auf. am besten man schreibt sich ne funktion dafür dann kann man auch die fehlerausgabe umgehen wenn das system in produktion geht. abgesehen davon willst du hier hilfe und solltest halt schon ausreichend input geben, wozu ein kompletter post der fehlermeledung und das query selbst gehört.

abgesehen davon, hast du register_globals = on ?
dazu vieleicht noch:

nur btw ich seh eh nirgends checks der werte die ankommen, sql-injectionen lässt grüßen :P ein mysql_escape_string / add_slashes oder aktivertes magick_quotes sind da praktisch.
register_globals
http://www.phpfriend.de/ftopic26569.html
-> lesen, verstehen, umsetzen und nicht register_globals auf on stellen !!



mfg
robo47
robo47 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
Russische Namen in Datenbank speichern. HSFighter Datenbanken 2 27.05.2008 21:29
Variablen in Datenbank speichern und auslesen freehawk PHP-Fortgeschrittene 4 16.03.2008 17:22
Mit php dynamisch Namen von Bildnamen sowie Pfad in mysql Datenbank speichern mallmis PHP Tipps 2008 1 19.11.2007 23:04
Inhalte in Datenbank speichern Maxi Datenbanken 31 14.09.2007 18:56
Speichern einer Telefonliste mit PHP in einer Datenbank timo_81 PHP Tipps 2008 30 07.09.2007 17:52
Inhalte in einer Datenbank speichern Maxi Datenbanken 5 02.09.2007 21:37
Textarea - htmlcode beim speichern Tigermoon PHP Tipps 2006 1 10.04.2006 12:38
Daten aus Datenbank sinnvoll speichern PHP Tipps 2006 15 02.02.2006 19:54
eMails abrufen und in Datenbank speichern mrcoffe Beitragsarchiv 7 25.11.2005 13:44
[Erledigt] Datensätze aus Datenbank speichern und zuweisen PHP Tipps 2005-2 6 11.09.2005 15:38
[Erledigt] Bild aus Datenbank holen und als File speichern PHP Tipps 2005-2 2 05.07.2005 13:35
PHP in eine Datenbank speichern. PHP Tipps 2005 17 03.05.2005 21:13
Probleme beim speichern in die Datenbank Jojo1 PHP Tipps 2005 14 03.02.2005 14:50
Formular in Mysql Datenbank speichern Anuschka Datenbanken 1 15.08.2004 02:55
Bilder in Datenbank speichern PHP Tipps 2004 11 05.08.2004 10:58

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
html code speichern datenbank

Alle Zeitangaben in WEZ +2. Es ist jetzt 11:40 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.