login  Naam:   Wachtwoord: 
Registreer je!
 Forum

[echo vraag] Hoe kan het..

Offline Scythen - 14/07/2007 19:42
Avatar van ScythenPHP gevorderde dat als ik een <? if(){} ?> plaats, en daarna een 'echo', dat mijn script toch nog doorloopt? Terwijl hij zou moeten stoppen?

21 antwoorden

Gesponsorde links
Offline lasdesigner - 14/07/2007 19:44
Avatar van lasdesigner PHP beginner huh? Kan je je code is laten zien?
Offline Elpiedro - 14/07/2007 19:44
Avatar van Elpiedro PHP interesse Geef je code eens.
Offline Scythen - 14/07/2007 19:46 (laatste wijziging 14/07/2007 19:47)
Avatar van Scythen PHP gevorderde
  1. if($crime == ''){
  2. echo "Please select a crime!" ;
  3. }



en na de laatste } kwam nog een lap code. Edit: heb nu
  1. include('footer.php');


erachter gezet, en werkt nu wel prima.. maarja. Lijkt mij opgelost, of hebben jullie nog ideeën?

Nu we het er toch over hebben, hoe kan ik het beste Dataverkeer zuinig werken?
Offline delta_004 - 14/07/2007 19:47 (laatste wijziging 14/07/2007 19:48)
Avatar van delta_004 Onbekend Nee hij zouw niet moeten stoppen aangezien je achter de if het haakje opent en vervolgens sluit;) Dus je echo moet je tussen de if zetten en alles buiten de if blijft werken;)

Btw Include is een language construct en geen functie dus haakjes hoef je niet te gebruiken;)
Offline Nrzonline - 14/07/2007 19:49 (laatste wijziging 14/07/2007 19:50)
Avatar van Nrzonline PHP ver gevorderde Waarom zijn er de laatste paar dagen veel topics waarbij mensen er van uit gaan dat wij 'helderziend' zijn? De topic titels zijn weinig tot niets zeggend en de post zelf voegt daar weinig aan toe.

Bedenk is wat het probleem is, en neem er de tijd is even voor om het probleem aan ons voor te leggen. Wij kunnen niet raden waardoor jouw probleem is ontstaan zonder relevante code, of duidelijke uitleg wat het probleem nou exact is. (Lappen tekst: plaatscode.be)

  1. <?PHP
  2. if(empty ($crime))
  3. {
  4. echo "Please select a crime!" ;
  5. }
  6. ?>
Offline Scythen - 14/07/2007 19:50
Avatar van Scythen PHP gevorderde Dit stuk code was volgens mij genoeg hoor..  
En de titel, wat zou jij bedenken?  
Offline delta_004 - 14/07/2007 19:51
Avatar van delta_004 Onbekend Hoe kan het en in de term van help of wat zijn niet toegestaan...
Offline Nrzonline - 14/07/2007 19:52 (laatste wijziging 14/07/2007 19:54)
Avatar van Nrzonline PHP ver gevorderde @scythen

1. Het stukje code in je openings post is zéker niet genoeg.
2. Ongewenste uitvoering na if ()?
Offline Scythen - 14/07/2007 19:53
Avatar van Scythen PHP gevorderde Nja, lekker boeiend, je hebt het toch 1 post van mij daarna gekregen. Wat is het probleem? Last van een zonnesteek?
Offline Nrzonline - 14/07/2007 19:57 (laatste wijziging 14/07/2007 20:00)
Avatar van Nrzonline PHP ver gevorderde Jullie gaan er maar lekker van uit dat wij wel even uitzoeken wat het probleem is, zonder dat je er zelf ook maar enige moeite voor doet om het in één keer duidelijk te maken.. En het is niet alléén tegen jouw bedoeld, maar ook velen anderen. De laatste paar dagen komen er steeds meer van die 'bijna onbegrijpelijke vragen' naar boven waar wij maar moeten gissen wat er nou precies aan de hand is. En van die mensen die weigeren dingen toe te passen die je al 3 keer hebt uitgelegd..

En nee, ik heb geen last van een zonnesteek...
Offline Abbas - 14/07/2007 19:58
Avatar van Abbas Gouden medaille

Crew .NET
Laten we het anders ONtopic houden, de titel was inderdaad niet veel zeggend, maar het probleem is nu opgelost!  
Offline delta_004 - 14/07/2007 19:58
Avatar van delta_004 Onbekend Doen we tog ook appelflap?

Maar umh hij heeft wel een beetje gelijk aangezien je topic titel op niks slaat en je beschrijving nogal vaag is...
Offline Grayen - 14/07/2007 20:00
Avatar van Grayen PHP ver gevorderde
Citaat:
dat als ik een <? if(){} ?> plaats, en daarna een 'echo', dat mijn script toch nog doorloopt? Terwijl hij zou moeten stoppen?

Als je ik je vraag goed begrijp is het dus zo dat je een controle wilt uitvoeren of $crime leeg is. En hoe jij er dan voor kan zorgen dat als hij leeg is hij dit meldt en de rest van het script niet uitvoert.

  1. <?php
  2. if(empty($crime))
  3. {
  4. echo 'Please select a crime!';
  5. }
  6. else
  7. {
  8. // Al het andere code.
  9. }?>


of je kunt simpelweg, maar minder mooie oplossing:

  1. <?php
  2. if(empty($crime))
  3. {
  4. die('Please select a crime!');
  5. // Of
  6. exit('Please select a crime!');
  7. }?>
Offline Scythen - 14/07/2007 20:00 (laatste wijziging 14/07/2007 20:02)
Avatar van Scythen PHP gevorderde laat hem dan eentje bedenken.. even kijken hoe ik het moet doen. Toe maar:).


@Grayen, ik had al dit bedacht, wil je kijken of het goed is?

  1. <?
  2. if($crime == ''){
  3. echo " blabla ";
  4. include 'footer.php';
  5. }
  6. ?>
Offline Nrzonline - 14/07/2007 20:02 (laatste wijziging 14/07/2007 20:05)
Avatar van Nrzonline PHP ver gevorderde Nee want je mist al een '}' 
zo is het beter ja 

  1. <?PHP
  2. if($crime == ''){
  3. ?>


Het is netter om dit te doen:
  1. <?PHP
  2. if(empty ($crime)){
  3. ?>

zoals ik ook al had aangegeven in één van mijn eerdere posts..
Niet van cruciaal belang, maar wel netter (/professioneler)
Offline Abbas - 14/07/2007 20:03 (laatste wijziging 14/07/2007 20:04)
Avatar van Abbas Gouden medaille

Crew .NET
Citaat:
2. Ongewenste uitvoering na if ()?
Zoals hij al zei dus... En stop daar nu over, het gaat om het topic.

Je sluit je 'if' niet af:

  1. <?php
  2.  
  3. if($crime == "")
  4. {
  5. echo "BLAAT";
  6. include 'footer.php';
  7. }
  8. ?>


Ok, je had hem aangepast.^^
Offline Scythen - 14/07/2007 20:04 (laatste wijziging 14/07/2007 20:05)
Avatar van Scythen PHP gevorderde Ik heb nog een vraag, gewoon in dit topic verder gaan?

edit: bedankt iedereen, normaal antwoord bijna niemand in mijn topics. Als er een scha.. *lama*
Offline Nrzonline - 14/07/2007 20:06 (laatste wijziging 14/07/2007 20:11)
Avatar van Nrzonline PHP ver gevorderde Open gewoon een nieuwe topic met een DUIDELIJKE TITEL en een DUIDELIJKE inhoud, zodat men ook via de search het topic kunnen vinden, en dat vermijd dat meerdere vragen vaker worden gesteld.. (Alhoewel tegenwoording niemand de search volgensmij nog gebruikt? ) Als je hier direct nog een vraag in stelt, kan je dus moeilijker het antwoord op een vraag vinden, terwijl hij toch al is beantwoord..

Tijd is kostbaar ;)

*Ps* Ik weet niet of je dit nog leest, maar misschien heb je nu zoiets van.. 'die nrzonline, wat een hufter'... Het zij zo, maar ik vind dat het best wel even gezegt mag worden, in het belang van jezelf (meer doelgerichte reacties, dan vragen op jouw vraag) en het belang van anderen. (Mensen met hetzelfde probleem die wél de search gebruiken)
Offline Grayen - 14/07/2007 20:12 (laatste wijziging 14/07/2007 20:14)
Avatar van Grayen PHP ver gevorderde Klopt van geen meter . (Edit: Is niet tegen reacties boven mij, maar die ene waarin Scythen vroeg of zijn code goed was, ja, het duurde even voordat ik het getikt had )

1. Je opent PHP code niet met <? maar met <?php. Dit is een slechte gewoonte om te vergeten, omdat het voor de parser anders onduidelijk is welke taal er moet worden gelezen.

2. Je sluit je if niet (kan zijn dat je dat wel doen, maar heb je in ieder geval niet gepost).

3. In principe werkt deze code, maar het is een slechte aanpak, want stel je hebt een simpele site:

  1. <html>
  2. <head>
  3. <title>Mijn Website</title>
  4. </head>
  5. <body>
  6. <p>Welkom op mijn eerste website, bla bla bla bla</p>
  7. <?
  8. if($crime == ''){
  9. echo " blabla ";
  10. include 'footer.php';
  11. }
  12. ?>
  13. <p>Copyright ...</p>
  14. </body>
  15. <html>


Wat gebeurt er dan met alles wat erachter komt? Inderdaad dat wordt niet weergeven. Weg valide HTML, weg tekst dat er achter zou moeten. Dus onverstandige code .

Beter code zou zijn:

  1. <?php
  2. if($crime == '')
  3. {
  4. echo 'blabla';
  5. include 'footer.php';
  6. }
  7. ?>


Alleen kan ik nu niet een volledig antwoord geven, omdat ik niet jouw volledige code heb, want die exit; roep jij aan met een reden, waarschijnlijk op bepaalde code niet te laten parsen. Nu zou ik graag willen weten welke code is dat?
Offline delta_004 - 14/07/2007 20:16
Avatar van delta_004 Onbekend Die html erachter blijft werken
Offline Grayen - 15/07/2007 11:33
Avatar van Grayen PHP ver gevorderde
delta_004 schreef:
Die html erachter blijft werken

En heb je dat getest? Want ik heb altijd gedacht dat exit; alle output erachter tegengaat. Heb het script in mijn vorige post ook getest. en kreeg de volgende output:

  1. <html>
  2. <head>
  3. <title>Mijn Website</title>
  4. </head>
  5. <body>
  6. <p>Welkom op mijn eerste website, bla bla bla bla</p>
  7. blabla


En zonder die exit:

  1. <html>
  2. <head>
  3. <title>Mijn Website</title>
  4. </head>
  5. <body>
  6. <p>Welkom op mijn eerste website, bla bla bla bla</p>
  7. blabla <p>Copyright ...</p>
  8. </body>
  9. <html>


Conclusie: Alle output achter de exit; wordt niet weergeven. Dus je kunt veel beter met een if, else constructie werken indien je als iets waar is het andere niet wit weergeven.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.547s