Geen database invoer
Ik ben bezig met een soort van criminal game maar een gedeelte php werkt niet.
De variabel gvor wordt niet toegevoegd in database.
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
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
<?
if($rang == 7){
$vor1 = '0,5' ;
$vor2 = '0,9' ;
$vor3 = '1,15' ;
$vor4 = '1,45' ;
$vor5 = '2' ;
}
// Var. $kracht juiste waarde geven
if($_POST['train']) {
if($_POST['1'] == 1){ $vor = $vor1 ; $tijd = 5 ;}
if($_POST['1'] == 2){ $vor = $vor2 ; $tijd = 10 ;}
if($_POST['1'] == 3){ $vor = $vor3 ; $tijd = 15 ;}
if($_POST['1'] == 4){ $vor = $vor4 ; $tijd = 20 ;}
if($_POST['1'] == 5){ $vor = $vor5 ; $tijd = 30 ;}
//Krachtijd berekenen
$traintijd = time() + (60*$tijd);
$traintijd = date("d-m-Y H:i:s",$traintijd) ;
$traintijd1 = date("H:i:s",$traintijd) ;
//Invoeren in database
mysql_query ("UPDATE users SET gvor=(gvor + '".$vor."'), krachttijd = '".$traintijd."' WHERE username='paul'") or die ( mysql_error() );
echo '<a href='.$_SERVER['PHP_SELF'].'>[Terug]</a><br />';
die('Je bent voor de komende '.$tijd.' minuten aan het trainen.');
}
?>
if($rang == 7){
$vor1 = '0,5' ;
$vor2 = '0,9' ;
$vor3 = '1,15' ;
$vor4 = '1,45' ;
$vor5 = '2' ;
}
// Var. $kracht juiste waarde geven
if($_POST['train']) {
if($_POST['1'] == 1){ $vor = $vor1 ; $tijd = 5 ;}
if($_POST['1'] == 2){ $vor = $vor2 ; $tijd = 10 ;}
if($_POST['1'] == 3){ $vor = $vor3 ; $tijd = 15 ;}
if($_POST['1'] == 4){ $vor = $vor4 ; $tijd = 20 ;}
if($_POST['1'] == 5){ $vor = $vor5 ; $tijd = 30 ;}
//Krachtijd berekenen
$traintijd = time() + (60*$tijd);
$traintijd = date("d-m-Y H:i:s",$traintijd) ;
$traintijd1 = date("H:i:s",$traintijd) ;
//Invoeren in database
mysql_query ("UPDATE users SET gvor=(gvor + '".$vor."'), krachttijd = '".$traintijd."' WHERE username='paul'") or die ( mysql_error() );
echo '<a href='.$_SERVER['PHP_SELF'].'>[Terug]</a><br />';
die('Je bent voor de komende '.$tijd.' minuten aan het trainen.');
}
?>
In heb de mysql query uitgevoerd in PHPmyadmin en daar ondervond ik geen probleem.
Paul
Gewijzigd op 01/01/1970 01:00:00 door Paul du Long
Code (php)
1
2
3
2
3
<?
mysql_query ("UPDATE users SET gvor = gvor + '".$vor."', krachttijd = '".$traintijd."' WHERE username = 'paul'") or die ( mysql_error() );
?>
mysql_query ("UPDATE users SET gvor = gvor + '".$vor."', krachttijd = '".$traintijd."' WHERE username = 'paul'") or die ( mysql_error() );
?>
Gewijzigd op 01/01/1970 01:00:00 door Erik Rijk
$_POST['1']
niet mag, vars mogen niet beginenn met een getal (dacht ik)
Verder is $traintijd = date("d-m-Y H:i:s",$traintijd) ; fout, dit kan nooit een datum zijn die je kunt opslaan in de database en/of waar je nog eens mee kunt gaan rekenen of op sorteren. De database heeft het datatype DATETIME die het formaat yyyy-mm-dd hh:mm:ss als input vereist. Dat is een ISO-formaat en daar kun je nog eens een keer wat mee gaan doen. Zie de hoofstukken 9 en 12.5 van de MySQL-handleiding.
$vor staat voor vorderingen
1,2,3,4,5,6 staat voor de optie die je hebt gekozen.
En traintijd met ik nog veranderen.
Ik heb aan het einde $vor geechoed en daar gaf die het gewoon goed weer vreemd hè ?!
Maarja hoe los ik dit op
Wanneer $vor staat voor de variabele vordering (engels: progress), dan lijkt mij $progress of evt. $vordering meer voor de hand liggen. Dan is het duidelijk waar je het over hebt. Vooral handig wanneer je over een half jaar (0.5 jaar ;) ) onderhoud gaat plegen, dat scheelt een hoop tijd en bugs.
$1 => $option_1 , al blijft deze beroerd. Wát is nu eigenlijk 'optie 1' ?