Ver Mensaje Individual
  #12 (permalink)  
Antiguo 22/08/2013, 12:38
skirlappa
 
Fecha de Ingreso: junio-2005
Mensajes: 107
Antigüedad: 19 años, 8 meses
Puntos: 0
Respuesta: UPDATE me ejecuta dos veces

Hola

He dado con la linea que da el fallo

Código PHP:
Ver original
  1. <?php
  2. //Verificamos que el user esté logueado
  3. include('conexion.php');
  4. // Configura los datos de tu cuenta
  5. include('db.php');
  6. // Conectar a la base de datos
  7. mysql_connect ($dbhost, $dbusername, $dbuserpass);
  8. mysql_select_db($dbname) or die('No se puede seleccionar la base de datos');
  9. ?>
  10.  
  11.     <!-- header starts here -->
  12.     <div id="header"><div id="header-content"> 
  13.         <h1 id="logo-text"><a href="<?echo BASE_PATH;?>" title=""><img src="<?echo BASE_PATH;?>images/logodentro.png"/></a></h1>   
  14.         <h2 id="slogan">Formando a compañeros...</h2>      
  15.         <div id="header-links">
  16.             <p>
  17.             <?php
  18.             $sacaTps1=mysql_query("SELECT * FROM user WHERE id='".$_SESSION['id']."'");
  19.             $tps1=mysql_fetch_array($sacaTps1);
  20.             ?>
  21.                 <?php echo $_SESSION["s_username"]; ?> |
  22.                 <?php
  23.                 if( $_SESSION["admin"]=="SI")
  24.                 {
  25.                     ?><a href=<?echo BASE_PATH;?>admin/>Admin </a> |<?
  26.                 }
  27.                 if( @$_SESSION["root"]=="SI")
  28.                 {
  29.                     ?><a href=<?echo BASE_PATH;?>root/>Moderador </a> |<?
  30.                 }
  31.                 if( $tps1["oro"]<=0)
  32.                 {
  33.                     ?><a href=<?echo BASE_PATH;?>infocuentas.php>Usuario</a><?
  34.                 }
  35.                 else
  36.                 {
  37.                      ?><a href=<?echo BASE_PATH;?>infocuentas.php>Premium(<?echo $tps1["oro"];?>)</a><?
  38.                 }
  39.                 ?> |
  40.                
  41.                 <?php
  42.                 //Sacos cuantos mps nuevo tiene el usuario
  43.                 $cuentaMP=mysql_query("SELECT control FROM mps WHERE iddestinatario='".$_SESSION['id']."' AND control=0");
  44.                 $impremetodoslosMP=mysql_num_rows($cuentaMP);?>
  45.                 <a href="<?echo BASE_PATH;?>listmp.php">MP(<?php echo $impremetodoslosMP;?>)</a>|
  46.                 <a href="<?echo BASE_PATH;?>compratps.php"><?php echo $tps1["tps"];?> TPs</a>|
  47.                 <a href="<?echo BASE_PATH;?>session/cerrar.php">Cerrar sesi&oacute;n</a>           
  48.             </p>   
  49.                     <center>
  50. <iframe src="<?echo BASE_PATH;?>publi/banner.php" width="468"  height="60"  scrolling="no" frameborder="0" marginheight="0"  marginwidth="0" vspace="0" hspace="0"><br><font size=-1></iframe>
  51. </center>  
  52. <?php
  53.                 //Si tiene mas de un mp y no ha sido avisado ya imprimimos en pantalla el aviso
  54.                 $buscaAviso=mysql_query("SELECT iduser FROM avisosmp WHERE iduser='".$_SESSION['id']."'");
  55.                 $impAviso = mysql_num_rows($buscaAviso);
  56.                 if($impremetodoslosMP>0 && $impAviso==0)
  57.                 {
  58.                     //Guardamos el aviso
  59.                     if($impAviso==0)
  60.                     {
  61.                     mysql_query("INSERT INTO avisosmp (iduser) VALUES ('".$_SESSION['id']."')");
  62.                     }
  63.                  ?>
  64.                  <div id='ventana-flotante'>
  65.    <a class='cerrar' href='javascript:void(0);' onclick='document.getElementById(&apos;ventana-flotante&apos;).className = &apos;oculto&apos;'>x</a>
  66.    <div id='contenedor'>
  67.        <div class='contenido'>
  68. Tienes un nuevo MP
  69.        </div>
  70.    </div>
  71. </div>
  72.                  <?php
  73.                  include('css/1.css');
  74.                 }
  75.                 ?>
  76.       </div>   
  77.    
  78.     </div></div>
  79.    
  80.     <!-- navigation starts here -->
  81.     <div id="nav-wrap"><div id="nav">
  82.        
  83.         <ul><li><a href="<?php echo BASE_PATH;?>index.php">Noticias</a></li>
  84.             <li><a href="<?php echo BASE_PATH;?>repaso.php">Repaso</a></li>
  85.             <li><a href="<?php echo BASE_PATH;?>cpanel.php">Panel Control</a></li>
  86.             <li><a href="<?php echo BASE_PATH;?>estadisticas.php">Mis resultados</a></li>
  87.             <?php
  88.             //Comprobamos si el usuario es publicista
  89.             if($tps1["publi"]=="si")
  90.             {
  91.                 ?>
  92.                 <li><a href="<?php echo BASE_PATH;?>publi/index.php">Publicidad</a></li>
  93.                 <?php
  94.             }
  95.             ?>         
  96.             <li><a href="<?php echo BASE_PATH;?>compratps.php">¡COMPRAR TPS!</a></li>
  97.         </ul></div></div>
  98. <?php
  99. include ('menu.php');
  100. //Sacamos la variable de los test posibles a realizae
  101. $sacaCuantoTest=mysql_query("SELECT test FROM control WHERE id=1");
  102. $imprimeCuantoTest=mysql_fetch_array($sacaCuantoTest);
  103. //Sacamos el valor para hacer este test
  104. $sacaValorTest=mysql_query("SELECT tps, user FROM test WHERE id='".$_GET['id']."'");
  105. $imprimeValorTest=mysql_fetch_array($sacaValorTest);
  106.     //Comprobamos si es de pago, si lo es se cobra, si no tiene saldo se prohibe hacerlo+
  107.     //Sacamos los impuestos y lo subirmos
  108.         $sacaIva=mysql_query("SELECT recargo FROM control WHERE id=1");
  109.         $impIva=mysql_fetch_array($sacaIva);
  110.         $recargo="1.".$impIva[0];
  111.         $iva=ceil($imprimeValorTest['tps']*$recargo);
  112.     if($tps1['tps']>=$iva)
  113.     {
  114.         //Debemos dividir entre dos el iva porque no se sabe ejecuta dos veces
  115.         $iva=$iva/2;
  116.         $quita=$tps1['tps']-$iva;
  117.         mysql_query("UPDATE user SET tps='$quita' WHERE id='".$_SESSION['id']."'");
  118.         mysql_query("INSERT user (nick) VALUES ('Hola')")or die(mysql_error());
  119.         //Subimos el dinero a la cuenta del editor
  120.         $suma=$imprimeValorTest['tps']/2;
  121.         mysql_query("UPDATE user SET tps=tps+'$suma' WHERE id='".$imprimeValorTest['user']."' ");
  122.     }
  123.     else

Si editamos la linea

Código PHP:
            $sacaTps1=mysql_query("SELECT * FROM user WHERE id='".$_SESSION['id']."'");
            
//$tps1=mysql_fetch_array($sacaTps1); 
La consulta se hace correctamente, pero tambien tengo que ejecutar esa consulta para que todo funcione correctamente, alguna idea de donde está el fallo?