Jump to content

Minhas encomendas e problema no registo(PAP)


Recommended Posts

Posted

Boas venho por este meio porque tenho uns problemas na minha pap , não estou a conseguir buscar dados de uma tabela porque me dá estes erros:

 Fatal error: Uncaught Error: Maximum function nesting level of '256' reached, aborting! in C:\xampp\htdocs\pap_salgado\MinhasEncomendas.php on line 1

 Error: Maximum function nesting level of '256' reached, aborting! in C:\xampp\htdocs\pap_salgado\MinhasEncomendas.php on line 1

Também após resolver este problema gostaria de poder mostrar a minha tabela com as encomendas do cliente consoante o codcliente , código das minhas encomendas:

<?php
include("minhasencomendas.php");

$consulta = "SELECT CodCliente FROM Encomendas ";
$conconsulta = $mysqli->query($consulta) or die ($mysqli->error);
?>
<html>
<head>
<meta charset= "utf8">
</head>
<body>
<table>
<tr>
<td>Teste1</td>
<td>Teste2</td>
<td>Teste3</td>
<td>Teste4</td>

</tr>
<?php while($dado = $conconsulta->fetch_array()){ ?>
<td><?php echo $dado["CodEncomenda"]; ?></td>
<td><?php echo $dado["produto"]; ?>Teste2</td>
<td><?php echo $dado["Descricao"]; ?>Teste3</td>
<td><?php echo $dado["MetodoPagamento"]; ?>Teste4</td>
</tr>
<?php } ?>
</table>
</body>
</html>

 

Além de este problema que  estou a ter ,também estou a ter outro que é quando faço um registo tudo o que tem acentos e ç tem este problema , isto só acontece no registo de cliente visto que resolvi o mesmo problema de registo de encomendas noutra página com este código ( mysqli_set_charset($conn, "utf8"); )

Mas como nesta página é por require e não conexão penso que está a dar problema por isso porque costumo fazer o codigo mysqli charset mas nao resulta aqui penso que é mesmo de chamar a conexao diferentemente mas aqui está o código da página:

<!DOCTYPE HTML>
<?php
session_start();
    require('conn/bd.php');
     $conn = mysqli_connect("localhost","root","","db_pap"); 
    //não funciona mysqli_set_charset($conn, "utf8");

    // Se os valores estiverem corretos introduz na base de dados //
    if (isset($_POST['username']) && isset($_POST['password'])){
        
        $username = trim($_POST['username']);
        $username = strip_tags($username);
        $username = htmlspecialchars($username);
        
        $nome = trim($_POST['nome']);
        $nome = strip_tags($nome);
        $nome = htmlspecialchars($nome);
        
        $password = trim($_POST['password']);
        $password = strip_tags($password);
        $password = htmlspecialchars($password);
        
        $telemovel = trim($_POST['telemovel']);
        $telemovel = strip_tags($telemovel);
        $telemovel = htmlspecialchars($telemovel);
        
        $morada = trim($_POST['morada']);
        $morada = strip_tags($morada);
        $morada = htmlspecialchars($morada);
        
        $email = trim($_POST['email']);
        $email = strip_tags($email);
        $email = htmlspecialchars($email);
        
        
        
        
        !$error = null;
        
        
        //teste limpa os erros e habilita os erros//
          $success = false;
  $errors = [];
            //teste utilizador//
  
  if (empty($username)) {
   $errors[] = "Por favor introduza o seu utilizador .";
  } else if (strlen($username) < 3) {
   $errors[] = "O seu nome de utilizador deverá conter pelo menos 3 caracteres.";
  }
  
  
    // Validação de password //
  if (empty($password)){
    $errors[] = "Por favor introduza uma password.";
  } else if(strlen($password) < 5) {
   $error = true;
   $errors[] = "A password deverá conter pelo menos 5 caracteres.";
  }
        
         
  // Validação de email basica //
  if ( !filter_var($email,FILTER_VALIDATE_EMAIL) ) {
   $errors[] = "Por favor introduza um e-mail válido.";
  } else {
   // Verificar se o email já é existente //
   $query = "SELECT Email FROM clientes WHERE Email='$email'";
   $result = mysqli_query($connection,$query);
   $count = mysqli_num_rows($result);
   if($count!=0){
    $errors[] = "O e-mail que introduziu já está em uso.";
   }
  }

        
        
        
  // Validação de nome basica //

  if (empty($nome)) {
   $errors[] = "Por favor introduza o seu nome completo.";
  } else if (strlen($nome) < 3) {
   $errors[] = "O nome deverá ter pelo menos 3 caracteres.";
  }
  
   
  //teste morada//
  
  if (empty($morada)) {
   $errors[] = "Por favor introduza a sua morada .";
  } else if (strlen($morada) < 3) {
   $errors[] = "Preencha a morada corretamente.";
  } 
  
  
 
  
  //teste telemovel //
   if (empty($telemovel)){
    $errors[] = "Por favor introduza o seu número de telémovel.";
  } else if(strlen($telemovel) < 9) {
   $error = true;
   $errors[] = "O telemovel deverá conter 9 dígitos.";
  }
  
 
  
  // Query //
    
        if( !count($errors) ) {
        $query = "INSERT INTO `clientes` (Nome, Morada, Telemovel, Email, Username, Password) VALUES ('$nome','$morada','$telemovel','$email','$username','$password')";
        $result = mysqli_query($connection, $query);
        // não funciona mysqli_set_charset($connection, "utf8"); 
        if($result){
            $success = true;
            $errors[] = "Utilizador registado com sucesso.";
        }else{
            $errors[] ="O registo falhou.";
        }
        }
    }
    
    //dropdown utilizadores logados
    function AddForLoggedInUsers(){

        if(!empty($_SESSION['Username']) ) { 
           $htm = '
            <div class="dropdown">
           <button2 href="#" class="dropdown-toggle" data-toggle="dropdown-menu" role="button" aria-haspopup="true" aria-expanded="false"><span class="fa fa-user-circle"></span> '. $_SESSION['Username'] .'</button2>
           <div class="dropdown-content">
            <a href="#"><span class="fa fa-shopping-cart"></span> Minhas Encomendas</a>
            
            <a href="login.php?link=sair"><span class="fa fa-sign-out"></span> Sair da Conta</a>
            </div>
            </div>    
            ';
        }else{
            $htm = '<a href="login.php" data-target="login.php" id="loginbtn"><span class="fa fa-user-circle"></span> Login</a>';
        }

        return $htm;
    }
    
?>

Basicamente o que eu queria era as encomendas a ir buscar o codcliente e mostrar as encomendas consoante o codcliente e quando faço um registo que os acentos e ç funcionem (Está UTF-8 na database)

Obrigado pela ajuda !

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.