|
Categorieën >
PHP & SQL
Geen hele tekst uit de database (Opgelost)
|
|
|
offline
|
0
|
Ik ben bezig met een contact script.
Dit script maakt gebruik van een database.
De link die ik heb werkt wel, maar bij onderwerp geeft deze niet de gehele tekst weer uit de db.
Dit is de link die ik gebruik
echo ' E-mail : <a href=mailto:'.$aBerichten['email'].'?subject='.$aBerichten['onderwerp'].'>'.$aBerichten['email'].'</a>';
echo ' E-mail : <a href=mailto:'.$aBerichten['email'].'?subject='.$aBerichten['onderwerp'].'>'.$aBerichten['email'].'</a>';
De tekst in de db is Algemene Informatie.
Maar ik zie alleen maar Algemene staan.
Hoe kan ik dit oplossen?
|
7 antwoorden
svm – 22/10/2011 23:15 (Laatst gewijzigd op 22/10/2011 23:19)
|
|
offline
|
PHP ver gevorderde
|
Staat dit ook in de HTML de je vervolgens als output krijgt of alleen in het e-mailprogramma bij onderwerp?
Beter zet je de value van het href attribuut tussen dubbele aanhalingstekens; ook kun je de spatie laten vervangen door %20: PHP.net: rawurlencode().
|
willie – 23/10/2011 14:29 (Laatst gewijzigd op 23/10/2011 14:42)
|
|
offline
|
0
|
Alleen bij het email progammma
In de database staat wel de gehele text.
Het veld in de database is zo opgebouwd, CREATE TABLE IF NOT EXISTS `contact` (
`id` int(11) NOT NULL auto_increment,
`naam` varchar(255) default NULL,
`email` varchar(255) default NULL,
`onderwerp` varchar(255) default NULL,
`text` text,
`datum` datetime default NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;
CREATE TABLE IF NOT EXISTS `contact` ( `id` int(11) NOT NULL AUTO_INCREMENT, `naam` varchar(255) DEFAULT NULL, `email` varchar(255) DEFAULT NULL, `onderwerp` varchar(255) DEFAULT NULL, `text` text, `datum` datetime DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;
Misschien als ik het veld onderwerp als text doe inplaats van varchar ?
In het veld onderwerp staat dit, Algemene Informatie.
Maar als uitput zie ik alleen dit staan, Algemene.
Maar als ik het zo in de database zet, Algemene-Informatie
dan werkt het wel.
Maar dat is natuurlijk niet de bedoeling.
|
icemar – 23/10/2011 15:22 (Laatst gewijzigd op 23/10/2011 15:22)
|
|
offline
|
Lid
|
Je tekst van je onderwerp mag nu maar 255 tekens zijn.
Dus als je deze omzet naar text dan zal het resultaat beter zijn.
|
|
|
|
offline
|
0
|
Heb ik geprobeert, maar de uitkomst is het zelfde,
ikzie in de link alleen maar (mailto:willie_wortel@hotmail.com?subject=Algemene) staan inplaats van (mailto:willie_wortel@hotmail.com?subject=Algemene Informatie)
|
|
|
|
offline
|
HTML gevorderde
|
Spaties in een url moet je altijd vermijden. Gebruik - of _ om deze te vervangen. Dit kun je bijv. met preg_replace of str_replace doen:
<?php
$subject = 'Algemene Informatie';
$subjectParse = str_replace(' ', '-', $subject);
echo $subjectParse;
?>
<?php $subject = 'Algemene Informatie'; ?>
|
svm – 23/10/2011 16:38 (Laatst gewijzigd op 23/10/2011 16:41)
|
|
offline
|
PHP ver gevorderde
|
Maar wat staat er in de geparste HTML? We weten nu hoe het e-mailproggie het ziet en hoe je onder in de balk je link ziet.
Maar hoe ziet het eruit in de html als je de bron van je webpagina bekijkt?
Ik verwacht namelijk dat hij daar wel volledig in staat en dat, in dat geval, de fout opgelost kan worden met de oplossing(en) die ik gisteren al gaf:
<?//highlighting
echo ' E-mail : <a href="mailto:'.$aBerichten['email'].'?subject='. rawurlencode($aBerichten['onderwerp']) .'">'.$aBerichten['email'].'</a>';
<?//highlighting echo ' E-mail : <a href="mailto:'.$aBerichten['email'].'?subject='. rawurlencode($aBerichten['onderwerp']) .'">'.$aBerichten['email'].'</a>';
Type VARCHAR is geen enkel probleem; TEXT is onnodig.
Edit: @Waldio: beter vervang je spaties in een uri door %20 ;) (RFC3986)
Dit doet dus rawurlencode() o.a.
|
|
|
|
offline
|
0
|
Ik heb het aangepast met jou voorbeeld.
Dus dankje wel weer wat geleerd.
Het werk dus. $tekst = nl2br($aBerichten['text']);
$subject = $aBerichten['onderwerp'];
$subjectParse = str_replace(' ', '-', $subject);
echo '<table bgcolor="000000" width="400">';
echo '<tr><td> datum : '.$aBerichten['datum'].'</td></tr>';
echo '<tr><td> Naam : '.$aBerichten['naam'].'</td></tr>';
echo '<tr><td> E-mail : <a href=mailto:'.$aBerichten['email'].'?subject='.$subjectParse.'>'.$aBerichten['email'].'</a></td></tr>';
echo '<tr><td> Onderwerp : '.$aBerichten['onderwerp'].'</td></tr>';
echo '<tr><td> Bericht :<hr></td></tr>';
echo '<tr><td> <table><tr><td>'.$tekst.'</td></tr></table> </td></tr>';
$tekst = nl2br($aBerichten['text']); $subject = $aBerichten['onderwerp']; echo '<table bgcolor="000000" width="400">'; echo '<tr><td> datum : '.$aBerichten['datum'].'</td></tr>'; echo '<tr><td> Naam : '.$aBerichten['naam'].'</td></tr>'; echo '<tr><td> E-mail : <a href=mailto:'.$aBerichten['email'].'?subject='.$subjectParse.'>'.$aBerichten['email'].'</a></td></tr>'; echo '<tr><td> Onderwerp : '.$aBerichten['onderwerp'].'</td></tr>'; echo '<tr><td> Bericht :<hr></td></tr>'; echo '<tr><td> <table><tr><td>'.$tekst.'</td></tr></table> </td></tr>';
|
Je moet ingelogd zijn om een reactie te kunnen posten.
|
|
|