Wijziging slaat niet op in de database als ik het verander op de site!

Status
Niet open voor verdere reacties.

Martijn31

Gebruiker
Lid geworden
6 sep 2009
Berichten
362
Hallo

Ik was bezig met een tooltje over belcredits als er een transactie is mis gegaan of er is een evenement ofzo waarbij er belcredits gewonnen kunnen worden dan moet ik steeds de database in. nu ben ik dus bezig met een tooltje waarvoor ik gewoon op de site van elke gebruiker zijn belcredits af of bij kan schrijven. De tool is zeg maar gelukt maar nu slaat hij niets op.

het codetje wat ik bij mijn andere code heb toegevoegd is:
PHP:
<tr><td width="80"><?php echo $lang->loc['belcr']; ?>:</td><td><input type="text" name="belcr" value="<?php echo $input->HoloText($rvm_row['belcr']); ?>"></td></tr>

Ik kan nu dus zeg maar wel zien hoeveel iedereen heeft en ik kan er ook wat anders van maken maar als ik op save klik dan zegt ie details opgeslagen en dan staat het allemaal weer op het oude amount.

Dit is de code die alles opslaat:
PHP:
}
$id = $_POST['id'];
switch($_GET['do']){
case "savedetails":
$row = $db->fetch_row($core->select3($input->FilterText($id)));
if(!is_numeric($_POST['rank']) || ((int) $_POST['rank'] < 1 || (int) $_POST['rank'] > 7)){ $error = $lang->loc['error.invalid.rank']; }
if((int) $_POST['id'] == (int) $user->id && $user->user("rank") == "7" && $_POST['rank'] != "7"){ $error = $lang->loc['error.derank.admin']; }
if((int) $row[3] >= (int) $user->user("rank") && $user->user("rank") != "7"){ $error = $lang->loc['error.higher.rank']; }
if(empty($error)){
	$data->update2($_POST['id'],$_POST['rank'],$_POST['motto'],$_POST['stickers],$_POST['birth'],$_POST['email'],$_POST["belcr"]);
	$message = $lang->loc['message.saved.details'];
}

Iemand enig idee of een makelijkere coden om het alsnog te wijzigen zonder dat ik in de database hoef?
Alvast bedankt.
 
PHP:
$data->update2($_POST['id'],$_POST['rank'],$_POST['motto'],$_POST['stickers],$_POST['birth'],$_POST['email'],$_POST["belcr"]);

Zit een typfout in deze regel, je mist een ' in de POST['stickers'].

Deze is wel goed geloof ik:

PHP:
$data->update2($_POST['id'],$_POST['rank'],$_POST['motto'],$_POST['stickers'],$_POST['birth'],$_POST['email'],$_POST['belcr']);
 
Ik heb het verandert maar helaas slaat hij nu nog steeds niets op. :(
Mischien nog iets anders?
 
Dan slaat hij zeg maar de dingetjes op...

Maar ik heb nu handmatig een code gemaakt even snel maar nu komt er een fout, maar ik ben niet zo goed in fouten

De fout is:

Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/deb28374/domains/mijnsite.nl/public_html/administratie/users.php on line 51

De code die ik even snel heb gemaakt is:

PHP:
if(isset($_GET['do'])){
foreach($_POST as &$value){
	$value = $input->HoloText($value);
	$belcr = mysql_query("SELECT belcr FROM users WHERE id = '$_POST['id']');
	$cr2add = $belcr + $_POST['belcr'];
	$addbelcr = mysql_query("UPDATE users SET belcr = '$cr2add' WHERE id = 

'$_POST['id']');
 
Laatst bewerkt:
Je kunt al aan de syntax highlighting zien dat er iets mis gaat met de aanhalingstekens.
 
Het is me nu gelukt. Ik heb zeg maar die failcode waar die aanhalingstekens van mislukt zijn weg gehaalt en even opnieuw alles gemaakt met wat stukjes van de failcode erbij Nu werkt het eindelijk.
De werkende code is:

PHP:
	$value = $input->HoloText($value);
$row = mysql_fetch_assoc(mysql_query("SELECT belcr FROM users WHERE 

id='".$user->id."'"));
$belcr = $row["belcr"];
$cr2add = $_POST['belcr'];	
$changebelcr = (mysql_query("UPDATE users set belcr = $cr2add WHERE 

id='".$user->id."'"));

Die heb ik tussen het opslaan gedeelte gepropt en eindelijk werkt et zonder gemopper
Vraag is opgelost. Bedankt voor jullie hulp.

Martijn
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan