Thread: tekstveld doorsturen
-
01-07-2010, 14:21 #1Approved 9liver
- Registered
- 23/11/08
- Location
- Tessenderlo
- Posts
- 22,572
- iTrader
- 71 (100%)
- Mentioned
- 26 Post(s)
- Reputation
- 5/2948
tekstveld doorsturen
Ahoi,
Ben aan een klein projectje bezig om m'n php kennis wat op te scharen
Maar der is 1 ding wat mij niet wil lukken, ik gebruik dus een formulier waarin een tekstvak gebruikt moet worden, dit wordt daarna via php tussen phpbb codes gezet, en alles kukt maar er is 1 klein ding:
Er is 1 textarea waarin mensen dus hun inhoud kunnen plaatsen, maar als in de textarea de inhoud er zo uit ziet:
regel 1
regel 2
regel 3
komt dit er met php uit als dit:
regel1 regel2 regel3
Is er een code ofzo waardoor het er in php ook uitkomt als
regel 1
regel 2
regel 3
Op websites als php.net vond ik niet direct terug wat ik nodig had
grtz9lives stopt op 31/01 -> BeyondGaming neemt de fakkel over
https://www.9lives.be/forum/algemene...12-2020-a.htmlno votes
-
-
01-07-2010, 14:34 #2Member
- Registered
- 22/12/09
- Location
- Ravels
- Posts
- 35
- iTrader
- 0
- Mentioned
- 0 Post(s)
echo nl2br($je_txt);
zoiets denk ik ?www.peades.be - eenvoudige websites voor ieders budgetno votes
-
01-07-2010, 17:09 #3Approved 9liver
- Registered
- 23/11/08
- Location
- Tessenderlo
- Posts
- 22,572
- iTrader
- 71 (100%)
- Mentioned
- 26 Post(s)
- Reputation
- 5/2948
Hoe kan ik die dan toepassen, dit is de code die ik gebruik
never mind, het is geluktPHP Code:if($_POST['lijst'] == "") {
print ("");}
else print("[code]{$_POST['lijst']}[/code]") ;
Last edited by Carrion; 01-07-2010 at 17:28.
9lives stopt op 31/01 -> BeyondGaming neemt de fakkel over
https://www.9lives.be/forum/algemene...12-2020-a.htmlno votes
-
01-07-2010, 19:07 #4
Ik zie hier toch wel minstens 2 fouten op 3 regels code.
Stel dat ik een spatie in je tekstvak invul dan zal hij wel die spatie tussen code-tags zetten. Aan de andere kant is dat else-statement ook totaal overbodig.
Daar bovenop komt ook nog dat je variabele best buiten quotes haalt en de html tussen single quotes plaatst.
Als je de reden voor bepaalde dingen wil weten vraag je het maar.PHP Code:<?php
$lijst = $_POST['lijst'];
if(trim($lijst) != "") {
echo '[code]' . $lijst . '[/code]';
}
?>Last edited by Curahee Q; 02-07-2010 at 18:45.
no votes
-
02-07-2010, 18:36 #5Approved 9liver
- Registered
- 23/11/08
- Location
- Tessenderlo
- Posts
- 22,572
- iTrader
- 71 (100%)
- Mentioned
- 26 Post(s)
- Reputation
- 5/2948
wat doet die !trim dan precies? En die variabele tussen quotes is gewoon hoe ik het geleerd heb op school.
9lives stopt op 31/01 -> BeyondGaming neemt de fakkel over
https://www.9lives.be/forum/algemene...12-2020-a.htmlno votes
-
02-07-2010, 18:47 #6
Ik ben nu een artikel aan het schrijven voor op mijn website waar het staat uitgelegd waarom men deze best buiten de quotes kan halen. Ik laat de link hier nog wel achter.
trim() gaat de spaties aan de linker en rechterkant van de string weghalen. Hierdoor kan men in uw tekstveld geen spatie zetten. In uw code kan men dat wel. Het uitroepteken is het inverse.
Ik zie net dat ik een klein foutje had getypt. Het moest trim($lijst) != "" en niet !trim($lijst) == "".
Wat er dus staat is
if trim($lijst) is niet gelijk aan ""
Hopelijk begrijp je het nu al iets beter.
Nog een kleine tip hoe je zeer gemakkelijk een phpfunctie kan opzoeken
1. typ in je adresbalk http://www.php.net/
2. typ daar achter de php-functie dus http://www.php.net/trim
3. druk op enter
[EDIT]
Hier de link naar het artikel http://it-sourcecode.com/webdesign/0...le-quotes.htmlLast edited by Curahee Q; 02-07-2010 at 19:07.
no votes
-
04-07-2010, 13:41 #7Approved 9-lifer
- Registered
- 21/08/08
- Location
- Hasselt
- Posts
- 2,653
- iTrader
- 8 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 5/46
@Curahee Q: heel erg nuttig je artikel, maar mag ik je vragen waarom je bij string-variabelen niet ' gebruikt en wel "? Wordt die dan ook niet geëvalueerd. Met andere woorden:
Hier klopt het toch dat $a1 "999" zal zijn, en $a2 gewoon "$b" of niet?Code:$b = 999; $a1 = "$b"; $a2 = '$b';
o/'no votes
-
04-07-2010, 13:49 #8
Ja feit, dat moet ik eigenlijk aanpassen en is iets wat eigenlijk niet klopt met de uitleg die ik schrijf.
Maar wat jij hier dus schrijft is gewoon fout. Variabele zet je niet tussen quotes en al zeker niet bij een gewone toewijzing. Wat er dus zou moeten staan is
Het klopt inderdaad dat $a2 gewoon $b bevat en $a1 de waarde 999. Ik weet niet in hoeverre je bekent bent met bijvoorbeeld java. Daar schrijf je toch ook niet.Code:$b = 999; $a1 = $b; $a2 = $b;
OfCode:String b = "999"; String a1 = "" + b + "";
Code:int b = 999; int a1 = Integer.parseInt("" + b + "");no votes
-
04-07-2010, 16:56 #9Approved 9-lifer
- Registered
- 21/08/08
- Location
- Hasselt
- Posts
- 2,653
- iTrader
- 8 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 5/46
Ik zie echt geen verschil tussen jouw $a1 en $a2 hoor...
Ik ken java ja, wat jij daar doet is b van het type string maken en daardoor hoef je niet meer te casten. Maar bij dat php-voorbeeld is $b gewoon een getal en wil ik van $a1 en $a2 een string maken
o/'no votes
-
04-07-2010, 17:09 #10
Ja oké mijn voorbeeld van $a1 en $a2 is inderdaad slecht.
In principe bestaat er in php niet zoiets als een int en een string. Als je een getal hebt, in dit geval $b, kan je die gewoon echo'en
Dit is bijvoorbeeld perfect mogelijk
Er hoeft dus helemaal geen cast te gebeuren of dergelijke. Het is gewoon absurd om te schrijvenPHP Code:<?php
$b = 999;
$a = $b;
echo substr($a, 0, 2);
?>
want volgende is ook perfect mogelijkPHP Code:<?php
$b = 999;
$a = "$b";
?>
Dus php zet zijn waardes automatisch om naargelang de context waar de variabele instaat.PHP Code:<?php
$b = 999;
$a = "$b";
echo $a+3;
?>no votes
-
04-07-2010, 17:38 #11Approved 9-lifer
- Registered
- 21/08/08
- Location
- Hasselt
- Posts
- 2,653
- iTrader
- 8 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 5/46
Wel een beetje helemaal langs de kwestie waar ik het om had
het ging erom dat je die dubbele quotes gebruikte waardoor je variabele toch gescand wordt. Ik leg nog eens uit:
Ik weet wel dat je $a = $b mag zeggen en dat $a dan gewoon 999 voorstelt, maar het gaat om het geval waar je $a = '$b' zegt, $a is nu gewoon letterlijk de string "$b" toch of niet? Als je achteraf dan $a = $a + 3 zal doen zal het dan niet resulteren in 3 gewoon, ipv 1002?Code:$b = 999; // maakt niet uit of dit een integer is ofzo, types bestaan niet $a = "$b"; // nu gaat diejen $b gescand worden dus geresolved echo $a; // geeft 999 $a = '$b'; // hier wordt niets geresolved echo $a; // geeft letterlijk $b
o/'no votes
-
04-07-2010, 18:17 #12
Sorry, komt door de warmte zeker
.
Dan bevat hij inderdaad gewoon de string $b en niet de waarde. En dat resulteert inderdaad ook gewoon in 3.no votes
-
04-07-2010, 18:32 #13Approved 9-lifer
- Registered
- 21/08/08
- Location
- Hasselt
- Posts
- 2,653
- iTrader
- 8 (100%)
- Mentioned
- 0 Post(s)
- Reputation
- 5/46
Ah ok =D dan ben ik mee!
o/'no votes

