Update van gegevens

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Zie Foto

Zie Foto

30/08/2010 14:45:46
Quote Anchor link
Ik heb in het forum enkele topic's gevonden, deze toegepast maar werken blijkbaar niet.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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.
}
?>


Ps: Hij geeft geen error en data verandert niet in database
Gewijzigd op 30/08/2010 14:49:04 door Zie Foto
 
PHP hulp

PHP hulp

24/12/2024 06:29:17
 
Jesse Degger

Jesse Degger

30/08/2010 14:52:05
Quote Anchor link
session_start()?
 
John D

John D

30/08/2010 14:55:31
Quote Anchor link
Errormeldingen aanzetten:

ini_set('display_errors', 'On');
error_reporting(E_ALL);
 
Zie Foto

Zie Foto

30/08/2010 14:55:32
Quote Anchor link
Ik heb

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?
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
 
Vincent Huisman

Vincent Huisman

30/08/2010 15:06:39
Quote Anchor link
dan bestaat txtaantal uren dus niet
 
Zie Foto

Zie Foto

30/08/2010 15:14:34
Quote Anchor link
Ah... In mijn database staat txtaantaluren wel als INT.
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.
 
Niels K

Niels K

30/08/2010 16:55:41
Quote Anchor link
Je kan gewoon de superglobal $_SESSION gebruiken hoor. Session_register komt uit 19 noach..

Verder kijk je op hij gezet is, maar je geeft hem nooit waarde.
Gebruik dit eens:

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
<?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';
}


?>


Ik vind wel dat je een aparte naamgeving gebruikt
Gewijzigd op 30/08/2010 16:56:22 door Niels K
 
Zie Foto

Zie Foto

30/08/2010 17:37:50
Quote Anchor link
Ook met je code Niels geeft hij een fout voor txtaantaluren (op lijn 21 in je code)
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.
 
Milo S

Milo S

30/08/2010 18:00:34
Quote Anchor link
Wat voor fout geeft hij dan?

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
<?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();
}


?>


Kijk eens naar regel 8 en 9, daar vind je wat ik denk dat de fout is bij jou ;).
 
Joren de Wit

Joren de Wit

30/08/2010 18:11:24
Quote Anchor link
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...
 
Zie Foto

Zie Foto

30/08/2010 19:25:48
Quote Anchor link
Ja, kzou eens mee moeten gaan met de tijd.

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.
 



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.