Ir para conteúdo
Fórum Script Brasil

Joao Domingues

Membros
  • Total de itens

    18
  • Registro em

  • Última visita

Tudo que Joao Domingues postou

  1. Continua a não guardar... Penso que o erro agora esteja na database porque quando eu coloquei $stmt->bind_param($DadosIMC['Data'], $DadosIMC['Peso'], $DadosIMC['Altura'], $DadosIMC['Resultado'], $DadosIMC['utilizador_ID']); isto parou de gravar os dados.
  2. 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 = ""; } ?>
  3. <?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.
  4. Já estava escrito. <?php session_start(); require_once('inc/usermanager.php');?> <?php require_once('inc/database.php');?>
  5. Tive que tirar var_dump do InserirDados($DadosIMC) senão o site não abria. E apareceu esta mensagem no site: array(5) { ["Data"]=> string(10) "2016-10-18" ["Peso"]=> string(2) "60" ["Altura"]=> string(4) "1.75" ["Resultado"]=> string(5) "19,59" ["utilizador_ID"]=> int(1) }
  6. 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.
  7. 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.
  8. Não aparece nenhuma mensagem de erro mas os dados não estao a guardar na página Conta.php.
  9. não estou esquecendo isso. $DadosIMC = array("Data" => $Data, "Peso" => $Peso, "Altura" => $Altura, "Resultado" => $Resultado, "utilizador_ID" = >$_SESSION['User_ID']); InserirDados($DadosIMC);
  10. Se colocar este pedaço de código, o site não abre (não funciona) "utilizador_ID" = >$_SESSION['User_ID']);
  11. 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.
  12. 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.
  13. 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; } ?>
  14. 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; }
×
×
  • Criar Novo...