Ik heb in het forum enkele topic's gevonden, deze toegepast maar werken blijkbaar niet.

<?
$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
Errormeldingen aanzetten:

ini_set('display_errors', 'On');
error_reporting(E_ALL);
Ik heb

<?
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
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.
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:

<?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
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.
Wat voor fout geeft hij dan?


<?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 ;).
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...
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.

Reageren