qualitum logo
Fel med elseif?

PHPportalen Forum Index » PHP Mjukstart
Lägg ett bokmärke på hela tråden
Skapa nytt inlägg   Svara på inlägget Gå till sida Föregående  1, 2, 3
Visa föregående ämne :: Visa nästa ämne  
Startad av: Meddelande
Billob



Medlem i: 1459 dagar

Status: Offline



#645308
Inlägg Skrivet: 2009-07-02 22:04      Ämne: Citera

Visa koden för funktionen.
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
DarkPower



Medlem i: 1927 dagar

Status: Offline



#645310
Inlägg Skrivet: 2009-07-02 22:08      Ämne: Citera

Dom här skall anropa:

{display("You dont have enough money to play!<br><a href=\"index.php?\">Back to town</a>", "Lottery"); die(); }

{display("You must choose 5 numbers!!!<br><a href=\"index.php?do=lottery\">Back</a>", "Lottery"); die(); }

display($page, "Lottery");

Senast ändrad av DarkPower den 2009-07-02 22:11, ändrad totalt 2 gånger
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
Billob



Medlem i: 1459 dagar

Status: Offline



#645311
Inlägg Skrivet: 2009-07-02 22:10      Ämne: Citera

Jag vill se koden för själva funktionen, inte där du anropar den.
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
DarkPower



Medlem i: 1927 dagar

Status: Offline



#645312
Inlägg Skrivet: 2009-07-02 22:11      Ämne: Citera

Då måste jag skapa något liknande

function display($page, $lotto){


}
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
Billob



Medlem i: 1459 dagar

Status: Offline



#645313
Inlägg Skrivet: 2009-07-02 22:13      Ämne: Citera

Ja, du kan inte anropa en funktion som inte existerar.
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
DarkPower



Medlem i: 1927 dagar

Status: Offline



#645314
Inlägg Skrivet: 2009-07-02 22:13      Ämne: Citera

Men räcker dom argumenten? är dom korrekta mellan (.....)?
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
Billob



Medlem i: 1459 dagar

Status: Offline



#645316
Inlägg Skrivet: 2009-07-02 22:16      Ämne: Citera

Det där är en funktion ja, men den gör ingenting.
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
DarkPower



Medlem i: 1927 dagar

Status: Offline



#645317
Inlägg Skrivet: 2009-07-02 22:19      Ämne: Citera

Hajar inte riktigt, har kollat guiden här på sidan. Och jag har skapat en likadan nu:

Exempel bara, är funktionen korrekt motsvarande det som står innanför display på dom andra? Samt att dom skall omslutas av måsvingar. Då måste den väl göra någonting? Att dom anropar den?

function display($page, $lotto){

{display("You dont have enough money to play!<br><a href=\"index.php?\">Back to town</a>", "Lottery"); die(); }

{display("You must choose 5 numbers!!!<br><a href=\"index.php?do=lottery\">Back</a>", "Lottery"); die(); }

display($page, "Lottery");

}
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
Billob



Medlem i: 1459 dagar

Status: Offline



#645318
Inlägg Skrivet: 2009-07-02 22:27      Ämne: Citera

Där gör du som tidigare du anropar en funktion inuti i samma funktion. Det funkar inte.

KOD:
1:
 
2:
function display($page, $lotto) {
3:
    //Vad ska hända här?
4:
}
5:
 


Sedan när jag skapat den och gett den ett "syfte" kan man anropa den.

KOD:
1:
 
2:
display(arg1, arg2);
3:
 


Här är ännu ett exempel från w3schools.com.

KOD:
1:
 
2:
<html>
3:
<body>
4:
 
5:
<?php
6:
function writeName()
7:
{
8:
echo "Kai Jim Refsnes";
9:
}
10:
 
11:
echo "My name is ";
12:
writeName();
13:
?>
14:
 
15:
</body>
16:
</html>
17:
 


Sedan ett som returnerar ett värde.

KOD:
1:
 
2:
<html>
3:
<body>
4:
 
5:
<?php
6:
function add($x,$y)
7:
{
8:
$total=$x+$y;
9:
return $total;
10:
}
11:
 
12:
echo "1 + 16 = " . add(1,16);
13:
?>
14:
 
15:
</body>
16:
</html>
17:
 


http://w3schools.com/php/php_functions.asp
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
DarkPower



Medlem i: 1927 dagar

Status: Offline



#645322
Inlägg Skrivet: 2009-07-02 23:42      Ämne: Citera

Har läst igenom flera gånger, men har svårt att förstå hur man skall göra med min kod. Jag uppfattar det som att jag behöver skapa flera funktioner för display ?

En för varje:

{display("You dont have enough money to play!<br><a href=\"index.php?\">Back to town</a>", "Lottery"); die(); }

{display("You must choose 5 numbers!!!<br><a href=\"index.php?do=lottery\">Back</a>", "Lottery"); die(); }

display($page, "Lottery");

Eller vad? Skulle behöva se markering i koden var man placerar allt så att man kan relatera.
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
simius



Medlem i: 2531 dagar
Från: Skåne
Status: Offline



#645323
Inlägg Skrivet: 2009-07-03 00:10      Ämne: Citera

Billob skrev:
Där gör du som tidigare du anropar en funktion inuti i samma funktion. Det funkar inte.

Mjo, rekursion... Dock så är han nog inte ute efter det och jag skulle inte rekomendera att han ger sig på det än Razz

Lite OT, sorry, var tvungen Wink
 

_________________
Lägger jag en bild här igen blir jag avstängd.
Till toppen på sidan
Visa användarprofil Skicka privat meddelande Besök användarens hemsida MSN Messenger
DarkPower



Medlem i: 1927 dagar

Status: Offline



#645330
Inlägg Skrivet: 2009-07-03 01:37      Ämne: Citera

Om man börjar med den första:

function display1($text){
echo "You dont have enough money to play!<br><a href=\"index.php?\">Back to town</a>";
}
display1();

Om det nu är korrekt, MEN, hur löser jag det med anropet av display($page); ? Vad skall stå mellan
function display2($page???????){
echo "??????????????????????????";
}

display2($page);

Jag måste ha 3 funktioner då som det ser ut nu.




Jag har testat att anropa hela dokumentet via en annan fil <?php lottery(); ?>, men får bara error...Fatal error: Call to undefined function lottery() Behöver verkligen hjälp, blir galen på det här snart.

Testade också kör den här koden i en annan fil:

KOD:
1:
<?php
2:
if (isset($_GET["do"])) {
3:
    $do = explode(":",$_GET["do"]);
4:
if ($do[0] == "lottery") { include('lottery.php'); lottery(); }
5:
}
6:
?>


Då plockade jag bort if-satsen i stora dokumentet, men då blev felet istället Call to undefined function display()
Nu har jag försökt på alla tänkbara sätt utan resultat någonstans.


Har även testat att byta lottery mot display, ger Internal Server Error.


KOD:
1:
<?php
2:
include "antet.php"; include "func.php";
3:
 
4:
if (isset($_GET["do"])) {
5:
    $do = explode(":",$_GET["do"]);
6:
elseif ($do[0] == "lottery") { include('lottery.php'); lottery(); }
7:
}
8:
 
9:
function lottery() {
10:
global $userrow, $numqueries;
11:
$usergold = $userrow["points"];
12:
 
13:
 
14:
if (isset($_POST['buy'])) {
15:
 
16:
 
17:
$cash = 50;
18:
 
19:
if ($cash > $userrow["points"]) {display("You dont have enough money to play!<br><a href=\"index.php?\">Back to town</a>", "Lottery"); die(); }
20:
         
21:
 
22:
 
23:
$guess1 = $_POST['choice1'];
24:
$guess11 = $guess1;
25:
 
26:
   $guess2 = $_POST['choice2'];
27:
   $guess22 = $guess2;
28:
 
29:
      $guess3 = $_POST['choice3'];
30:
      $guess33 = $guess3;
31:
 
32:
         $guess4 = $_POST['choice4'];
33:
         $guess44 = $guess4;
34:
 
35:
            $guess5 = $_POST['choice5'];
36:
            $guess55 = $guess5;
37:
 
38:
 
39:
$nr1 = rand(1,5);
40:
$nr11=$nr1;
41:
 
42:
   $nr2 = rand(6,10);
43:
   $nr22=$nr2;
44:
 
45:
      $nr3 = rand(11,15);
46:
      $nr33=$nr3;
47:
 
48:
         $nr4 = rand(16,20);
49:
         $nr44=$nr4;
50:
 
51:
            $nr5 = rand(21,25);
52:
            $nr55=$nr5;
53:
 
54:
 
55:
if($guess11 == "" || $guess22 == "" || $guess33 == "" || $guess44 == "" || $guess55 == "") {display("You must choose 5 numbers!!!<br><a href=\"index.php?do=lottery\">Back</a>", "Lottery"); die(); }
56:
 
57:
 
58:
if($nr11 == $guess11) {$a=$a+1;}
59:
   if($nr22 == $guess22) {$a=$a+1;}
60:
      if($nr33 == $guess33) {$a=$a+1;}
61:
         if($nr44 == $guess44) {$a=$a+1;}
62:
            if($nr55 == $guess55) {$a=$a+1;}
63:
               elseif($nr11 != $guess11 && $nr22 != $guess22 && $nr33 != $guess33 && $nr44 != $guess44 && $nr55 != $guess55) {$a=0;}
64:
 
65:
if($a == 0){
66:
   $winorlose=lost;
67:
   $won =50;
68:
   $newgold = $userrow['points'] - $won;
69:
   doquery("UPDATE {{table}} SET points='$newgold' WHERE id='".$userrow["id"]."' LIMIT 1", "users");   
70:
}
71:
if($a != 0 && $a == 1){
72:
   $winorlose=lost;
73:
   $won =50;
74:
   $newgold = $userrow['points'] - $won;
75:
   doquery("UPDATE {{table}} SET points='$newgold' WHERE id='".$userrow["id"]."' LIMIT 1", "users");
76:
}
77:
 
78:
 
79:
if($a != 0 && $a == 2) {
80:
$winorlose=won;
81:
$won = 2 * 5;
82:
$newgold = $userrow['points'] + $won;
83:
doquery("UPDATE {{table}} SET points='$newgold' WHERE id='".$userrow["id"]."' LIMIT 1", "users");
84:
}
85:
   if($a != 0 && $a == 3){
86:
   $winorlose=won;
87:
   $won = 3 * 50;
88:
   $newgold = $userrow['points'] + $won;
89:
   doquery("UPDATE {{table}} SET points='$newgold' WHERE id='".$userrow["id"]."' LIMIT 1", "users");
90:
   }
91:
      if($a != 0 && $a == 4){
92:
      $winorlose=won;
93:
      $won = 4 * 125;
94:
      $newgold = $userrow['gold'] + $won;
95:
      doquery("UPDATE {{table}} SET points='$newgold' WHERE id='".$userrow["id"]."' LIMIT 1", "users");
96:
      }
97:
         if($a != 0 && $a == 5){
98:
               $winorlose=won;
99:
         $won = 5 * 300;
100:
         $newgold = $userrow['points'] + $won;
101:
         doquery("UPDATE {{table}} SET points='$newgold' WHERE id='".$userrow["id"]."' LIMIT 1", "users");
102:
         }
103:
 
104:
$page = '<center>';
105:
$page .= '<h3 class="title">.::Lottery::.</h3>';
106:
$page .= '<i>You got 1 number right = 0 gold<br>
107:
You got 2 number right = 10 gold<br>
108:
You got 3 number right = 150 gold<br>
109:
You got 4 number right = 500 gold<br>
110:
You got 5 number right = 1500 gold<br>
111:
</i><br>';
112:
$page .= '<table>';
113:
$page .= '<tr>
114:
<td>Lottery numbers are: <b>'.$nr11.'</b></td>
115:
<td><b>'.$nr22.'</b></td>
116:
<td><b>'.$nr33.'</b></td>
117:
<td><b>'.$nr44.'</b></td>
118:
<td><b>'.$nr55.'</b></td></tr>';
119:
$page .= '<tr>
120:
<td>Your numbers where:  <b>'.$guess1.'</b></td>
121:
<td><b>'.$guess2.'</b></td>
122:
<td><b>'.$guess3.'</b></td>
123:
<td><b>'.$guess4.'</b></td>
124:
<td><b>'.$guess5.'</b></td>';
125:
$page .= '</tr>';
126:
$page .= '</table>';
127:
$page .= '<font size=+1 color=blue>You got '.$a.' number(s) right!<br>You '.$winorlose.': <b>'.$won.'</b> gold</font><br /><br />';
128:
$page .= '</center><a href=\'index.php\'>Back to town</a> or <a href=\'index.php?do=lottery\'>Play Again</a>';
129:
 
130:
   display($page, "Lottery");
131:
 
132:
}
133:
 
134:
$page = '<center>';
135:
$page .= '<h3 class="title">.::Lottery::.</h3>';
136:
$page .='<h3>PLEASE CHOOSE 1 NUMBER FROM EACH COLUM...</H3><br><p>';
137:
 
138:
 
139:
 
140:
$page .= '<form action=lottery.php?do=lottery method=post>
141:
 
142:
 
143:
 
144:
1<input type=radio name=choice1 value=1 id=1>|&nbsp;
145:
6<input type=radio name=choice2 value=6 id=1>|&nbsp;
146:
11<input type=radio name=choice3 value=11 id=1>|&nbsp;
147:
16<input type=radio name=choice4 value=16 id=1>|&nbsp;
148:
21<input type=radio name=choice5 value=21 id=1>|&nbsp;
149:
<br>
150:
   2<input type=radio name=choice1 value=2 id=2>|&nbsp;
151:
   7<input type=radio name=choice2 value=7 id=1>|&nbsp;
152:
   12<input type=radio name=choice3 value=12 id=1>|&nbsp;
153:
   17<input type=radio name=choice4 value=17 id=1>|&nbsp;
154:
   22<input type=radio name=choice5 value=22 id=1>|&nbsp;
155:
   <br>
156:
      3<input type=radio name=choice1 value=3 id=3>|&nbsp;
157:
      8<input type=radio name=choice2 value=8 id=1>|&nbsp;
158:
      13<input type=radio name=choice3 value=13 id=1>|&nbsp;
159:
      18<input type=radio name=choice4 value=18 id=1>|&nbsp;
160:
      23<input type=radio name=choice5 value=23 id=1>|&nbsp;
161:
      <br>
162:
         4<input type=radio name=choice1 value=4 id=4>|&nbsp;
163:
         9<input type=radio name=choice2 value=9 id=1>|&nbsp;
164:
         14<input type=radio name=choice3 value=14 id=1>|&nbsp;
165:
         19<input type=radio name=choice4 value=19 id=1>|&nbsp;
166:
         24<input type=radio name=choice5 value=24 id=1>|&nbsp;
167:
         <br>
168:
            5<input type=radio name=choice1 value=5 id=5>|&nbsp;
169:
            10<input type=radio name=choice2 value=10 id=1>|&nbsp;
170:
            15<input type=radio name=choice3 value=15 id=1>|&nbsp;
171:
            20<input type=radio name=choice4 value=20 id=1>|&nbsp;
172:
            25<input type=radio name=choice5 value=25 id=1>|&nbsp;
173:
<p>';
174:
 
175:
   $page .= '<input type=submit value=OK name=buy></form><br><i>NB! To play you need 50 gold!!!</i>';
176:
   $page .= '</center><a href=\'index.php\'>Back to town</a>';
177:
 
178:
   display($page, "Lottery");
179:
 
180:
}
181:
?>
[/code]
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
Billob



Medlem i: 1459 dagar

Status: Offline



#645350
Inlägg Skrivet: 2009-07-03 13:06      Ämne: Citera

Vad är det du vill funktionen display ska göra?
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
DarkPower



Medlem i: 1927 dagar

Status: Offline



#645351
Inlägg Skrivet: 2009-07-03 13:31      Ämne: Citera

Ja, att den skall kunna visa meddelandena samt själva layouten..
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
Kagg



Medlem i: 1863 dagar

Status: Offline



#645567
Inlägg Skrivet: 2009-07-05 15:00      Ämne: Citera

Uppenbarligen har du inte skrivit denna kod? Varför kollar du inte instruktionerna där du tankade koden från?

När du får felmeddelandet "Call to undefined function lottery()" betyder det att PHP inte hittar funktionen (i det här fallet lottery()) som du försöker köra. Det är väl inga konstigheter att förstå det? Se till att inkludera den fil (med include) där funktionen lottery() är definierad innan du kör funktionen. förslagsvis i början av din kod någonstans. Lika med "display()".
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
Visa tidigare inlägg:   
Skapa nytt inlägg   Svara på inlägget Gå till sida Föregående  1, 2, 3
PHPportalen Forum Index » PHP Mjukstart
Hoppa till:  
Du kan inte skapa nya inlägg i det här forumet
Du kan inte svara på inlägg i det här forumet
Du kan inte ändra dina inlägg i det här forumet
Du kan inte ta bort dina inlägg i det här forumet
Du kan inte rösta i det här forumet
Du kan inte bifoga filer i detta forum
Du kan inte ladda ner filer från detta forum
Kontakta oss på adressen: info@phpportalen.net
Webbplatsen bygger i grunden på phpBB © 2001, 2002 phpBB Group

Modifieringar har senare gjorts i systemet av PHPportalen
Sid och logotypdesign skapad av Daren Jularic
qualitum logo