Quantcast
Channel: Tópicos
Viewing all articles
Browse latest Browse all 11336

Problema com base de dados

$
0
0
Nao é isso a minha duvida, vou colocar codigo e imagens para ser mais fácil entender. Tenho um formulário de IMC (http://prnt.sc/cqqr7j) que quero guardar os dados inseridos nele para a página Conta.php (http://prnt.sc/cqqrdl) mas esta página da Conta.php só aparece se o utilizador criar uma conta no site, o problema é que os dados do formulário estao a ser guardados na página da Conta.php mas esta a guardar os dados para todos os utilizadores e só devia guardar no respetivo utilizador. Por exemplo tenho um utilizador Joao e outro Rita, ambos criam conta no site e entram nas mesmas, preenchem o formulário do IMC e os dados que cada um preencheu deve ir na sua Conta.php e o meu problema é esse, ele esta a guardar todos os dados inseridos no formulário e guarda para todos os utilizadores e eu só quero que guarde para o utilizador que a preencheu. Código Index.php (Onde está o formulário do IMC): <?php if ($_SERVER['REQUEST_METHOD'] == 'GET') { if (!empty($_GET['Peso']) && !empty($_GET['Altura'])) { $css = ''; $Peso = $_GET['Peso']; $Altura = $_GET['Altura']; $Data = date_default_timezone_set('Europe/Lisbon'); $Resultado = $Peso / ($Altura * $Altura); $Resultado = number_format($Resultado, 2, ',', '.'); if (isset($_SESSION['User_ID'])) { $Data = date("Y-m-d"); $DadosIMC = array("Data" => $Data, "Peso" => $Peso, "Altura" => $Altura, "Resultado" => $Resultado); InserirDados($DadosIMC); } } } ?> Código Database.php (Onde guardo os dados do formulário): <?php function InserirDados($DadosIMC) { // Inicializar uma vari�vel que sinaliza o sucesso ou insucesso da opera��o $sucesso = False; // Criar a liga��o $mysqli = new mysqli(DB_SERVER, DB_USER, DB_PASSWORD, DB_NAME); // Verificar se a liga��o foi efetuada com sucesso if (!$mysqli->connect_error) { // IMPORTANTE: Antes de interagir com a base de dados, estabelecer o character set. $mysqli->set_charset("utf8"); // Preparar a query if ($stmt = $mysqli->prepare("INSERT INTO imc (Data, Peso, Altura, Resultado) VALUES (?, ?, ?, ?)")) { $stmt->bind_param('ssss', $DadosIMC['Data'], $DadosIMC['Peso'], $DadosIMC['Altura'], $DadosIMC['Resultado']); // Executar a query e verificar que n�o retornou FALSE if ($stmt->execute()) { // A opera��o foi executada com sucesso $sucesso = True; } $stmt->close(); } // Terminar a liga��o $mysqli->close(); } return $sucesso; } function GetResultado($ID) { // Declarar e inicializar a vari�vel que ir� conter os dados $registo = NULL; // Criar a liga��o $mysqli = new mysqli(DB_SERVER, DB_USER, DB_PASSWORD, DB_NAME); // Verificar se a liga��o foi efetuada com sucesso if (!$mysqli->connect_error) { // IMPORTANTE: Antes de interagir com a base de dados, estabelecer o character set. $mysqli->set_charset("utf8"); // Preparar a query if ($stmt = $mysqli->prepare("SELECT * FROM imc WHERE ID = ?")) { $stmt->bind_param('i', $ID); // Executar a query e verificar que n�o retornou FALSE if ($stmt->execute()) { $result = $stmt->get_result(); // Verificar o n�mero de registos devolvidos if ($result->num_rows > 0) { $registo = $result->fetch_array(); $result->free(); } } $stmt->close(); } // Terminar a liga��o $mysqli->close(); } return $registo; } function GetResultados() { // Declarar e inicializar a vari�vel que ir� conter os dados $registos = NULL; // Criar a liga��o $mysqli = new mysqli(DB_SERVER, DB_USER, DB_PASSWORD, DB_NAME); // Verificar se a liga��o foi efetuada com sucesso if (!$mysqli->connect_error) { // IMPORTANTE: Antes de interagir com a base de dados, estabelecer o character set. $mysqli->set_charset("utf8"); // Preparar a query if ($stmt = $mysqli->prepare("SELECT ID, Data, Peso, Altura, Resultado FROM imc")) { // Executar a query e verificar que n�o retornou FALSE if ($stmt->execute()) { $result = $stmt->get_result(); // Colocar os dados obtidos na vari�vel $registos, em formato array associativo $registos = $result->fetch_all(MYSQLI_ASSOC); $result->free(); } $stmt->close(); } // Terminar a liga��o $mysqli->close(); } // Retornar os dados return $registos; } function EliminarResultado($ID) { // Inicializar uma vari�vel que sinaliza o sucesso ou insucesso da opera��o $sucesso = False; // Criar a liga��o $mysqli = new mysqli(DB_SERVER, DB_USER, DB_PASSWORD, DB_NAME); // Verificar se a liga��o foi efetuada com sucesso if (!$mysqli->connect_error) { // Preparar a query if ($stmt = $mysqli->prepare("DELETE FROM imc WHERE ID = ?")) { $stmt->bind_param('i', $ID); // Executar a query e verificar que n�o retornou FALSE if ($stmt->execute()) { // A opera��o foi executada com sucesso $sucesso = True; } $stmt->close(); } // Terminar a liga��o $mysqli->close(); } return $sucesso; } ?>

Viewing all articles
Browse latest Browse all 11336

Trending Articles