Update van gegevens
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?
$sql = "UPDATE gebruikers_regi SET txtaantaluren = '" . $txtaantaluren . "' WHERE txtgebruiker='".$_SESSION['txtgebruiker']."'";
$res = mysql_query($sql) or die(mysql_error());
if(mysql_affected_rows() > 0)
{
// er is iets geupdated.
}
?>
$sql = "UPDATE gebruikers_regi SET txtaantaluren = '" . $txtaantaluren . "' WHERE txtgebruiker='".$_SESSION['txtgebruiker']."'";
$res = mysql_query($sql) or die(mysql_error());
if(mysql_affected_rows() > 0)
{
// er is iets geupdated.
}
?>
Ps: Hij geeft geen error en data verandert niet in database
Gewijzigd op 30/08/2010 14:49:04 door Zie Foto
session_start()?
ini_set('display_errors', 'On');
error_reporting(E_ALL);
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?
session_start();
if(!session_is_registered(txtgebruiker)){
header("location:checklogin.php");
}
?>
session_start();
if(!session_is_registered(txtgebruiker)){
header("location:checklogin.php");
}
?>
Maar nu staat hij op "0" als ik mijn aantal uren invoeg
Toevoeging op 30/08/2010 14:57:19:
Undefined variable: txtaantaluren op mijn $sql lijn
dan bestaat txtaantal uren dus niet
In mijn form staat mijn type op text...
Even veranderen!
Toevoeging op 30/08/2010 15:17:22:
Dat is het ook blijkbaar niet...
Heb dus in mijn database INT verandert naar TEXT
Als ik dan mijn formulier verzend maakt hij de inhoud van txtaantaluren leeg.
Verder kijk je op hij gezet is, maar je geeft hem nooit waarde.
Gebruik dit eens:
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
<?php
// Sessie starten
session_start();
// Sessie zetten, gebeurt dit op andere pagina?
$_SESSION['txtgebruiker'] = 'testgebruiker';
// Controleren of txtgebruiker is gezet
if( !isset( $_SESSION['txtgebruiker'] ) ) )
{
// Terug sturen
}
// Query die uitgevoerd dient te worden
$aQuery =
"
UPDATE
gebruikers_regi
SET
txtaantaluren = '" .( int ) ( $aantaluren ). "'
WHERE
txtgebruiker = '" .mysql_real_escape_string( $_SESSION['txtgebruiker'] ). "'
";
// Result
$result = mysql_query( $aQuery );
// Controleer of de query gelukt is, Geen kerkhof methodes dus
if( !$result )
{
echo 'Er is een fout opgetreden bij het updaten van de database';
}
?>
// Sessie starten
session_start();
// Sessie zetten, gebeurt dit op andere pagina?
$_SESSION['txtgebruiker'] = 'testgebruiker';
// Controleren of txtgebruiker is gezet
if( !isset( $_SESSION['txtgebruiker'] ) ) )
{
// Terug sturen
}
// Query die uitgevoerd dient te worden
$aQuery =
"
UPDATE
gebruikers_regi
SET
txtaantaluren = '" .( int ) ( $aantaluren ). "'
WHERE
txtgebruiker = '" .mysql_real_escape_string( $_SESSION['txtgebruiker'] ). "'
";
// Result
$result = mysql_query( $aQuery );
// Controleer of de query gelukt is, Geen kerkhof methodes dus
if( !$result )
{
echo 'Er is een fout opgetreden bij het updaten van de database';
}
?>
Ik vind wel dat je een aparte naamgeving gebruikt
Gewijzigd op 30/08/2010 16:56:22 door Niels K
Ik gebruik nog die oudere vorm van sessies omdat mijn papa het mij zo heeft aangeleerde en soms helpt.
Die naamgeving, txt komt van tekstvak eigenlijk, daar waar ik gebruik maak van Visual Basic.
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
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
<?php
// Sessie starten
session_start();
// Sessie zetten, gebeurt dit op andere pagina?
$_SESSION['txtgebruiker'] = 'testgebruiker';
// Variabel aantaluren aanmaken, ik denk dat dit de fout was.
$aantaluren = '20';
// Controleren of txtgebruiker is gezet
if( !isset( $_SESSION['txtgebruiker'] ) ) )
{
// Terug sturen
}
// Query die uitgevoerd dient te worden
$qry = "UPDATE
gebruikers_regi
SET
txtaantaluren = '" .intval( $aantaluren ). "'
WHERE
txtgebruiker = '" .mysql_real_escape_string( $_SESSION['txtgebruiker'] ). "'";
// Result
if( $sql = mysql_query( $qry ) )
{
echo 'Er is een fout opgetreden bij het updaten van de database';
// Volgende regel weghalen bij echt gebruik.
echo mysql_error();
}
?>
// Sessie starten
session_start();
// Sessie zetten, gebeurt dit op andere pagina?
$_SESSION['txtgebruiker'] = 'testgebruiker';
// Variabel aantaluren aanmaken, ik denk dat dit de fout was.
$aantaluren = '20';
// Controleren of txtgebruiker is gezet
if( !isset( $_SESSION['txtgebruiker'] ) ) )
{
// Terug sturen
}
// Query die uitgevoerd dient te worden
$qry = "UPDATE
gebruikers_regi
SET
txtaantaluren = '" .intval( $aantaluren ). "'
WHERE
txtgebruiker = '" .mysql_real_escape_string( $_SESSION['txtgebruiker'] ). "'";
// Result
if( $sql = mysql_query( $qry ) )
{
echo 'Er is een fout opgetreden bij het updaten van de database';
// Volgende regel weghalen bij echt gebruik.
echo mysql_error();
}
?>
Kijk eens naar regel 8 en 9, daar vind je wat ik denk dat de fout is bij jou ;).
Gerrie Van Rossum op 30/08/2010 17:37:50:
Ik gebruik nog die oudere vorm van sessies omdat mijn papa het mij zo heeft aangeleerde en soms helpt.
Maar dat is natuurlijk geen reden om het nu op de goede manier te doen. Het gebruik van session_register() is niet voor niets veranderd in het gebruik van $_SESSION, ga dan ook gewoon met die verandering mee...
Volgens mij zit daar ook mijn fout, dat ik geen informatie uit mijn sessie kan halen.
Daarom dat ik sukkel met het updaten, verwijderen,... van data.