PHP - Ayuda con este codigo por favor.

   
Vista:

Ayuda con este codigo por favor.

Publicado por sergioMM (8 intervenciones) el 17/02/2014 14:44:53
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
include 'conexion.php';
 
$query = mysql_query("SELECT * FROM `registro` WHERE `passuno`='$_POST['passuno']' and `email`='$_POST['email']'",$con);
 
 
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }
 
if(@mysql_num_rows($query) > 0 ){
echo "Ese usuario ya existe, elije otro";
exit();
}
 
     ?>
      <script language="javascript">
      alert("Ese usuario ya existe");
window.location="registro.html";
</script>
<?
 
if ( $_POST['passuno'] == $_POST['repass'])
   {
      if (!mysqli_query($con,$sql))
  {
  die('Error: ' . mysqli_error($con));
  }
echo "1 record added";
   }
   else
   {
 
      ?>
      <script language="javascript">
      alert("No coinciden las contraseñas");
window.location="registro.html";
</script>
<?
   }
 
   mysqli_close($con);
 
?>
 
<script language="javascript">
window.location="index.html";
</script>


Este codigo vale para insertar un registro que funciona, comprueba si las dos pass son iguanles que funciona pero cuando añado esto al codigo me sale el siguiente error.

Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /customers/e/9/3/opositest.es/httpd.www/insertar_datos.php on line 4

passuno y email son varchar(35) creo que asi no deberia tener problemas si es un string o int double ni nada por el estilo

1
2
3
4
5
6
$query = mysql_query("SELECT * FROM `registro` WHERE `passuno`='$_POST['passuno']' and `email`='$_POST['email']'",$con);
 
if( @mysql_num_rows($query) > 0 ){
echo "Ese usuario ya existe, elije otro";
exit();
}

Donde podria tener el fallo? Gracias por todo de ante mano
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

Ayuda con este codigo por favor.

Publicado por xve (5523 intervenciones) el 17/02/2014 15:39:52
Hola Sergio, prueba así:
1
$query = mysql_query("SELECT * FROM `registro` WHERE `passuno`='".$_POST['passuno']."' and `email`='".$_POST['email']."'",$con);

Coméntanos, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda con este codigo por favor.

Publicado por sergioMM (8 intervenciones) el 17/02/2014 18:39:06
Ha funcionado perfectamente, Muchisimas gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda con este codigo por favor.

Publicado por sergioMM (8 intervenciones) el 17/02/2014 19:03:45
se soluciono en parte, borre toda la base de datos y no tengo registros , cuando meti uno nuevo m e salio el alert diciendo que el usuario ya exite , osea que no funciono. pero gracias de todas formas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda con este codigo por favor.

Publicado por sergioMM (8 intervenciones) el 17/02/2014 21:11:46
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<?php
include 'conexion.php';
 
 
$query = mysql_query("SELECT * FROM `registro` WHERE `passuno`='".$_POST['passuno']."'",$con);
 
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }
 
if(@mysql_num_rows($query) > 0 ){
 
exit();
}
 
     ?>
      <script language="javascript">
      alert("Ese usuario ya existe");
window.location="registro.html";
</script>
<?
 
if ( $_POST['passuno'] == $_POST['repass'])
   {
      if (!mysqli_query($con,$sql))
  {
  die('Error: ' . mysqli_error($con));
  }
echo "1 record added";
   }
   else
   {
 
      ?>
      <script language="javascript">
      alert("No coinciden las contraseñas");
window.location="registro.html";
</script>
<?
   }
 
   mysqli_close($con);
 
?>
 
<script language="javascript">
window.location="index.html";
</script>
 
?>

Este es el codigo entero

y lodeje asi:

1
2
3
4
5
6
7
<?php
include 'conexion.php';
 
 
$query = mysql_query("SELECT * FROM `registro` WHERE `passuno`='".$_POST['passuno']."'",$con);
 
?>

y me sale el error :

Warning: mysql_query() expects parameter 2 to be resource, object given in /customers/e/9/3/opositest.es/httpd.www/insertar_datos.php on line 5

si quitamos esta linea $query = mysql_query("SELECT * FROM `registro` WHERE `passuno`='".$_POST['passuno']."'",$con);

no sale ningun error osea la conexion esta bien. o el fallo esta en esa linea o en la base de datos, el campo se llama passuno de tipo bigint(8), es para la contraseña de un dni español sin la letra, la base funciona por que ese codigo es el que falla solo, un insert que está en conexion.php funciona perfecto sin errores, ya no se por donde me puede venir el fallo. gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

Ayuda con este codigo por favor.

Publicado por xve (5523 intervenciones) el 18/02/2014 07:46:16
Hola Sergio, te pido disculpas, pensé que el campo passuno era una cadena... la consulta tiene que ser sin comillas...
1
$query = mysql_query("SELECT * FROM `registro` WHERE `passuno`=".$_POST['passuno'],$con);

De todas maneras, por el error que te da, parece ser que la variable $con no sea la conexión o que no este definida... nos puedes mostrar el contenido del archivo conexion.php?

También prueba a mostrar la consulta por pantalla y ejecutarla manualmente en el mysql:
1
echo "SELECT * FROM `registro` WHERE `passuno`=".$_POST['passuno'];

Si nos puedes comentar...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda con este codigo por favor.

Publicado por sergioMM (8 intervenciones) el 18/02/2014 10:19:03
lo he dejado de esta manera:

1
2
3
4
5
6
7
8
9
10
<?php
 
$con = mysqli_connect("DOMINIO.es.mysql","USU","Contraseña","DB");
 
if(@mysql_num_rows(mysql_query("SELECT * FROM `registro` WHERE `passuno`=".$_POST['passuno'],$con)) > 0 ){
echo "Ese usuario ya existe, prueba con otro.";
exit();
}
 
?>

puse el query directamente y Se quito el Warning: mysql_query() expects parameter 2 to be resource, object given in /customers/e/9/3/opositest.es/httpd.www/insertar_datos.php on line 5.
Ahora no me da nigun error la pagina se queda en blanco ,pero cuando hace el query no devuelve ningun registro,
logicamente pongo la misma contraseña del unico registro que hay en la base de datos.

Aqui el codigo desde el que se manda.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<form action="insertar_datos.php" method="post">
    <input class="usuario" name="usuario" type="text" placeholder="Usuario" value="">
    <input class="email" name="email" type="text" placeholder="Email" value="">
    <input class="Telefono" name="tlf" type="text" placeholder="Telefono" value="">
    <input class="contrasena" name="passuno" type="text" placeholder="Contraseña" value="">
    <input class="contrasena2" name="repass" type="text" placeholder="Repite Contraseña" value="">
    <select name="licencia">
                <option value="Todos">Todos</option>
                <option value="aaa">aaa</option>
                <option value="aaa">aaa</option>
                <option value="aaa">aaa</option>
    </select>
    <input class="registro" type="submit" value="Enviar">
 
 
    <br>
    <p>Condiciones del Usuario: Si pulsa en registrarse aceptará todas las condiciones aquí descritas.</p>
    <textarea name="textarea"></textarea>
 
</form>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar