[php] exitten

Pagina: 1
Acties:

  • Zynth
  • Registratie: September 2001
  • Laatst online: 29-07 15:30
Ik heb even een probleempje.
Het is denk ik niet zo moeilijk, maar ik heb GEEN idee hoe ik dit zou moeten opzoeken op internet.

ik heb een stuk php gedeclareerd, tussen de php-tags.
bijvoorbeeld:
code:
1
2
3
4
5
6
7
8
9
<?
 if(blaat){
   doewat;
   EXIT;
 }
 else{
   doeookwat;
 }
?>

mijn vraag is:
hoe kan ik bij dat exit uit de huidige php-declaratie springen?
De rest van de php-tags in de html-pagina moeten uiteraard wel gewoon uitgevoerd blijven..

Verwijderd

Waarom wil je bij exit eruit, als je ook nog een else wilt??
Of je gebruikt 2x een if natuurlijk...

  • man-o-script
  • Registratie: Juni 2001
  • Laatst online: 10:48
als blaat true is dan springt ie na doewat; vanzelf al uit het if statement :?

//


Verwijderd

Op maandag 14 januari 2002 23:02 schreef man-o-script het volgende:
als blaat true is dan springt ie na doewat; vanzelf al uit het if statement :?
Dat bedoel ik dus te zeggen, wat heeft dit voor zin topicstarter??

Leg eens uit wat je wilt?

  • Zynth
  • Registratie: September 2001
  • Laatst online: 29-07 15:30
nou, kijk, ehm.. :P

dattie uit het if-statement springt snap ik.
maar ik wil dat hij niet alleen uit het IF statement springt,
maar dat hij uit de hele php-tags springt.
oftewel, dat hij exit uit het huidige stuk php-code.

om bijvoorbeeld C te laten stoppen met zijn huidige code,
doe je:
code:
1
2
3
4
5
6
7
if(blaat){
 doeiets;
 exit(0);
}
if(duzz){
  doeookwat;
}

ist nu iiieettss duidelijker? :P

Verwijderd

Ehm, maar dat doe je nu toch al met Exit; ?

  • Orphix
  • Registratie: Februari 2000
  • Niet online
Dat lijkt mij niet mogelijk, met die() kan je direct de executie van je script stoppen maar dat is niet wat je wil.
PHP behandelt dit:
<?
...code
?>
...HTML
<?
...nog meer code
?>

niet als 2 verschillende php 'declaraties'; in plaats van die HTML zou je ook 1 groot echo statement neer kunnen zetten. Wat jij nu wil is niet nodig en hoogswaarschijnlijk een ontwerp fout.

Verwijderd

Op maandag 14 januari 2002 23:11 schreef Zynth het volgende:
nou, kijk, ehm.. :P

dattie uit het if-statement springt snap ik.
maar ik wil dat hij niet alleen uit het IF statement springt,
maar dat hij uit de hele php-tags springt.
oftewel, dat hij exit uit het huidige stuk php-code.

om bijvoorbeeld C te laten stoppen met zijn huidige code,
doe je:
code:
1
2
3
4
5
6
7
if(blaat){
 doeiets;
 exit(0);
}
if(duzz){
  doeookwat;
}

ist nu iiieettss duidelijker? :P
Ja maar dat slaat echt nergens op, als hij je if gedaan heeft, dan issie toch klaar?

  • Zynth
  • Registratie: September 2001
  • Laatst online: 29-07 15:30
Well, as my mother used to say;
chew before you swallow :)
erm... no;
as my mother used to say;
RTFM :)

ik heb een beeetje verkeerd zitten kijken denk ik.
probleem is al opgelost.

  • Zynth
  • Registratie: September 2001
  • Laatst online: 29-07 15:30
nou, vooruit :)
hier is de hele code;
dan kunnen jullie zelf zien of het beter kan :P
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<?

    $filename = "sale.dat";

    if(file_exists($filename) && is_readable($filename) && is_writable($filename)){
        $fcontents = file($filename);
        
        $sale  = "$fcontents[0]";
        $price = "$fcontents[1]";   
        //Setting output here, just to NOT make a mess down there ;-)
    }

   //ERROR-HANDLING
    else{   
        touch($filename);
        if(file_exists($filename) && is_readable($filename) && is_writable($filename)){
            echo "<font face=\"Arial,Helvetica, sans-serif\" size=\"3\"><b>
              Warning: There are unresolvable problems with the Sale file.<br>
              Please contact A&A Computer Solutions, and send this report:<br><hr><br>";
            if(! file_exist($filename)){ $error1 = " not "; 
               $tempperms = fileperms($filename);
               $permissions = "Filepermissions: $tempperms";
            }
            if(! is_readable($filename)){ $error2 = " not "; }
            if(! is_writable($filename)){ $error3 = " not "; }
                    echo "$filename does $error1 exist<br>
                            $filename is $error2 readble<br>
                            $filename is $error3 writable<br>
                            $permissions</b><br><hr></font>";
            $sale  = "ERROR!";
            $price = "ERROR!";              
        }
        else{
            echo "<font face=\"Arial,Helvetica, sans-serif\" size=\"3\"><b>
              Warning: There were problems with the Sale file.<br>
              An empty file has been created; please complete the forms to add a new sale.
              </b></font>";
            $sale  = "";
            $price = "";
        }
    }
?>

Het gaat om de variabelen $sale, en $price.
Deze komen verderop in de html-file als "standaard" in invoervakken te staan.[/code]

  • Orphix
  • Registratie: Februari 2000
  • Niet online
Je bedoelt dat die variabelen lokaal staan?
Oftewel als je ze wilt printen zijn ze leeg?

Bovendien is je fout afhandelin ook verkeerd, de blokken na
code:
1
if(file_exists($filename) && is_readable($filename) && is_writable($filename))

moeten omgedraaid worden ;)

  • RRX
  • Registratie: Mei 2000
  • Laatst online: 25-08 23:43

RRX

@life-

ff wat makkelijker lezen:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<?
      $filename = "sale.dat";

      if(file_exists($filename) &amp;&amp; is_readable($filename) &amp;&amp; is_writable($filename)){
            $fcontents = file($filename);
            
            $sale  = "$fcontents[0]";
            $price = "$fcontents[1]";      
            //Setting output here, just to NOT make a mess down there ;-)
      }

   //ERROR-HANDLING
      else{      
            touch($filename);
            if(file_exists($filename) &amp;&amp; is_readable($filename) &amp;&amp; is_writable($filename)){
                  echo "<font face=\"Arial,Helvetica, sans-serif\" size=\"3\"><b>
                    Warning: There are unresolvable problems with the Sale file.<br>
                    Please contact A&amp;A Computer Solutions, and send this report:<br><hr><br>";
                  if(! file_exist($filename)){ $error1 = " not "; 
                     $tempperms = fileperms($filename);
                     $permissions = "Filepermissions: $tempperms";
                  }
                  if(! is_readable($filename)){ $error2 = " not "; }
                  if(! is_writable($filename)){ $error3 = " not "; }
                              echo "$filename does $error1 exist<br>
                                          $filename is $error2 readble<br>
                                          $filename is $error3 writable<br>
                                          $permissions</b><br><hr></font>";
                  $sale  = "ERROR!";
                  $price = "ERROR!";                        
            }
            else{
                  echo "<font face=\"Arial,Helvetica, sans-serif\" size=\"3\"><b>
                    Warning: There were problems with the Sale file.<br>
                    An empty file has been created; please complete the forms to add a new sale.
                    </b></font>";
                  $sale  = "";
                  $price = "";
            }
      }
?>

mijn T.net systeemspecspagina


  • Zynth
  • Registratie: September 2001
  • Laatst online: 29-07 15:30
nee, ik bedoel,
dat METEEN NAdat de variabelen een waarde hebben gekregen, php moet stoppen met de uitvoer.

het komt dus echt gewoon neer op:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
<?
if(blaat){
  $var = 'a'
  //(exit?)
}
$var = 'b'
?>

//allemaal html-zooi ;)

<?
echo "$var";
?>

dus: Als blaat, dan is var=a,
en moet de code ophouden, en doorgaan met het echo'en.
als !blaat, dan komt hij automatisch bij var=b uit.
Mijn vraag is dus;
hoe kan ik realiseren dat hij als 'blaat' bestaat, netjes 'a' op het scherm zet?
(jullie mogen alleen een exit-functie ofzowiets toevoegen.
niet de code veranderen ofzo; alleen die exit realiseren.

(geen varianten bedenken, want ik weet ook wel dat dit veel makkelijker kan. het gaat om de EXIT)

  • Orphix
  • Registratie: Februari 2000
  • Niet online
Aaah je bedoelt een functie :)
Probeers eens zoiets als dit
PHP:
1
2
3
4
5
6
7
8
9
10
<?
function doExit($errorMsg)
{
  // hier kan je dus eventueel nog een mooie html pagina printen
  echo $errorMsg;
  die();
}
// als het dan fout gaat:
doExit("Dit gaat er fout");
?>

  • spine
  • Registratie: Juni 2001
  • Niet online

spine

VISHUDDHI

[edit]
nvrmnd
truste..

[BSDFreaks.nl] [www.Dark-Future.org] [Alizarin.nl]


  • eek
  • Registratie: Februari 2001
  • Laatst online: 06-04-2020

eek

@MagickNET

of maak van je php print spul een functie en
ga met een return eruit

Skill is when luck becomes a habit.

Pagina: 1