update a row for all users from one id
i have a login system in place, i decided it may be a good idea to have a news section, which i can update from my admin login.
I created a row called \'tdanews\'. now i have manually inserted some info into it, and echo\'d it into the users login, it works fine, now i have tried to make a script so i can submit a form from my admin page to updte it, but i cant get it to work, any advice? my code.. session_start(); if (!isset($_SESSION[\'id\'])) { echo \'Please <a href=\"login.php\">log in</a> to access your account\'; exit(); } include_once \"connection.php\"; // Place Session variable \'id\' into local variable $id = $_SESSION[\'id\']; // Process the form if it is submitted if ($_POST[\'newtdanews\']) { $tdanews = $_POST[\'tdanews\']; $sql = mysql_query(\"UPDATE thedriving3 SET tdanews=\'$newtdanews\' WHERE id=\'$id\'\"); echo \'Your account info has been updated, visitors to your profile will now see the new info.\'; exit(); }else echo \"error\";// close if post ?> <?php // Query member data from the database and ready it for display $sql = mysql_query(\"SELECT * FROM members WHERE id=\'$id\' LIMIT 1\"); while($row = mysql_fetch_array($sql)){ $tdanews = $row[\"tdanews\"]; } thanks
3 Answers
now follow this if you want to make admin panal for update the users
1- make a php page users.php <?php session_start(); include_once \"connection.php\"; if (isset($_SESSION[\'id\'])) { // exit if you is not the admin if($_SESSION[\'id\'] <> 1){ exit(\'you is not the admin\'); } }else{ exit(\'Please <a href=\"login.php\">log in</a> to access your account\'); } // get the user if from the url $id = intval($_GET[\'id\']); // Process the form if it is submitted if (isset($_POST[\'tdanews\'])) { $tdanews = $_POST[\'tdanews\']; $query = \"UPDATE thedriving3 SET tdanews=\'$tdanews\' WHERE id=\'$id\'\"; $sql = mysql_query($query); if($sql){ echo \"the account info with $id has been updated.\"; }else{ echo \'error:\'.$query; } exit(); } $sql = mysql_query(\"SELECT * FROM members WHERE id=\'$id\' LIMIT 1\"); $row = mysql_fetch_array($sql) ?> <form method=\"post\" enctype=\"text/plain\"> this for the user:<?php $row[\'name\'] //i\'m now sure its called name please make sure\' ?> <label for=\"tdanews\">the text:</label> <textarea id=\"tdanews\" name=\"tdanews\"> Posted: MacOS 1 of 1 people found this answer helpful. Did you? Yes No
that works & changes the admin field!,
how would i make it change all users field? ie the whole row rather than the users? would i need to change the WHERE? thanks Posted: rgby 1 of 1 people found this answer helpful. Did you? Yes No it change the admin because the $_SESSION['id'] is 1 and admin id is 1
to change any other try to work on $_SESSION['id'] this mean $_SESSION['id'] = the user who will change; and if you want to change any other user you should add this user id as a post value and change the code i have tried to alter 'id' to the other users id numbers but it still only updates the admin id. should i perhaps create another row eg update with the field value 'yes'
then on the syntax i change it to
"update members set tdanews='tdanews' where update='$update'" no just change the $id from $_SESSION['id'] to the user id great its working, how would i go about putting mutiple users into the id though? look at the new code
see first you have:
1- error in if (isset($_POST[\'newtdanews\']))it should be if (isset($_POST[\'tdanews\']))now try this code <?php session_start(); include_once \"connection.php\"; if (!isset($_SESSION[\'id\'])) { exit(\'Please <a href=\"login.php\">log in</a> to access your account\'); } // Place Session variable \'id\' into local variable $id = intval($_SESSION[\'id\']); // Process the form if it is submitted if (isset($_POST[\'tdanews\'])) { $tdanews = $_POST[\'tdanews\']; $query = \"UPDATE thedriving3 SET tdanews=\'$tdanews\' WHERE id=\'$id\'\"; $sql = mysql_query($query); if($sql){ echo \'Your account info has been updated, visitors to your profile will now see the new info.\'; }else{ echo \'error:\'.$query; } exit(); } // Query member data from the database and ready it for display $sql = mysql_query(\"SELECT * FROM members WHERE id=\'$id\' LIMIT 1\"); while($row = mysql_fetch_array($sql)){ $tdanews = $row[\"tdanews\"]; } ?> Posted: MacOS 2 of 2 people found this answer helpful. Did you? Yes No i still get an 'error' from the echo ok just try agian and if show error let me see the return query it now just comes with a blank page, could it be due to me asking where id=$id, could i change it to something else as surely id=$id will only change the admins field? ok: just let me see the out put of var_dump($_SESSION); and var_dump($_POST); im sorry, im unsure what that means? check the html please and try the code again to check with var_dump I GET THIS...
array(2) { ["id"]=> string(1) "1" } array(2) { ["tdanews"]=> string(14) " 1YTJGHNBGVC" }
|
© Advanced Web Core. All rights reserved