Help! Hoe moet dit nou weer! PHP MYSQL

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 volgende »

Jens vandevelde

jens vandevelde

03/12/2010 02:31:22
Quote Anchor link
help, ik heb enkele weken geleden een php site met mysql database overgekocht en deze aanpassen gaat maar nu heb ik toch wel wat problemen met het aanmaken van die ene nieuwe webpagina...

Dit is wat ik tot nu toe heb. De missiondone(..); zijn inbegrepen in een ander script, dat werkt!

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
43
44
45
46
47
48
49
<?php
if(isset($_POST['user'])) {
  $user = mysql_fetch_query("SELECT autogestolen FROM users WHERE id = '" . $_POST['user'] "'");
  $autosgestolen = $user['autogestolen'];
  if($autogestolen < 20) {
    if($autogestolen < 50) {
      if($autogestolen < 100) {
        if($autogestolen < 200) {
      if($autogestolen < 300) {
        if($autogestolen < 400) {
          if($autogestolen < 500) {
            if($autogestolen < 600) {
          if($autogestolen < 700) {
            if($autogestolen < 1000) {

            }
else {
              missiondone(49)
                }
          }
else {
            missiondone(44)
            }
        }
else {
          missiondone(39)
          }
          }
else {
        missiondone(34)
        }
        }
else {
          missiondone(29)
          }
      }
else {
        missiondone(24)
        }
    }
else {
      missiondone(19)
      }
      }
else {
    missiondone(14)
        }
    }
else {
      missiondone(9)
      }
  }
else {
    missiondone(3)
    }            
}
else {
  missiondone(1)
  }

?>

alvast bedankt om me te helpen!

greetz, jenzzz


Graag in het vervolg bij code, [code] [/code] tags gebruiken. [/modedit]
Gewijzigd op 03/12/2010 11:15:29 door Bas IJzelendoorn
 
PHP hulp

PHP hulp

29/04/2024 18:49:52
 
Vincent Huisman

Vincent Huisman

03/12/2010 06:49:17
Quote Anchor link
wat lukt er niet? zijn er errors? zo ja, kan je ze dan melden? hier hebben we natuurlijk niets aan!
 
Victor Php

Victor Php

03/12/2010 07:52:30
Quote Anchor link
En zet je code tussen de < ?php ? > tags (zonder spaties)
 
Bas Cost Budde

Bas Cost Budde

03/12/2010 10:32:07
Quote Anchor link
de volgorde van de tests (ifs) vind ik vreemd. Een waarde die kleiner is dan 20, is uiteraard ook kleiner dan 50; dus alle tests slagen, of falen, tegelijk.
 
Wouter J

Wouter J

03/12/2010 10:44:38
Quote Anchor link
En daarnaast kun je volgens mij beter met 1 if beginnen en dan met elseif gaan werken:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php

if($iets = 'een waarde') {
  echo "Hij heeft een waarde!";
}

elseif($iets = 'een andere waarde') {
  echo "Hij heeft een andere waarde.";
}

elseif($iets = 'nog wat') {
  echo "Nog wat anders.....";
}

?>
 
Bas Cost Budde

Bas Cost Budde

03/12/2010 10:48:01
Quote Anchor link
@Wouter: dat ligt eraan of de conclusies moeten stapelen of afwisselen.
Wil je iets doen in het geval "meer dan 50", dan wil je dat wellicht ook doen in het geval "meer dan 100".

Dat hier andere control-structuren ook kunnen werken, dat lijkt me duidelijk. Wil ik pas iets over bedenken als ik de intentie van het blok ken.
 
Jens vandevelde

jens vandevelde

03/12/2010 13:37:48
Quote Anchor link
het script vertoont zicht gewoon als een lege pagina..

de bedoeling is (rpg game) er wordt iedere keer als er een auto wordt gestolen +1 gedaan bij autogestolen in mysql database bij user. Nu wil ik dat er missies worden gecheckt bij het openen van deze pagina, bijvoorbeeld als er 200 auto's gestolen zijn zou missie 1,3,9,14 moeten voltooid geraken...

Hoop dat dit een beetje duidelijkheid schept....

Alvast bedankt voor de reacties!
Gewijzigd op 03/12/2010 13:38:50 door jens vandevelde
 
Bas Cost Budde

Bas Cost Budde

03/12/2010 13:46:45
Quote Anchor link
"missies worden gecheckt", is dat iets dat neveneffecten heeft, zoals het uitkeren van een bonus? Dan moet je testen op precies dat aantal diefstallen, anders krijgt je bezoeker steeds opnieuw de bonus. Ik zou er ook een datastruktuur(tje) omheen bouwen, want nu zit het gedrag wel heel erg door de code verspreid.
 
Pim -

Pim -

03/12/2010 13:46:49
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
$array
= array(
    20 => 1,
    50 => 3,
    100 => 9
); // Enzovoorts

$stolen = 88;
$argument = null;
foreach($array as $num => $arg)
    if($stolen < $num) {
        $argument = $arg;
        break;
    }


if(is_null($argument))
    die('Error');
else
    missiondone($argument);
 
- SanThe -

- SanThe -

03/12/2010 14:18:15
Quote Anchor link
Deze: mysql_fetch_query(), kan ik niet vinden op php.net. Jullie wél?
 
Bas Cost Budde

Bas Cost Budde

03/12/2010 14:20:07
Quote Anchor link
Nee. Ik had gegokt dat het een pakpapiertje is om een (of meer) van de mysql-functies.
 
- Mark -

- Mark -

03/12/2010 14:31:40
Quote Anchor link
hopelijk heeft hij niet meer dan de waarde van de webhosting betaald.

En ik gok ook nog lek voor SQL injection. Ik zie nergens iets dat $_POST['user'] beveiligd. En dat zal wel niet voor de isset() staan. En laten we maar zwijgen over fout afhandeling.
 
Jens vandevelde

jens vandevelde

03/12/2010 23:17:00
Quote Anchor link
en wat is er dan nog mis met dit?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?php
echo'
<div id="content_top"> </div>

        <div id="content">

<h1 class="titel">Er wordt gecontroleerd op voltooide missies, wacht minstens 10 seconden op deze pagina!</h1>'
;

  $user = mysql_fetch_query("SELECT autogestolen FROM users WHERE id = '" . $own['id'] "'");
  $autosgestolen = $user['autogestolen'];
  $array = array(
    20 => 3,
    50 => 9,
    100 => 14,
    200 => 19,
    300 => 24,
    400 => 29,
    500 => 34,
    600 => 39,
    700 => 44,
    1000 => 49
  );

$stolen = $autosgestolen;
$argument = null;
foreach($array as $num => $arg)
    if($stolen < $num) {
        $argument = $arg;
        break;
    }


if(is_null($argument))
    die('Error');
else
    missiondone($argument);

echo'
  </table>
        </div>
        <div id="content_bottom"> </div>'
;
?>


Toevoeging op 03/12/2010 23:17:30:

Dit vertoont gewoon een witte pagina...
 
Remco nvt

Remco nvt

04/12/2010 00:11:54
Quote Anchor link
Zet eens dit boven aan
error_reporting(E_ALL);
ini_set("display_errors", 1);

dus

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);

en post even wat je dan ziet.
 
- SanThe -

- SanThe -

04/12/2010 06:54:31
Quote Anchor link
- SanThe - op 03/12/2010 14:18:15:
Deze: mysql_fetch_query(), kan ik niet vinden op php.net. Jullie wél?
 
- Raoul -

- Raoul -

04/12/2010 09:05:35
Quote Anchor link
Gebruik mysql_fetch_assoc() ipv mysql_fetch_query(), probeer het dan nog eens.
Als je errors krijgt, post ze dan hier (zie post van Remco)
 
Remco nvt

Remco nvt

04/12/2010 11:51:34
Quote Anchor link
- SanThe - op 04/12/2010 06:54:31:
- SanThe - op 03/12/2010 14:18:15:
Deze: mysql_fetch_query(), kan ik niet vinden op php.net. Jullie wél?




Ik heb de vreemdste eigen functies gezien ;)
 
Pim -

Pim -

04/12/2010 13:52:37
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
function mysql_fetch_query($sql) {
    return mysql_fetch_assoc(mysql_query($sql));
}

?>

? ;)
 
Jens vandevelde

jens vandevelde

04/12/2010 20:45:18
Quote Anchor link
ik heb het volgende maar zie nog altijd een witte pagina met niets op... :s

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
43
44
<?php
echo'
<div id="content_top"> </div>

        <div id="content">

error_reporting(E_ALL);
ini_set("display_errors", 1);

<h1 class="titel">Er wordt gecontroleerd op voltooide missies, wacht minstens 10 seconden op deze pagina!</h1>'
;

  $user = mysql_fetch_assoc("SELECT autogestolen FROM users WHERE id = '" . $own['id'] "'");
  $autosgestolen = $user['autogestolen'];
  $array = array(
    20 => 3,
    50 => 9,
    100 => 14,
    200 => 19,
    300 => 24,
    400 => 29,
    500 => 34,
    600 => 39,
    700 => 44,
    1000 => 49
  );

$stolen = $autosgestolen;
$argument = null;
foreach($array as $num => $arg)
    if($stolen < $num) {
        $argument = $arg;
        break;
    }


if(is_null($argument))
    die('Error');
else
    missiondone($argument);

echo'
  </table>
        </div>
        <div id="content_bottom"> </div>'
;
?>
 
Bas Cost Budde

Bas Cost Budde

04/12/2010 20:46:06
Quote Anchor link
regel 7 moet naar regel 2

edit: en regel 8 naar 3 dan dus ja
Gewijzigd op 04/12/2010 20:46:30 door Bas Cost Budde
 
Jens vandevelde

jens vandevelde

04/12/2010 20:57:44
Quote Anchor link
heb ik gedaan en zie nog steeds een witte pagina :(
 

Pagina: 1 2 volgende »



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.