
Joao Domingues
Membros-
Total de itens
18 -
Registro em
-
Última visita
Tudo que Joao Domingues postou
-
Esta a guardar bem o ID, eu criei várias contas e todas elas mostravam bem o ID debaixo do cabeçalho (header) do site. Agora só preciso guardar o ID quando estiver a preencher o formulário. <?php if (isset($_SESSION['User_ID'])) { $ID = var_dump($_SESSION['User_ID']); $NomeUtilizador = Usermanager::GetNomeUtilizador($ID); } if (!isset($NomeUtilizador)) { $NomeUtilizador = ""; } ?>
-
<?php if (isset($_SESSION['User_ID'])) { $ID = var_dump($_SESSION['User_ID']); $NomeUtilizador = Usermanager::GetNomeUtilizador($ID); } if (!isset($NomeUtilizador)) { $NomeUtilizador = ""; } ?> Assim? Se for assim aparece int(1) debaixo do cabeçalho do site, que corresponde ao que esta na base de dados. Agora era só guardar os dados do formulário nesse ID.
-
Código Index.php: if (isset($_SESSION['User_ID'])) { $Data = date("Y-m-d"); $DadosIMC = array("Data" => $Data, "Peso" => $Peso, "Altura" => $Altura, "Resultado" => $Resultado, "utilizador_ID" => $_SESSION['User_ID']); echo InserirDados($DadosIMC); InserirDados($DadosIMC); } Assim? Não acontece nada.
-
Não tenho nenhuma pasta chamada php.idi ou uma pasta que diga a origem dos erros. Eu criei o site no xampp e eu é que hosteava o site, agora passei para o host online gratuito e comecei a deparar com algumas melhorias que devia fazer no site, uma delas era esta que era um erro grave depois tinha mais dois erros com o email na criação de um novo utilizador.
-
Funçao InserirDados: 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, utilizador_ID) VALUES (?, ?, ?, ?, ?)")) { $stmt->bind_param('sssss', $DadosIMC['Data'], $DadosIMC['Peso'], $DadosIMC['Altura'], $DadosIMC['Resultado'], $DadosIMC['utilizador_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; } Tive que a acrescentar $DadosIMC['utilizador_ID'] porque não estava a guardar os dados, nesta linha de código $stmt->bind_param('sssss', $DadosIMC['Data'], $DadosIMC['Peso'], $DadosIMC['Altura'], $DadosIMC['Resultado']). Mas continua a não dar.
-
Fiz as alteraçoes que dizeste e continua na mesma. Código da funçao GetResultado: 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 ID, Data, Peso, Altura, Resultado FROM imc WHERE utilizador= ?")) { $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; } PS: Segue uma fotografia da base de dados.
-
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; } ?>
-
Boa tarde, eu queria verificar o formato do email. Gostava que fosse um email válido e existente. Código Página de Inscrição: <?php if ($_SERVER['REQUEST_METHOD'] == 'POST') { $Validacao = True; // Verificar que os campos obrigatórios estão preenchidos // Campo Nome if (empty($_POST['Nome'])) { $ErroNome = "<strong>Preenchimento obrigatório</strong>"; $Validacao = False; } // Campo Email if (empty($_POST['Email'])) { $ErroEmail = "<strong>Preenchimento obrigatório</strong>"; $Validacao = False; } // Campo Password if (empty($_POST['Password'])) { $ErroPassword = "<strong>Preenchimento obrigatório</strong>"; $Validacao = False; } // Confirmar a Password if (empty($_POST['Confirmar_Password'])) { $ErroConfirmar_Password = "Preenchimento obrigatório"; $Validacao = False; } if ($_POST['Password'] != $_POST['Confirmar_Password']) { $ErroConfirmar_Password = "<strong>Password deve ser igual</strong>"; $Validacao = False; } // Atribuir os dados do formulário a um array e, ao mesmo tempo, retirar carateres perigosos $utilizador = array('Nome' => strip_tags(trim($_POST['Nome'])), 'Email' => strip_tags(trim($_POST['Email'])), 'Password' => strip_tags(trim($_POST['Password']))); // Se não ocorreram erros de validação, criar o novo utilizador if ($Validacao) { if (UserManager::CriarUtilizador($utilizador)) { // Redirecionar para a página inicial header('Location: Obrigado.php'); } else { echo "<div class='alert alert-danger' role='alert'><span class='glyphicon glyphicon-remove'></span> <strong>Ocorreu um erro ao tentar criar o novo utilizador!</strong></div>"; } } } ?> <div class="container"> <h1><strong><font color="#FFFFFF">Inscrição</font></strong></h1> </div> <br /> <div class="container"> <form name="DadosUtilizador" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST" class="form-horizontal" role="form"> <!-- Nome (campo obrigatório) --> <div class="form-group <?php if (!empty($ErroNome)) { ?>has-error<?php } ?>"> <label for="Nome" class="col-sm-2 control-label"><font color="#FFFFFF">Nome</font> <span style='color:#ff0000'>*</span></label> <div class="col-sm-10"> <input type="text" name="Nome" value="<?php if (!empty($_POST['Nome'])) echo $_POST['Nome']; ?>" maxlength="50" class="form-control" placeholder="Nome" autofocus /> <?php if (!empty($ErroNome)) { ?> <span class="help-block small" style="color:#ff0000"><?php echo $ErroNome; ?></span> <?php } ?> </div> </div> <!-- Email (campo obrigatório) --> <div class="form-group <?php if (!empty($ErroEmail)) { ?>has-error<?php } ?>"> <label for="Email" class="col-sm-2 control-label"><font color="#FFFFFF">Email</font> <span style='color:#ff0000'>*</span></label> <div class="col-sm-10"> <input type="text" name="Email" value="<?php if (!empty($_POST['Email'])) echo $_POST['Email']; ?>" maxlength="100" class="form-control" placeholder="Email" /> <?php if (!empty($ErroEmail)) { ?> <span class="help-block small" style="color:#ff0000"><?php echo $ErroEmail; ?></span> <?php } ?> </div> </div> <!-- Password (campo obrigatório) --> <div class="form-group <?php if (!empty($ErroPassword)) { ?>has-error<?php } ?>"> <label for="Password" class="col-sm-2 control-label"><font color="#FFFFFF">Password</font> <span style='color:#ff0000'>*</span></label> <div class="col-sm-10"> <input type="password" name="Password" value="<?php if (!empty($_POST['Password'])) echo $_POST['Password']; ?>" maxlength="100" class="form-control" placeholder="Password" /> <?php if (!empty($ErroPassword)) { ?> <span class="help-block small" style="color:#ff0000"><?php echo $ErroPassword; ?></span> <?php } ?> </div> </div> <!-- Confirmar Password (campo obrigatório) --> <div class="form-group <?php if (!empty($ErroConfirmar_Password)) { ?>has-error<?php } ?>"> <label for="Confirmar_Password" class="col-sm-2 control-label"><font color="#FFFFFF">Confirmar Password</font> <span style='color:#ff0000'>*</span></label> <div class="col-sm-10"> <input type="password" name="Confirmar_Password" value="<?php if (!empty($_POST['Confirmar_Password'])) echo $_POST['Confirmar_Password']; ?>" maxlength="100" class="form-control" placeholder="Confirmar Password" /> <?php if (!empty($ErroConfirmar_Password)) { ?> <span class="help-block small" style="color:#ff0000"><?php echo $ErroConfirmar_Password; ?></span> <?php } ?> </div> </div> <div class="form-group"> <div class="col-sm-offset-2 col-sm-10"> <p class="small"><strong><font color="#FFFFFF">Campos assinalados com</font> <span style='color:#ff0000'>*</span> <font color="#FFFFFF">são obrigatórios</font></strong></p> <button type="submit" class="btn btn-success">Criar</button> <a class="btn btn-danger" href="index.php">Cancelar</a> </div> </div> </form> </div> Código UserManager: public static function CriarUtilizador($utilizador) { $hash = ""; // Inicializar uma variável que sinaliza o sucesso ou insucesso da operação $sucesso = False; // Criar a ligação $mysqli = new mysqli(self:: $DB_Server, self::$DB_User, self::$DB_Password, self::$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 utilizador (Nome, Email, Password) VALUES (?, ?, ?)")) { // Codificar a password $hash = password_hash($utilizador['Password'], PASSWORD_DEFAULT); $stmt->bind_param('sss', $utilizador['Nome'], $utilizador['Email'],$hash); // 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; }