Database opstelling
Iemand met hetzelfde probleem ?
Gebruik TEXT in plaats van VARCHAR.
FULLTEXT is geen datatype, maar een index, dat is heel wat anders dan een datatype.
Dit gaat niet omdat TEXT enkel voor text is en niet voor html tags .
Ik gebruik VARCHAR met type FULLTEXT
Bart schreef op 15.05.2008 16:00:
@Jonathan
Dit gaat niet omdat TEXT enkel voor text is en niet voor html tags .
Dit gaat niet omdat TEXT enkel voor text is en niet voor html tags .
En van wie heb je dat geleerd of waar staat dat beschreven?
Als je al deze koppelingen hebt hou je de kale tekst over en deze kan je in een text veld gooien...
Man, gooi lekker die html tags in een text veld :D
Bart schreef op 15.05.2008 16:00:
En waar heb je deze wijsheid vandaan?@Jonathan
Dit gaat niet omdat TEXT enkel voor text is en niet voor html tags .
Dit gaat niet omdat TEXT enkel voor text is en niet voor html tags .
Graag even een linkje naar de handleiding waar dit staat.
Ypma schreef op 15.05.2008 16:01:
En van wie heb je dat geleerd of waar staat dat beschreven?
Bart schreef op 15.05.2008 16:00:
@Jonathan
Dit gaat niet omdat TEXT enkel voor text is en niet voor html tags .
Dit gaat niet omdat TEXT enkel voor text is en niet voor html tags .
En van wie heb je dat geleerd of waar staat dat beschreven?
Omdat ik dit uit ervaring geleerd heb. ik krijg geen html tags in men db met TEXT
Bart schreef op 15.05.2008 16:00:
Waarbij FULLTEXT een index is. Dat is namelijk geen datatype, zie de handleiding van het stuk ongeluk dat jij database noemt.@pgFrank
Ik gebruik VARCHAR met type FULLTEXT
Ik gebruik VARCHAR met type FULLTEXT
Edit:
Quote:
Dan ben je de eerste, dit is echt klinklare onzin. Waarschijnlijk maak jij wat fouten in je PHP-code en/of je SQL, maar dat heeft niks met een datatype te maken die vrijwel alles accepteert. Ook html-tags, dat is gewoon tekst voor de database, die kent helemaal geen html.Omdat ik dit uit ervaring geleerd heb. ik krijg geen html tags in men db met TEXT
Gewijzigd op 01/01/1970 01:00:00 door Frank -
CREATE TABLE `gezinsbond_context` (
`ContID` int(11) NOT NULL auto_increment,
`categorie` text NOT NULL,
`teksten` text NOT NULL,
`bytesize` varchar(255) NOT NULL default '',
PRIMARY KEY (`ContID`),
FULLTEXT KEY `teksten` (`teksten`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;
Code (php)
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
45
46
47
48
49
50
51
52
53
54
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
45
46
47
48
49
50
51
52
53
54
<?php
require_once('../../Connections/conn_gezinsbond.php');
// Eerste validatie, controleren of de gegevens wel een post is en of de post gevuld is
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
if(!empty($_POST['elm1']) && !empty($_POST['categorie']) && !empty($_POST['contid']))
{
// Toegelaten html tags
$allowedTags ='<p><strong><em><u><h1><h2><h3><h4><h5><h6><img>';
$allowedTags.='<li><ol><ul><span><div><br><ins><del><a><td><tr><tt>';
$teksten = strip_tags(stripslashes($_POST['elm1'],$allowdTags));
// Hoe groot is de tekstwaarde in bytes
$sbytes = filesize('../../index.php') ;
// Alles ging goed dus voeren we het uit
$categorie = "$_POST[categorie]";
$contid = "$_POST[contid]";
mysql_select_db('elbadesign_eindwerk') or die('Error, cannot select mysql database');
$sql = "
UPDATE
gezinsbond_context
SET
ContID = '" . $contid . "',
categorie = '" . $categorie . "',
teksten = '" . $teksten . "',
bytesize = '" . $sbytes . "'
WHERE
ContID = " . $contid;
if (mysql_query ($sql)) {
if (mysql_affected_rows () == 1) {
$msg = 'Tabel geupdate';
}
else {
$msg = 'Niets geupdate ';
}
}
else {
$msg = mysql_errno () . ': ' . mysql_error ();
$msg .= '<br />';
$msg .= htmlentities ($sql);
}
echo $msg , $contid, $categorie, $teksten, $sbytes;
}
else {
echo"Geen post gegevens meegekregen";
}
}
?>
require_once('../../Connections/conn_gezinsbond.php');
// Eerste validatie, controleren of de gegevens wel een post is en of de post gevuld is
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
if(!empty($_POST['elm1']) && !empty($_POST['categorie']) && !empty($_POST['contid']))
{
// Toegelaten html tags
$allowedTags ='<p><strong><em><u><h1><h2><h3><h4><h5><h6><img>';
$allowedTags.='<li><ol><ul><span><div><br><ins><del><a><td><tr><tt>';
$teksten = strip_tags(stripslashes($_POST['elm1'],$allowdTags));
// Hoe groot is de tekstwaarde in bytes
$sbytes = filesize('../../index.php') ;
// Alles ging goed dus voeren we het uit
$categorie = "$_POST[categorie]";
$contid = "$_POST[contid]";
mysql_select_db('elbadesign_eindwerk') or die('Error, cannot select mysql database');
$sql = "
UPDATE
gezinsbond_context
SET
ContID = '" . $contid . "',
categorie = '" . $categorie . "',
teksten = '" . $teksten . "',
bytesize = '" . $sbytes . "'
WHERE
ContID = " . $contid;
if (mysql_query ($sql)) {
if (mysql_affected_rows () == 1) {
$msg = 'Tabel geupdate';
}
else {
$msg = 'Niets geupdate ';
}
}
else {
$msg = mysql_errno () . ': ' . mysql_error ();
$msg .= '<br />';
$msg .= htmlentities ($sql);
}
echo $msg , $contid, $categorie, $teksten, $sbytes;
}
else {
echo"Geen post gegevens meegekregen";
}
}
?>
Wat is je ervaring hiermee dan? Waar gingen de fouten opspelen?
Je haalt zelf de tags er uit.
Quote:
Dat is dan een fout van PHP en niet van je database of datatype. Wanneer jij geen query naar de database stuurt, kan deze ook niks uitvoeren. Lijkt me logisch. En gebruik ik TEXT dan voert hij de query niet uit.
Dit kan dus onmogelijk een fout van het datatype zijn, zover komt jouw script blijkbaar niet eens. Wanneer de database een fout constateert, dan geeft hij een foutmelding. Daarmee kun je dan gaan debuggen.
Oh wacht, jij gebruikt de dataramp MySQL die nauwelijks foutmeldingen geeft maar gewoon jouw data naar de bliksem helpt. Tja, daar kies je dan zelf voor...
Tip: Configureer MySQL zo dat er een redelijke kans is dat deze een foutmelding geeft op fouten, dat maakt het programmeren een heel stuk eenvoudiger. Zoek eens op STRICT MODE.
Betere tip: Schiet MySQL af en ga een echte database gebruiken, vrijwel alles is beter dan MySQL, zeker de MyISAM-engine is een verzameling ellende.
Dus bij de teksten die ik dan langer maak dan 250 karakters in VARCHAR datatype gaat hij het automatisch afkorten op 250 tekens. Ik zou dus een tekst met html tags langer dan 250 tekens telkens moeten afkorten en een soort loop derdoor heen moeten halen zodat ik telkens een nieuwe ConID genereer tot de tekst volledig doorlopen is. Dit is heel omslachtig maar ik vind geen oplossing daarmee dat ik even wou horen wat jullie ervaringen daarmee zijn.
Ik bemerk enorm veel frustratie van jou kant maar ik kan het niet helpen dat sommigen onder ons ook iets anders willen gebruiken dan enkel jou visie.
Bumpen::
SanThe.
edit: waarom trouwens die POST variabelen tussen ""???
Gewijzigd op 01/01/1970 01:00:00 door Crispijn -
Oh My MotherFucking God, hier word ik echt pissig van. Als het je niet lukt met TEXT, ligt dat aan jou, en NIET aan de database.
Let even op je taalgebruik wil je?
Bart schreef op 15.05.2008 16:00:
@Jonathan
Dit gaat niet omdat TEXT enkel voor text is en niet voor html tags .
Dit gaat niet omdat TEXT enkel voor text is en niet voor html tags .
HAHAHAHA ik lach je echt uit man!
En ik geen Jona gelijk!!