Avatar billede sijmonj Nybegynder
16. september 2009 - 13:35 Der er 15 kommentarer og
1 løsning

exit(); spørgsmål

Hej jeg ville høre om hvis jeg skriver exit(); inde i en if sætning, så kan jeg huske for langtid siden da jeg prøvede det at den stoppede hele scriptet, men det gør den ikke nu :S.

fx. hvis man skriver

echo "hej";
exit;
echo "hej2";

så sku den kun udskrive hej og ikke hej2, men det gør den.

er det pga. den nye version af PHP ?
Avatar billede repox Seniormester
16. september 2009 - 13:37 #1
Kan du eventuelt linke til en side hvor vi kan se at den fejl rent faktisk opstår?
Avatar billede lolman Nybegynder
16. september 2009 - 13:41 #2
http://dk.php.net/exit

Det skulle ikke betyde noget hvilken version af php du bruger.

Måske er exit; automatisk sat til at slutte på en bestemt fejl. ?'

Prøv evt at skrive exit(); elr. exit(0);
Avatar billede sijmonj Nybegynder
16. september 2009 - 13:42 #3
det ikke nogen fejl for mit script virker helt som det skal :).

http://pastebin.com/m5001dd2

der kan du se i min første if sætning at jeg stopper scriptet hvis den første if sætning er rigtig, men når den ikke er rigtig så kører scriptet bare videre :)
Avatar billede CCodam Nybegynder
16. september 2009 - 13:45 #4
Som de andre siger så burde exit virke som det altid har gjort.

Har selv lige testet for at være helt sikkert og følgende, udskriver kun "hej" på siden:


<?php
echo "hej";
exit;
echo "hey";
?>
Avatar billede sijmonj Nybegynder
16. september 2009 - 13:49 #5
men hvordan kan mit script så kører videre?, er det fordi den er inde i en if sætning ?
Avatar billede sijmonj Nybegynder
16. september 2009 - 13:50 #6
hvordan får du den kode box frem :P?

[code]test[/code]
Avatar billede CCodam Nybegynder
16. september 2009 - 14:14 #7
#5 Kan du ikke vise noget mere af dit script? eller evt ligge php filen op et sted?
Avatar billede sijmonj Nybegynder
16. september 2009 - 14:15 #8
http://pastebin.com/m5001dd2

det er hele mit script
Avatar billede CCodam Nybegynder
16. september 2009 - 14:32 #9
#8 Prøv lige at lave en "else" på den if sætning, så du kan se om det er fordi du får et uventet resultatet at den ikke exitter.

Det ser nemlig ud som om du har lavet en brøler ;)

if($vis_tlf['besked'] == "$besked") {


Du har indsat $bedsked som om det var en string og ikke en variable. Så hvis du fjerner dine " gåseøjne, så tror jeg du vil få et bedre resultat:

if($vis_tlf['besked'] == $besked) {
Avatar billede sijmonj Nybegynder
16. september 2009 - 14:37 #10
men det virker ellers fint med "$besked"
Avatar billede lolman Nybegynder
16. september 2009 - 14:49 #11
hvis exit(); ligger inde i IF så stoppen siden kun hvis if == true

if (1 == 2) {
echo  "et er lig med to";
exit();
} elseif (1 == 0) {
echo "et er lig med nul";
exit();
} else {
echo "et er ikke lig med nul og heller ikke med to";
}

echo "<br />Så derfor forsætter vi.";

----
Her bliver der udskrevet:

et er ikke lig med nul og heller ikke med to
Så derfor forsætter vi.

For et er hverken lig med nul eller 2. og derfor bruges exit(); heller ikke.

Hvis forespørgelsen var 1 == 1 i stedet for 1 == 2 så ville exit(); blive kørt og siden stoppe. Så ville vi heller ikke se: "Så derfor forsætter vi."
Avatar billede CCodam Nybegynder
16. september 2009 - 14:51 #12
#10 Det giver så på ingen måde mening :| da lige så snart du laver " tegnet, vil den anse det som en string, og den vil derfor tjekke om $vis_tlf['besked'] er det samme som tesksten "$besked" og ikke det $besked variablen indeholder.

Har du lavet en else på if sætningen som laver en echo, så du kan se hvornår if sætningen er false.
og evt. skrive både $vis_tlf['besked'] og $besked ud så du kan se hvad de i realiteten indeholder.
Avatar billede CCodam Nybegynder
16. september 2009 - 14:52 #13
#11 jeg tror også det lige netop er det der er meningen, at scriptet KUN skal stoppe hvis IF sætningen er TRUE
Avatar billede olebole Juniormester
16. september 2009 - 16:32 #14
<ole>

CCodam >> Du vrøvler! Hvad der ville give rigtig meget mening ville være, hvis du lige opgraderede din PHP-viden en smule, da dette burde høre ind under alm. børnelærdom! Alternativt kunne du teste dine påstande, inden du gjorde dem så pokkers skråsikre  ;o)

Test f.eks:


<?php
$besked = "noget";
$vis_tlf = array("besked" => "noget");

if($vis_tlf['besked'] == "$besked") {
    print "Virker!<br>";
}

if($vis_tlf['besked'] == $besked) {
    print "Virker også!";
}
?>



/mvh
</bole>
Avatar billede sijmonj Nybegynder
25. december 2009 - 22:31 #15
smid svar en af jer
Avatar billede sijmonj Nybegynder
07. juni 2010 - 14:32 #16
lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester