PHP Pagina genereert een hoop spaties

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • josvane
  • Registratie: Oktober 2002
  • Laatst online: 20-09 08:23
Vanmiddag had ik een topic geopend welke gesloten is, maar ik zal mijn probleem nogmaals omschrijven en wat verder toelichten.

Mijn gegevens komen vanuit een database. Deze gegevens worden er via een formulier in gezet. Dit op zich lijtk goed te gaan. Alleen op het moment dat ik deze gegevens will gebruiken gaat het ergens mis.

Bij het invoeren worden 8 velden text veleden samengevoegd met implode. De waardes worden gescheiden door een |.

Voor deze velden staat een textarea.

Als ik de database kijk ziet dat er ook gewoon goed uit.

Nu wil ik de gegevens er natuurlijk ook weer uit hebben. Alleen als ik in de textarea regels overgeslagen heb. Dan plaats hij de waardes die ik met explode gescheiden heb een stuk van het bolletje af. Bij het opvragen worden de overgeslagen regels en enters weer tevoorschijn gehaald met nl2br.

Nu had ik al geprobeerd nl2br weg te laten. Dit heeft geen zin. Ook heb ik het geprobeerd met
PHP:
1
2
3
<?php
$hetantwoord = str_replace(" ", "", "$hetantwoord");
?>

Dit werkt ook niet.

De waardes worden bij het invoeren met addslashes ingevoerd. Bij het opvragen wordt stripslashes gebruikt.

nl2br doe ik op de volgende manier.
PHP:
1
<?php echo("".nl2br("$row1->tekst")."");?>

Als ik de bron opvraag dan staan de gegevens welk goed genoteerd.

Iemand suggesties

Acties:
  • 0 Henk 'm!

  • TheRookie
  • Registratie: December 2001
  • Niet online

TheRookie

Nu met R1200RT

een stuk van welk bolletje :?
Heb je ergens een voorbeeld on-line, want ik kan je uitleg niet echt volgen

Acties:
  • 0 Henk 'm!

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 21:07

TeeDee

CQB 241

In je vorige topic staat wat HTML output.

Als ik daar in kijk, dan klopt er weinig tot niets van je HTML.
HTML:
1
2
<td valign="top" class="producttxt"><LI></LI></td>
<td valign="top" class="producttxt">Tesktregel 3</td>


Dat zou je met:
HTML:
1
<li>Tesktregel 3</li>
ook kunnen doen.

Je zit nu in /13, webdesign en graphics. Daar plaats je php. In /14, programming & webscripting plaats je html.

als het een textarea is, en je doet bijvoorbeeld het volgende:
HTML:
1
2
3
<textarea>     
.....
</textarea>

dan zal er ook whitspace wat achter je textarea declaratie staat meegenomen worden.

Kortom: gooi wat HTML hier neer.
TheRookie schreef op vrijdag 20 januari 2006 @ 16:56:
[...]
Volgens mij is dit toch echt /14, waar je géén HTML moet gooien ;)
Kijkt naar de klok. Kijkt naar de kalender. Yup, vrijdag 5 uur. Kortom: je hebt gelijk, ik heb niet goed gekeken.

[ Voor 77% gewijzigd door TeeDee op 20-01-2006 16:57 ]

Heart..pumps blood.Has nothing to do with emotion! Bored


Acties:
  • 0 Henk 'm!

  • TheRookie
  • Registratie: December 2001
  • Niet online

TheRookie

Nu met R1200RT

TeeDee schreef op vrijdag 20 januari 2006 @ 16:51:
Je zit nu in /13, webdesign en graphics. Daar plaats je php. In /14, programming & webscripting plaats je html.
Volgens mij is dit toch echt /14, waar je géén HTML moet gooien ;)

Acties:
  • 0 Henk 'm!

  • Cyphax
  • Registratie: November 2000
  • Laatst online: 21:56

Cyphax

Moderator LNX
Waarom gebruik je trim() niet?
http://nl2.php.net/manual/en/function.trim.php
Daar haal je overtollige spaties aan het begin en eind van je strings weg...

Saved by the buoyancy of citrus


Acties:
  • 0 Henk 'm!

Verwijderd

Cyphax schreef op vrijdag 20 januari 2006 @ 17:05:
Waarom gebruik je trim() niet?
http://nl2.php.net/manual/en/function.trim.php
Daar haal je overtollige spaties aan het begin en eind van je strings weg...
Beetje symptoom bestrijding heh. Zorgen dat je de overtollige whitespace sowieso niet hebt lijkt me een betere aanpak.

Acties:
  • 0 Henk 'm!

  • wizzkizz
  • Registratie: April 2003
  • Laatst online: 25-07 07:34

wizzkizz

smile...tomorrow will be worse

Verwijderd schreef op vrijdag 20 januari 2006 @ 17:09:
[...]

Beetje symptoom bestrijding heh. Zorgen dat je de overtollige whitespace sowieso niet hebt lijkt me een betere aanpak.
inderdaad. kijk eens even naar het type van je veld in je database. Ik gok dat het een char( x ) is waarbij de x groter is dan je input, waarbij je input in je db aangevuld met het aantal spaties dat je aan tekens te kort komt. Er een varchar( x ) van maken, zal in dit geval helpen.
laat maar, niet goed gelezen. Je titel vind ik niet erg duidelijk moet ik eerlijk zeggen.

[ Voor 9% gewijzigd door wizzkizz op 20-01-2006 17:17 ]

Make it idiot proof and someone will make a better idiot.
Real programmers don't document. If it was hard to write, it should be hard to understand.


Acties:
  • 0 Henk 'm!

Verwijderd

Hm, echt veel kunnen we niet met je uitleg. Ik snap echt totaal niet wat er nu precies misgaat. Wel kan ik uit je topic opmaken dat er ergens teveel whitespace zit? Dan zul je even moeten uitzoeken waar die whitespace vandaan komt. Dat ontstaat namelijk nooit uit het niets.

Daarnaast lijkt mij het opslaan van teken-gescheiden waarden in een database niet helemaal je-van-het, maar dat is misschien wat offtopic (om er toch nog even wat van te zeggen, waarom niet voor elke waarde een column in je databasetabel? Zoals het hoort?).

Acties:
  • 0 Henk 'm!

  • Cyphax
  • Registratie: November 2000
  • Laatst online: 21:56

Cyphax

Moderator LNX
Verwijderd schreef op vrijdag 20 januari 2006 @ 17:09:
[...]

Beetje symptoom bestrijding heh. Zorgen dat je de overtollige whitespace sowieso niet hebt lijkt me een betere aanpak.
Het is me niet duidelijk of hij toegang heeft tot die database zodat ie z'n queries aan kan passen, of het model. :)
De voorkeur gaat uit naar trim() binnen SQL of nog liever een datatype waar dat niet bij nodig is maar dat moet wel kunnen dan.

Saved by the buoyancy of citrus


Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:44

crisp

Devver

Pixelated

Offtopic; wat is dat toch met mensen die overal quotes voor willen gebruiken? Waar leer je dat?
PHP:
1
2
3
$hetantwoord = str_replace(" ", "", "$hetantwoord");

echo("".nl2br("$row1->tekst")."");
PHP:
1
2
3
$hetantwoord = str_replace(" ", "", $hetantwoord);

echo nl2br($row1->tekst);
De waardes worden bij het invoeren met addslashes ingevoerd. Bij het opvragen wordt stripslashes gebruikt.
Waarom? addslashes gebruik je ws omdat je moet escapen voor je database (addslashes is daar echter niet voor bedoelt). Bij het opvragen hoef je echter geen stripslashes te gebruiken...
Let ook op of magic quotes aan of uit staat.

Intentionally left blank


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Cyphax schreef op vrijdag 20 januari 2006 @ 17:05:
Waarom gebruik je trim() niet?
http://nl2.php.net/manual/en/function.trim.php
Daar haal je overtollige spaties aan het begin en eind van je strings weg...
Trim heeft geen nut. Topicstarter gebruikt, zoals hierboven al opgemerkt wordt, een <li>-tag in één tabelcel, en de daadwerkelijke tekst die erbij hoort in een andere cel. Grote kans dat dat de reden is waarom het fout gaat, zeker als het replacen van spaties door een lege string (wat effectief hetzelfde doet als trim ;)) geen nut heeft.

Daarnaast begrijp ik hier dat je (josvane) 8 inputvelden aan elkaar plakt met een pipe teken ertussen, om het vervolgens in de database te stoppen. Waarom in godsnaam? Wat is er mis met 8 aparte veldjes? :?
crisp schreef op zaterdag 21 januari 2006 @ 11:06:
Offtopic; wat is dat toch met mensen die overal quotes voor willen gebruiken? Waar leer je dat?
Zodra je het uitvindt, zeg je het mij dan ook even? Die leerschool verdient de fakkel erin. :P
Waarom? addslashes gebruik je ws omdat je moet escapen voor je database (addslashes is daar echter niet voor bedoelt). Bij het opvragen hoef je echter geen stripslashes te gebruiken...
Let ook op of magic quotes aan of uit staat.
Extra noot hierbij: P&W FAQ - PHP

[ Voor 28% gewijzigd door NMe op 21-01-2006 14:10 ]

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.

Pagina: 1