1. #1
    Carrion's Avatar
    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

    grtz
    9lives stopt op 31/01 -> BeyondGaming neemt de fakkel over
    https://www.9lives.be/forum/algemene...12-2020-a.html
    no votes  

  2. #2

    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 budget
    no votes  

  3. #3
    Carrion's Avatar
    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

    PHP Code:
    if($_POST['lijst'] == "") {
            print (
    "");}

        else print(
    "[code]{$_POST['lijst']}[/code]") ; 
    never mind, het is gelukt
    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.html
    no votes  

  4. #4
    Curahee Q's Avatar
    Registered
    07/12/07
    Location
    Hoogstraten
    Posts
    854
    iTrader
    0
    Mentioned
    0 Post(s)
    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.

    PHP Code:
    <?php
    $lijst 
    $_POST['lijst'];

    if(
    trim($lijst) != "") {
        echo 
    '[code]' $lijst '[/code]';
    }
    ?>
    Als je de reden voor bepaalde dingen wil weten vraag je het maar.
    Last edited by Curahee Q; 02-07-2010 at 18:45.
    no votes  

  5. #5
    Carrion's Avatar
    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.html
    no votes  

  6. #6
    Curahee Q's Avatar
    Registered
    07/12/07
    Location
    Hoogstraten
    Posts
    854
    iTrader
    0
    Mentioned
    0 Post(s)
    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.html
    Last edited by Curahee Q; 02-07-2010 at 19:07.
    no votes  

  7. #7
    Gurdt's Avatar
    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:
    Code:
    $b = 999;
    $a1 = "$b";
    $a2 = '$b';
    Hier klopt het toch dat $a1 "999" zal zijn, en $a2 gewoon "$b" of niet?
    o/'
    no votes  

  8. #8
    Curahee Q's Avatar
    Registered
    07/12/07
    Location
    Hoogstraten
    Posts
    854
    iTrader
    0
    Mentioned
    0 Post(s)
    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
    Code:
    $b = 999;
    $a1 = $b;
    $a2 = $b;
    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:
    String b = "999";
    String a1 = "" + b + "";
    Of
    Code:
    int b = 999;
    int a1 = Integer.parseInt("" + b + "");
    no votes  

  9. #9
    Gurdt's Avatar
    Registered
    21/08/08
    Location
    Hasselt
    Posts
    2,653
    iTrader
    8 (100%)
    Mentioned
    0 Post(s)
    Reputation
    5/46
    Quote Originally Posted by Curahee Q View Post
    This quote is hidden because you are ignoring this member. Show
    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
    Code:
    $b = 999;
    $a1 = $b;
    $a2 = $b;
    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:
    String b = "999";
    String a1 = "" + b + "";
    Of
    Code:
    int b = 999;
    int a1 = Integer.parseInt("" + b + "");
    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  

  10. #10
    Curahee Q's Avatar
    Registered
    07/12/07
    Location
    Hoogstraten
    Posts
    854
    iTrader
    0
    Mentioned
    0 Post(s)
    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
    PHP Code:
    <?php
    $b 
    999;
    $a $b;

    echo 
    substr($a02);
    ?>
    Er hoeft dus helemaal geen cast te gebeuren of dergelijke. Het is gewoon absurd om te schrijven

    PHP Code:
    <?php
    $b 
    999;
    $a "$b";
    ?>
    want volgende is ook perfect mogelijk
    PHP Code:
    <?php
    $b 
    999;
    $a "$b";

    echo 
    $a+3;
    ?>
    Dus php zet zijn waardes automatisch om naargelang de context waar de variabele instaat.
    no votes  

  11. #11
    Gurdt's Avatar
    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:
    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
    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?
    o/'
    no votes  

  12. #12
    Curahee Q's Avatar
    Registered
    07/12/07
    Location
    Hoogstraten
    Posts
    854
    iTrader
    0
    Mentioned
    0 Post(s)
    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  

  13. #13
    Gurdt's Avatar
    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  

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

Log in

Log in