Jump to content


TiagoMaker

Member Since 03/03/2008
Offline Last Active 22/07/2013, 18:18
-----

Topics I've Started

Select Em 2 Tabelas

22/07/2013, 17:42

Dae galera, na consulta abaixo estou trazendo do banco os clubes cadastrados e as partidas de cada um com seus dados, até aí consegui fazer dessa forma, mas pra ficar realmente bom, teria que ordenar pelo time com mais pontos e depois pelo número de vitórias, empates e derrotas... Só que a consulta que poderia dar esse retorno é feita no while da consulta principal. Vocês teriam alguma dica pra simplificar e poder fazer essa ordenação?

<?php
	$sql_c = mysql_query("SELECT * FROM clubes");
	while($c = mysql_fetch_array($sql_c)){
		$sql_cc = mysql_query("SELECT id, id_clube, SUM(vitoria) as vitorias, SUM(empate) as empates, SUM(derrota) as derrotas, SUM(golspro) as golspro, SUM(golscontra) as golscontra FROM classificacao WHERE id_clube = '".$c[id]."'");
		$jogos = mysql_num_rows(mysql_query("SELECT * FROM classificacao WHERE id_clube = '".$c[id]."'"));
		$cc = mysql_fetch_array($sql_cc);
 
			$pontos = $cc[vitorias]*3;
			$pontos_final = $pontos+$cc[empates];
			$vitorias = $cc[vitorias];
			$empates = $cc[empates];
			$derrotas = $cc[derrotas];
			$gp = $cc[golspro];
			$gc = $cc[golscontra];
			$sg = $cc[golspro]-$cc[golscontra];		
?>

Segurança Da Sessão

28/11/2012, 22:50

Dae galera! Estou fazendo um sistema de classificados, onde todos usuários irão acessar as mesmas páginas usando logins diferentes para cadastrar e alterar os anúncios.. Estou usando session para os logins porém sempre tem aquela de alterar os ids pra "pegar" conteúdo de outros usuários. uso comparação de sessão pelo usuário do cadastro para validar cada operação e ainda filtro nas querys. Vou postar um exemplo, se pudesse me dizer se está relativamente seguro ou se teria uma maneira mais fácil de fazer.

<?php
        require_once("includes/restringir.php");
        //error_reporting(0);
?>
<script type="text/javascript">
$(document).ready(function() {
      $('#arquivos').uploadify({
        'swf'         : 'includes/uploadify/uploadify.swf',
        'uploader'    : 'includes/uploadify/uploadify_produtos.php',
        'cancelImg'   : 'includes/uploadify/cancel.png',
                'buttonText'  : 'ADICIONAR IMAGENS',
                'width'       : 150,
                'method'      : 'get',
        'formData'    : { 'nome' : '<?php echo $_GET[codigo]; ?>', 'nome1' : '<?php echo $_GET[editar_produto]; ?>' },
                'onQueueComplete' : function(queueData) {
            alert(queueData.uploadsSuccessful + ' fotos foram enviadas com sucesso!');
        }
      });
    });
</script>
<script type="text/javascript">
    $(document).ready(function(){
        $('#form1').validate({
            rules:{
                nome:{
                    required: true
                },
                                preço:{
                    required: true,
                },
                                descricao:{
                    required: true,
                },
            },
            messages:{
                nome:{
                    required: ""
                },
                                preço:{
                    required: ""
                },
                                descricao:{
                    required: ""
                },
            },

        });
    });
</script>
<?php
        if($_GET[passo] == '2'){
                
                $sql = "SELECT * FROM produtos WHERE usuario = '".$_SESSION[email]."' AND codigo = ".anti_injection($_GET[codigo]);
        $select = mysql_query($sql);
        $dados1 = mysql_fetch_array($select);
$usuario = $dados1[usuario];
$sessao = $_SESSION[email];
if ($usuario == $sessao){
?>
<form id="form2" action="valida.php" method="post" name="cadastro" enctype="multipart/form-data" onsubmit="return confirmar()">
<table width="700" border="0" align="center" cellpadding="4" cellspacing="4">
<tr><td height="60" colspan="2" valign="middle">
Selecione várias fotos de uma só vez, mantendo a tecla CTRL pressionada. Aguarde até que todas fotos sejam enviadas para concluir.
</td></tr>
<tr>
    <td height="40" align="right" valign="middle"><strong>FOTOS:</strong></td>
    <td align="left" valign="middle">
  <input id="arquivos" name="arquivos" type="file" /> <input id="nome" name="nome" type="hidden" value="<?php echo $_GET[galeria]; ?>" />
    </td>
  </tr>
    <tr>
    <td height="30" colspan="2" align="center"><input id="bt" type="submit" name="bt" value="CONCLUIR" /></td>
  </tr>
  </table>
</form>

<?php } }else if ($_GET[passo] == '1') { ?>
<form id="form1" action="valida.php" method="post" name="cadastro" enctype="multipart/form-data" onsubmit="return confirmar()">
<table width="600" border="0" align="center" cellpadding="2" cellspacing="4">
  <tr>
    <td height="35" colspan="2" align="center"><b>CADASTRO DE PRODUTOS</b></td>
  <tr>
    <td height="25" colspan="4" align="left">* S&atilde;o campos obrigat&oacute;rios</td>
  </tr>
  <tr>
    <td width="182" align="right">PRODUTO:</td>
    <td width="398" align="left"><input name="nome" type="text" size="40" maxlength="50" value="<?php echo $dados1[nome]?>" />
    *
    </td>
  </tr>
  <tr>
    <td align="right">PRE&Ccedil;O: </td>
    <td align="left"><input name="preço" type="text" size="15" maxlength="15" value="<?php echo $dados1[preço]?>" /> 
    * EX.: 47,65</td>
  </tr>
    <tr>
    <td align="right">DESCRI&Ccedil;&Atilde;O: </td>
    <td align="left" valign="top"><textarea name="descricao" id="descricao" cols="40" rows="10"><?php echo $dados1[descricao]?></textarea>
    *
    </td>
  </tr>
  <tr>
    <td height="40" valign="bottom" align="center" colspan="2">
<input id="produto_cad" type="submit" name="produto_cad" value="PRÓXIMO PASSO" style="cursor:pointer;" /></td>
  </tr>
</table>
  <input id="codigo" type="hidden" name="codigo" value="<?php echo rand(0,9999999999);?>" />
  <input id="usuario" type="hidden" name="usuario" value="<?php echo $_SESSION[email];?>" />
</form>
<?php } ?>
<?php if($_GET[editar_produto] > ''){
                $sql = "SELECT * FROM produtos WHERE usuario = '".$_SESSION[email]."' AND codigo = '".$_GET[editar_produto]."' or codigo = '".$_GET[editar_produto]."'";
        $query = mysql_query($sql);
        $dados = mysql_fetch_array($query);
        if($dados[usuario] == $_SESSION[email]){
                
        if($_GET[deletar_foto] > ''){

$sql2 = "SELECT * FROM fotos WHERE galeria = '".$_GET[editar_produto]."' AND id_galerias = '".$_GET[deletar_foto]."'";
$query2 = mysql_query($sql2);
$dados2 = mysql_fetch_array($query2);
$url = "../imagens/produtos/$dados2[galeria]/$dados2[foto]";
unlink($url);

$sql = "DELETE FROM fotos WHERE galeria = '".$_GET[editar_produto]."' AND id_galerias = '".$_GET[deletar_foto]."'";
$query = mysql_query($sql);
}
?>
        <form id="form1" action="valida.php" method="post" name="cadastro" enctype="multipart/form-data" onsubmit="return confirmar()">
<table width="600" border="0" align="center" cellpadding="2" cellspacing="4">
<tr>
        <td colspan="2" align="left"><p align="center">CLIQUE NA FOTO PARA REMOVER</p><br />
        <?php
                $sql1 = "SELECT * FROM fotos WHERE galeria = '".$_GET[editar_produto]."' ORDER BY rand()";
                $query1 = mysql_query($sql1);
                while($dados1 = mysql_fetch_array($query1)){
?><a href="?pag=produtos&editar_produto=<?php echo $_GET[editar_produto]; ?>&deletar_foto=<?php echo $dados1[id_galerias]; ?>">
        <img src="../imagens/produtos/<?php echo $dados1[galeria]; ?>/<?php echo $dados1[foto]; ?>" width="99" height="75" border="0" class="thumbs" onclick="return confirmar()" /></a><?php } ?>

</td>
<tr><td height="60" colspan="2" valign="middle">
Selecione várias fotos de uma só vez, mantendo a tecla CTRL pressionada. Aguarde até que todas fotos sejam enviadas para concluir.
</td></tr>
  <tr>
    <td height="40" align="right" valign="middle"><strong>FOTOS:</strong></td>
    <td align="left" valign="middle">
  <input id="arquivos" name="arquivos" type="file" />
    </td>
  </tr>
<tr>
  </tr>
    <td height="25" colspan="4" align="left">* S&atilde;o campos obrigat&oacute;rios</td>
  </tr>
  <tr>
    <td width="182" align="right">PRODUTO:</td>
    <td width="398" align="left"><input name="nome" type="text" size="40" maxlength="50" value="<?php echo $dados[nome]?>" />
    *
    </td>
  </tr>
  <tr>
    <td align="right">PRE&Ccedil;O: </td>
    <td align="left"><input name="preço" type="text" size="15" maxlength="15" value="<?php echo $dados[preço]?>" /> 
    * EX.: 47,65</td>
  </tr>
    <tr>
    <td align="right">DESCRI&Ccedil;&Atilde;O: </td>
    <td align="left" valign="top"><textarea name="descricao" id="descricao" cols="40" rows="10"><?php echo $dados[descricao]?></textarea>
    *
    </td>
  </tr>
  <tr>
    <td height="30" colspan="2" align="center"><input id="bt" type="submit" name="bt" value="ALTERAR PRODUTO" /> <input id="bt" type="submit" name="bt" value="EXCLUIR PRODUTO" /> <input name="codigo" type="hidden" id="codigo" value="<?php echo $dados[id_produtos]; ?>" /> <input name="usuario" type="hidden" id="usuario" value="<?php echo $_SESSION[email]; ?>" /> <input name="produto" type="hidden" id="produto" value="<?php echo $_GET[editar_produto]; ?>" />
</td></tr>
</table>
</form>
<?php } } ?>

IPB Skin By Virteq