← PHP

[PHP] Uma pequena ajuda.

Lida 2706 vezes

Offline

IRONLORD 
Membro
Mensagens 4 Gostos 0
Troféus totais: 14
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Level 3 Level 2 Level 1 First Post Karma Sixth year Anniversary Fifth year Anniversary

Olá a todos,

Código: [Seleccione]
<?php

    
require("connection/model.php");
    
    @ 
$mysqli = new mysqli($host$username$password$db_name);
    if(
$mysqli ->connect_errno){
     
$code $mysqli ->connect_errno;
     
$message =$mysqli ->connect_error;
     
printf("<p>Connection error: %d %s</p>"$code$message);
    }
    
    
//Validação do ID no URL
     
if (isset($_GET['id']) && is_numeric($_GET['id']))
        {

    
$id=$_GET['id'];
    
//$id=7;
    //Executar a consulta

    
$stmt $mysqli -> prepare("SELECT * FROM applications WHERE ID=?");

    
$stmt -> bind_param("s",$id);
    
$stmt->execute();
    
$stmt->bind_result($id ,$nForum$nJogo$nome$idade$eJogo$eForum$p1$p2$date$hora$status);
    
$stmt->fetch();

    
$stmt->close();
    
$mysqli->close();
        }
        else
        
// if the 'id' variable isn't set, redirect the user
        
{
                
header("Location: appl_views.php");
        }
    
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Mostrar Candidatura</title>
<link rel="stylesheet" href="css/style.css" type="text/css" />
<link rel="stylesheet" href="connection/model.php" type="text/css" />
</head>
<body>
<div id="content">
    <div class="top_bar"> <a href="appl_views.php">** Candidaturas</a><span style="color:green"><a href="appl_review.php">** Em análise</a></span>        <span style="color:red"><a href="appl_rec.php">** Recusadas</a> </span>
    <a href="#">Sair do Painel de Administração</a></span></div>
    <div class="header"><img src="images/logo.png"/></div></div>
    <div id="extra">
    <div id="dados">
    <p align="left" id="pdados">Nick Fórum: <span><?php echo $nForum ?> </span></p></br>
    <p align="left" id="pdados">Nick Jogo: <span><?php echo $nJogo ?> </span></p></br>
    <p align="left" id="pdados">Nome: <span><?php echo $nome ?> </span></p></br>
    <p align="left" id="pdados">Idade: <span><?php echo $idade ?> </span></p></br>
    <p align="left" id="pdados">Experiência de Jogo: <span><?php echo $eJogo ?> </span></p></br>
    <p align="left" id="pdados">Experiência de Fórum: <span><?php echo $eForum ?> </span></p></br>
    <p align="left" id="pdados">Características de um Moderador: <span><?php echo $p1 ?> </span></p></br>
    <p align="left" id="pdados">Razão escolha a Moderador: <span><?php echo $p2 ?> </span></p></br>
    </div>
    <form class="reg-form" method='post'>
    <input type="button" name="Voltar" value="Voltar" onclick="location.href='appl_views.php'" /> &nbsp;&nbsp;&nbsp;&nbsp;
    <input type="submit" name="recusar" value="Recusar" /><input type="button" name="aceitar" value="Aceitar" />
    </form>
    </div>
    </br>
    <?php
    printf
('
    <div id="extra">
    <div id="dados">'
);    
    
$result getComments($id);    
    
printf('<table id="newspaper-a" border="0" align="center">');
        
printf('<tr><th>User</th>');
        for(
$i=0$i<count($result); $i++) {
        
$row=$result[$i];
        
printf('<tr>');
        
printf('<form action="%s" method="post">
            <td>%s</td>
            <td>%s</td>
            </form>'
,$_SERVER['PHP_SELF'],$row[0], $row[1]);
        
printf('</tr>');
            }
        
printf('</table>');
    
printf('</div>');
    
printf('</div>');
    
?>

    </br>
    <div id="extra">
    <form class="reg-form" method='post'>
    <label for="escolha">Avaliação da Candidatura</label>
    <textarea name="resposta" id="resposta" required></textarea>
    <div class="submit-button">
    <input type="submit" name="enviar" value="Enviar" />
    </div>
    </form>
    </div>
</div>
  <?php
  $campos
=0;
  
  if(isset(
$_POST['enviar'])){

  if (isset(
$_POST ['resposta'])){
   
$comment$_POST['resposta'];
      if(
$comment==''){
          
$fnResposta="<img src='images/errorM.png'/> Falta preencher o campo NickFórum!"."<br/>";}
      else{
          
$campos+=1;
          
$fnResposta="";}
    }
    
    
$nResposta$_POST['resposta'];
    
$date date("Y-m-d",strtotime("+0 day"));//Devolve a data de hoje
        
$id_cand=$id;
        if(
$campos==1){
        
//insert_comment($id_cand, $comment);}
        
        
$query2 "INSERT INTO comments (id_cand, comment) values (?,?)";                 
        
$stmt $mysqli ->prepare($query2);
        
$stmt -> bind_param ("ds"$id_cand$comment);
        if(!
$stmt ->execute()){
            
$code $stmt->errno
            
$message $stmt->error
                
printf('<p> Erro : %d %s</p>'$code$message);
                }
        else{
        echo 
"<div id='extra'>";
        echo 
"<p align='center'>Preenche todos os campos obrigatórios!</p>"."<br/>";
        if(
$fnResposta!=''){
            echo 
$fnResposta."<br/>";}
        echo 
"</div>";}
        }
    }
    
     if(isset(
$_POST['recusar'])){
        global 
$mysqli;
        
$id=$_GET['id'];
        
$query3 ="UPDATE applications SET status='3' WHERE id='".$id."'";
        
$result $mysqli->query($query3);
            
//affected_rows -> vai contar o numero de linhas afectadas
            
$sucess $mysqli->affected_rows;
            if (
$sucess==1){
                echo 
"Dados Alterados com sucesso";
            }else{
                echo 
"Não foi nada alterado";
            }
            
$mysqli->close();
      }
  
?>

</body>
</html>

Eu não vejo erros de sintaxe, mas nunca funciona o código :/ Ainda sou um pouco nobato no PHP, e não sei ao certo a razão dos erros que dá na descrição.
Também não sei ao certo se este é locado correcto para colocar um tópico destes, mas não custa nada tentar. Se poderem dar uma ajuda, agradecia : )

Offline

Bruno Gaspar 
Membro
Mensagens 242 Gostos 1
Feedback +3

Troféus totais: 18
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Poll Voter Level 3 Level 2 Level 1 100 Posts 50 Posts 10 Posts

Não olhei para o código todo, mas não vi assim nada de especial.

Mas tenta fazer só conexão à base de dados e faz uma query a uma tabela.

E não uses a "@" no "@ $mysqli = new mysqli(); " é feio.

Código: [Seleccione]
$mysqli = new mysqli("localhost", "user", "pass", "nome_bd");

if ($erro = $mysqli->connect_errno):
    printf("Erro ao conectar: %s\n", $erro);
    exit();
endif;

// depois faz aqui uma query para ver como corre
Offline

IRONLORD 
Membro
Mensagens 4 Gostos 0
Troféus totais: 14
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Level 3 Level 2 Level 1 First Post Karma Sixth year Anniversary Fifth year Anniversary

Boa noite Bruno Gaspar,

Consegui fazer a mesma query que dava erro onde me indicou.
Foi a seguinte:

Código: [Seleccione]
$query2 = "INSERT INTO comments (id_cand, comment) values (?,?)";
$stmt = $mysqli ->prepare($query2);
$stmt -> bind_param ("ds", $id_cand, $comment);
if(!$stmt ->execute()){
$code = $stmt->errno;
$message = $stmt->error;
printf('<p> Erro : %d %s</p>', $code, $message);
}

O que significa isso?
Offline

IRONLORD 
Membro
Mensagens 4 Gostos 0
Troféus totais: 14
Trófeus: (Ver todos)
Super Combination Combination Topic Starter Level 3 Level 2 Level 1 First Post Karma Sixth year Anniversary Fifth year Anniversary

Já descobri o erro.

Obrigado a todos ; )