2 includes optellen bij elkaar lukt niet in php

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik wil 2 includes (2 includes van een teller script) bij elkaar laten optellen en het totaal eruit hebben.
Op http://www.kerstmisonline.nl/images.php staat wat ik bedoel. Dus hij moet de 8 + de 2 optellen en daar 10 van maken op de plek waar nu 822 staat.

Ik had geprobeert met het script :

<?
$var1 = include( "http://www.kerstmisonline.nl/teller.php?dir=plaatjes/ballen-b");
$var2 = include( "http://www.kerstmisonline.nl/teller.php?dir=plaatjes/ballen-s");

$totaal = $var1 + $var2;
echo $totaal;
?>

Maar dat lukt niet helemaal want dan geeft ie 822.

Wie weet wat ik er fout aan egdaan heb en hoe het wel moet?

Acties:
  • 0 Henk 'm!

  • flat
  • Registratie: Mei 2000
  • Niet online
lees www.php.net/include eens door, en dan vooral 't laatste voorbeeld

edit: en geef eens de source van dat teller-script :D

"Happiness is a way of travel, not a destination."
--Roy Goodman


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hier de source code:

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
 
<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr> 
    <td><strong> Welke type plaatje:</strong></td>
    <td>&nbsp;</td>
    <td><strong>Bewegend:</strong></td>
    <td>&nbsp;</td>
    <td><strong>Stilstaand:</strong></td>
    <td>&nbsp;</td>
  </tr>
  <tr> 
    <td>Kerstballen:</td>
    <td>
      <?
$var1 = include( "http://www.kerstmisonline.nl/teller.php?dir=plaatjes/ballen-b");
$var2 = include( "http://www.kerstmisonline.nl/teller.php?dir=plaatjes/ballen-s");

$totaal = $var1 + $var2;
echo $totaal;
?>
    </td>
    <td>Bewegend</td>
    <td> 
      <?php include("http://www.kerstmisonline.nl/teller.php?dir=plaatjes/ballen-b");?>
    </td>
    <td>Stilstaand</td>
    <td> 
      <?php include("http://www.kerstmisonline.nl/teller.php?dir=plaatjes/ballen-s");?>
    </td>
  </tr>
  <tr> 
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
</table>

Acties:
  • 0 Henk 'm!

  • goalgetter
  • Registratie: Juni 1999
  • Laatst online: 19-03 09:12
Niet de source van het script wat je hier neerzet, maar de source van die TELLER scriptjes (die files die je include...)

Acties:
  • 0 Henk 'm!

  • Grum
  • Registratie: Juni 2001
  • Niet online
Als je http://www.kerstmisonline...php?dir=plaatjes/ballen-b en http://www.kerstmisonline...php?dir=plaatjes/ballen-s ipv gewoon een getal een valid php-file laat teruggeven dan werkt het.

Dus iets als:

images.php
PHP:
1
2
3
4
5
6
$theArray = array();

include 'http://www.kerstmisonline.nl/teller.php?dir=plaatjes/ballen-b';
include 'http://www.kerstmisonline.nl/teller.php?dir=plaatjes/ballen-s';

$theTotal = array_sum( $theArray );

en dan in teller.php
PHP:
1
print '<? $theArray[] = '. $valueVanDeTellerBijDeJuisteDir . '; ?>';
edit:
minor fix hierboven


en je hebt ineens een werkend geheel.

Acties:
  • 0 Henk 'm!

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

Ik denk dat je bent vergeten return te zetten in je includes?
Zie het voorbeeld wat Flat bedoelde.


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
return.php
<?php

$var = 'PHP';

return $var;

?>

noreturn.php
<?php

$var = 'PHP';

?>

testreturns.php
<?php

$foo = include 'return.php';

echo $foo; // prints 'PHP'

$bar = include 'noreturn.php';

echo $bar; // prints 1
?>

Programmer - an organism that turns coffee into software.


Acties:
  • 0 Henk 'm!

  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Eigenlijk vind ik het gewoon ranzig, dat includefiles getallen gaan teruggeven. Dat maakt het voor niemand toch duidelijk wat je aan het doen bent als er opeens

PHP:
1
$var = include 'eppie.php'


gaat staan. Dan moet ik eerst eppie.php door gaan bladeren en kijken wat dat doet. Beter zou het volgende zijn.

PHP:
1
2
3
4
5
//Lib om ballen mee te tellen
//
include 'theBallenLib.php';

$aantalStilstaand = getStilstaandeBallen( );


Nou vermoed ik dat je de getallen terugkrijgt van die teller.php op een andere pagina. Prop dat includen dan in je eigen lib, in een functie. Controleer dan ook de output in die functie evt casten en dan teruggeven. Maakt het een hoop duidelijker imho

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb geprobeert de script te maken die het eerst zijn gegeven maar dat lukte niet.

Dus het script :
<?
$theArray = array();

include 'http://www.kerstmisonline.nl/teller.php?dir=plaatjes/ballen-b';
include 'http://www.kerstmisonline.nl/teller.php?dir=plaatjes/ballen-s';

$theTotal = array_sum( $theArray );
?>
Werkt niet want dan krijg ik de foutmelding:

Welke type plaatje: Aantal: Bewegend: Aantal: Stilstaand: Aantal:

Cadeau's 8$theArray[] = ;2$theArray[] = ; Bewegend 8$theArray[] = ; Stilstaand 2$theArray[] = ;
E-mail's


Dus die werkt niet.

De 2de die zegt return etc snap ik niet. Moet ik dan return include 1 inz etten en in noreturn include 2 en in testreturn moet ik die includen en telt die dan alle 2 bij elkaar op?

Zo jah dan zal ik die eens uit proberen.

Acties:
  • 0 Henk 'm!

  • Grum
  • Registratie: Juni 2001
  • Niet online
ow fuck .. der moeten nog <? en ?> in de print :P

Fixin

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hoe bedoel je dat Grum?

Moet ik dan zo neerzetten:

<? print '<? $theArray[] = '. $valueVanDeTellerBijDeJuisteDir . '; ?>';?>

??

Cedric

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik snap niet hoe je dat bedoeld grun.

Ik krijg dus deze fout: http://www.kerstmisonline.nl/images.php

Acties:
  • 0 Henk 'm!

  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Verwijderd schreef op 01 augustus 2002 @ 10:22:
Ik snap niet hoe je dat bedoeld grun.

Ik krijg dus deze fout: http://www.kerstmisonline.nl/images.php
Ik denk dat je beter deze manier van 'functies uitvoeren' via includes kan laten zitten. Beter is het om je functies logisch te ordenen in een bestand die je include en in je hoofdcode aanroept, of nog beter: classes te maken.

Op deze manier creeër je een onhoudbare brij die niet te onderhouden is :X

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Teller.php voor wie die graag ook wil hebben:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
<?php 
$map="images/$dir/";
$aantal=0;
if ($handle = opendir("$map")) {
    while (false !== ($file = readdir($handle))) { 
        if ($file != "." and $file != ".." and eregi(".gif",$file) or eregi(".jpg",$file)) { 
            $aantal = $aantal + 1;
     } 
    }
    echo "$aantal";
    closedir($handle); 
}



?>

Acties:
  • 0 Henk 'm!

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

laatste echo veranderen in return dan werkt het.... (tenminste met jouw eigen script)

Maar het is beter een functie te maken, en die functie includen. (Glimi)


Maar mag ik je ook even wijzen op het volgende ?

http://gerard.yoursite.nl/got/php-tiplist/#2

Programmer - an organism that turns coffee into software.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Bedoel je zo?
return.php
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
<?php 

$var = 'http://www.kerstmisonline.nl/teller.php?dir=plaatjes/ballen-s'; 

return $var; 

?> 

noreturn.php 
<?php 

$var = 'http://www.kerstmisonline.nl/teller.php?dir=plaatjes/ballen-b'; 

?> 

testreturns.php 
<?php 

$foo = include 'return.php'; 

echo $foo; // prints 'PHP' 

$bar = include 'noreturn.php'; 

return $bar; // prints 1 
?> 

Acties:
  • 0 Henk 'm!

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

nee...
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php  
$map="images/". $dir . "/"; 
$aantal=0; 
if ( $handle = opendir($map) )  { 
    while ( false !== ( $file = readdir($handle) ) ) {  
        if ($file != "." && $file != ".." && ( eregi(".gif",$file) || eregi(".jpg",$file) )) {  
            $aantal++; 
     }  
    } 
    return $aantal; 
    closedir($handle);  
} 



?> 

en
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
<table width="100%" border="0" cellspacing="0" cellpadding="0"> 
  <tr> 
    <td><strong> Welke type plaatje:</strong></td> 
    <td>&nbsp;</td> 
    <td><strong>Bewegend:</strong></td> 
    <td>&nbsp;</td> 
    <td><strong>Stilstaand:</strong></td> 
    <td>&nbsp;</td> 
  </tr> 
  <tr> 
    <td>Kerstballen:</td> 
    <td> 
      <? 
$var1 = include( "http://www.kerstmisonline.nl/teller.php?dir=plaatjes/ballen-b"); 
$var2 = include( "http://www.kerstmisonline.nl/teller.php?dir=plaatjes/ballen-s"); 

$totaal = $var1 + $var2; 
echo $totaal; 
?> 
    </td> 
    <td>Bewegend</td> 
    <td> 
      <?php echo $var1; ?> 
    </td> 
    <td>Stilstaand</td> 
    <td> 
      <?php echo $var2; ?> 
    </td> 
  </tr> 
  <tr> 
    <td>&nbsp;</td> 
    <td>&nbsp;</td> 
    <td>&nbsp;</td> 
    <td>&nbsp;</td> 
    <td>&nbsp;</td> 
    <td>&nbsp;</td> 
  </tr> 
</table> 

Programmer - an organism that turns coffee into software.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Lucard hij telt wel op maar iets doet ie niet goed. In de eerste include moet ie 8 en in 2de 2 geven en uitkomst 10 geven maar nu zet ie bij de ene 1 neer en bij de andere en wat ie optelt als uitkomst word 2.
http://www.kerstmisonline.nl/images.php
Dat doet ie nu.

Acties:
  • 0 Henk 'm!

  • flat
  • Registratie: Mei 2000
  • Niet online
ehm... de code werkt goed hoor, je laat 'm alleen 't verkeerde doen :P

lees www.php.net/include eens door anders :{

"Happiness is a way of travel, not a destination."
--Roy Goodman


Acties:
  • 0 Henk 'm!

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

Ahh... ik zie het probleem...

Het is niet mogelijk om return value te geven als je hem op haalt via HTTP.

Dus je zult het anders moeten oplossen....

Suggestie maak een functie!!! .

Programmer - an organism that turns coffee into software.


Acties:
  • 0 Henk 'm!

  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Beter nog... maak een class

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Snap er niks meer van. Kan iemand voor mij een scripje anders maken? Die werkt?
KAn zo iets ?
$var1 = include( "http://www.kerstmisonline.nl/teller.php?dir=plaatjes/ballen-b");
$var2 = include( "http://www.kerstmisonline.nl/teller.php?dir=plaatjes/ballen-s");

$totaal = $var1 + $var2;
echo $totaal;

Acties:
  • 0 Henk 'm!

  • flat
  • Registratie: Mei 2000
  • Niet online
heb je www.php.net/include nou doorgelezen?
nee? vlug doen!
ja? dan weet je wat je fout doet :)

"Happiness is a way of travel, not a destination."
--Roy Goodman


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb het door gelezen maar snap er niet veel van. Php scrijven kan ik niet goed. begin pas net met php. Maar heb al die link doorgelezen en daarvan laatste kolom zeg maar.

Acties:
  • 0 Henk 'm!

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

Verwijderd schreef op 01 augustus 2002 @ 11:32:
Snap er niks meer van. Kan iemand voor mij een scripje anders maken? Die werkt?
Wat betaalt het? 8)7
KAn zo iets ?
$var1 = include( "http://www.kerstmisonline.nl/teller.php?dir=plaatjes/ballen-b");
$var2 = include( "http://www.kerstmisonline.nl/teller.php?dir=plaatjes/ballen-s");

$totaal = $var1 + $var2;
echo $totaal;
Nee, zoiets kan niet zie mijn laatste post....
Glimi schreef op 01 januari 1970 @ 01:00:
Beter nog... maak een class
Overdrijven is ook een vak.... Je moet wel weten wanneer je OO gebruikt en wanneer niet.....

BTW laat hem nou beginnen met een functie...

Programmer - an organism that turns coffee into software.


Acties:
  • 0 Henk 'm!

  • flat
  • Registratie: Mei 2000
  • Niet online
PHP:
1
2
3
4
5
6
add.php
<? include 'a.php'; include 'b.php'; $total=$a+$b; echo $total; ?> 
a.php
<? $a=3; ?>
b.php
<? $b=3; ?>

simpel eh?

"Happiness is a way of travel, not a destination."
--Roy Goodman

Pagina: 1