login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Geen hele tekst uit de database (Opgelost)

Offline willie - 22/10/2011 22:47
Avatar van willie0 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
  1. echo '&nbsp;E-mail : &nbsp;&nbsp;<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

Gesponsorde links
Offline svm - 22/10/2011 23:15 (laatste wijziging 22/10/2011 23:19)
Avatar van svm 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().
Offline willie - 23/10/2011 14:29 (laatste wijziging 23/10/2011 14:42)
Avatar van willie 0 Alleen bij het email progammma
In de database staat wel de gehele text.
Het veld in de database is zo opgebouwd,
  1. CREATE TABLE IF NOT EXISTS `contact` (
  2. `id` int(11) NOT NULL AUTO_INCREMENT,
  3. `naam` varchar(255) DEFAULT NULL,
  4. `email` varchar(255) DEFAULT NULL,
  5. `onderwerp` varchar(255) DEFAULT NULL,
  6. `text` text,
  7. `datum` datetime DEFAULT NULL,
  8. PRIMARY KEY (`id`)
  9. ) 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.

Offline icemar - 23/10/2011 15:22 (laatste wijziging 23/10/2011 15:22)
Avatar van icemar 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 willie - 23/10/2011 15:56
Avatar van willie 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 WouterJ - 23/10/2011 16:13
Avatar van WouterJ 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:
  1. <?php
  2. $subject = 'Algemene Informatie';
  3. $subjectParse = str_replace(' ', '-', $subject);
  4. echo $subjectParse;
  5. ?>

Bedankt door: willie
Offline svm - 23/10/2011 16:38 (laatste wijziging 23/10/2011 16:41)
Avatar van svm 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:
  1. <?//highlighting
  2. echo '&nbsp;E-mail : &nbsp;&nbsp;<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.
Bedankt door: willie
Offline willie - 23/10/2011 16:38
Avatar van willie 0 Ik heb het aangepast met jou voorbeeld.
Dus dankje wel weer wat geleerd.
Het werk dus.
  1. $tekst = nl2br($aBerichten['text']);
  2.  
  3. $subject = $aBerichten['onderwerp'];
  4. $subjectParse = str_replace(' ', '-', $subject);
  5. echo '<table bgcolor="000000" width="400">';
  6. echo '<tr><td>&nbsp;datum : &nbsp;&nbsp;'.$aBerichten['datum'].'</td></tr>';
  7. echo '<tr><td>&nbsp;Naam :&nbsp;&nbsp;'.$aBerichten['naam'].'</td></tr>';
  8. echo '<tr><td>&nbsp;E-mail : &nbsp;&nbsp;<a href=mailto:'.$aBerichten['email'].'?subject='.$subjectParse.'>'.$aBerichten['email'].'</a></td></tr>';
  9. echo '<tr><td>&nbsp;Onderwerp : &nbsp;&nbsp;'.$aBerichten['onderwerp'].'</td></tr>';
  10. echo '<tr><td>&nbsp;Bericht :<hr></td></tr>';
  11. echo '<tr><td>&nbsp;<table><tr><td>'.$tekst.'</td></tr></table>&nbsp;</td></tr>';
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.201s