PHP - Usar funcion JavaScript en PHP

 
Vista:

Usar funcion JavaScript en PHP

Publicado por Alfredo (9 intervenciones) el 08/07/2013 18:58:10
Me gustaria incorporar dentro de una clase php una función java ,perono me sale.Lo explico mejor con código:

validar_dni.js

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function isValidNif(abc){
	dni=abc.substring(0,abc.length-1);
	let=abc.charAt(abc.length-1);
	if (!isNaN(let)) {
		//alert('Falta la letra');
		return false;
	}else{
		cadena = "TRWAGMYFPDXBNJZSQVHLCKET";
		posicion = dni % 23;
		letra = cadena.substring(posicion,posicion+1);
		if (letra!=let.toUpperCase()){
			//alert("Nif no válido");
			return false;
		}
	}
	//alert("Nif válido")
	return true;
}


clase_cliente.php

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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
<?php
session_start();
//Clase : cliente
//Creado el : 2/07/2013
//Creado por: Frodo
//
 
 
?>
 
 
 
<script src="validar_dni.js" type="text/javascript"></script>
 
 
 
<?php
class cliente
{
//atributo DNI : guarda el dni del jugador
var $dni;
//atributo Nombre : guarda el nombre del jugador
var $nombre;
//atributo apellidos : guarda los apellidos del jugador
var $apellidos;
 
var $direccion;
 
var $nombre_ent;
 
var $codigo_ent;
 
var $oficina;
 
var $dc;
 
var $numero_cuenta;
 
 
//Constructor de la clase
//parametros: el dni, el nombre y los apellidos
function __construct($dni,$nombre,$apellidos,$direccion,$nombre_ent,$codigo_ent,$oficina,$dc,$numero_cuenta)
{
    $this->dni = $dni;
    $this->nombre = $nombre;
    $this->apellidos = $apellidos;
	$this->direccion = $direccion;
	$this->apellidos = $apellidos;
	$this->nombre_ent = $nombre_ent;
	$this->codigo_ent = $codigo_ent;
	$this->oficina = $oficina;
	$this->dc = $dc;
	$this->numero_cuenta = $numero_cuenta;
}
 
//Metodo (invocable estático) que conecta contra la BD y la tabla quiniela
function ConectarBD()
{
    mysql_connect("localhost","iujulio","iujulio") or die("Error de conexión a la BD");
    mysql_select_db("AGROPACK") or die("Error de selección de la BD");
}
 
 
//Metodo Insertar
//Inserta en la tabla jugador de la bd quiniela los valores
// de los atributos del objeto. Comprueba si dni esta vacio y si 
//existe ya el dni en la tabla
function Insertar()
{
    $this->ConectarBD();
 
?>
<script type="text/javascript">
isValidNif(<?php echo "$this->dni"; ?>);
</script>
 
<?php
 
    if ($this->dni and nombre and apellidos and direccion and nombre_ent and codigo_ent and oficina and dc and numero_cuenta  <> '' )
    {
        $sql = "select * from CLIENTE where DNICLIENTE = '".$this->dni."'";
 
        $resultado = mysql_query($sql);
        if (mysql_num_rows($resultado) == 0)
        {
            $sql = "INSERT INTO CLIENTE (DNICLIENTE,NOMBCLIENTE,APELLCLIENTE,DIRECCIONCLIENTE,NOMBENTIDAD,CODENTIDAD,OFICINA,DC,NUMCUENTA) VALUES ('".$this->dni."','".$this->nombre."','".$this->apellidos."','".$this->direccion."','".$this->nombre_ent."','".$this->codigo_ent."','".$this->oficina."','".$this->dc."','".$this->numero_cuenta."')";
 
            mysql_query($sql);
			echo "<br><b><font color=\"#009900\">*El cliente se ha dado de alta correctamente</font><br>";
        }
        else
           echo "<br><b><font color=\"#FF0000\">*El cliente ya existe</font><br>";
 
    }
    else
        echo "<br><b><font color=\"#FF0000\">*Existen campos vacios o incorrectos</font><br>";
}



La meti asi pero no me funciona.Queria que antes de meterse en los if la funcion me comprobara antes si el DNI es valido.Gracias de antemano
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
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Usar funcion JavaScript en PHP

Publicado por xve (6935 intervenciones) el 08/07/2013 19:39:08
Hola Alfredo, no entiendo muy bien tu código...

Primeramente, yo te diría que si necesitas ejecutar desde PHP, crearas la función de validar DNI en PHP.
De todas maneras, si quieres ejecutarlo desde PHP, tendrás que recoger su respuesta, no? es decir, ejecutas la función, pero no obtienes su resultado para posteriormente utilizarlo...

Tendrías que poner algo como:
1
2
3
<script type="text/javascript">
var esvalido=isValidNif(<?php echo "$this->dni"; ?>);
</script>


No se si he entendido muy bien que es lo que quieres hacer... si nos puedes comentar con mas detalle.
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

Usar funcion JavaScript en PHP

Publicado por Alfredo (9 intervenciones) el 08/07/2013 20:19:59
Es que la aplicaion que estoy creando es un proyecto para la universidad,y me piden que tenga alguna funcion java para comprobar campos. Podría hacerlo como dice xve y después evaluar la variable en otro if,y si su valor es true que se ejecuten el resto de bucles,y si es false (con un else) mostrar yo un mensaje de dni no valido.El mayor problema que tengo es que no se bien como pasar el valor de la variable dni a la función(creo que lo estoy haciendo mal.Y el otro problema es como recupero el valor de la variable de la funcion var esvalido. Gracias por la ayuda.
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
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Usar funcion JavaScript en PHP

Publicado por xve (6935 intervenciones) el 08/07/2013 21:11:44
Hola Alfredo, cuando dices java, entiendo por el código que te refieres a JavaScript, verdad?

Casi cualquier aplicación que realices para web, le puedes poner JavaScript, ya sea para validar un formulario, validar la entrada del DNI en un formulario, o simplemente para crear efectos visuales...
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

Usar funcion JavaScript en PHP

Publicado por Alfredo (9 intervenciones) el 08/07/2013 22:25:02
Si ,si que es JavaScript,pero no se como se hace
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

Usar funcion Java en PHP

Publicado por Alfredo (9 intervenciones) el 09/07/2013 15:04:55
Pone las funciones, pero eso no me sirve para nada,gracias igual.Yo lo que quiero saber es como se usan.
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

Usar funcion Java en PHP

Publicado por Alfredo (9 intervenciones) el 09/07/2013 15:40:41
Lo que quiero hacer es algo asi pero no funciona:

validar_dni.js

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function isValidNif(abc){
	dni=abc.substring(0,abc.length-1);
	let=abc.charAt(abc.length-1);
	if (!isNaN(let)) {
		//alert('Falta la letra');
		return false;
	}else{
		cadena = "TRWAGMYFPDXBNJZSQVHLCKET";
		posicion = dni % 23;
		letra = cadena.substring(posicion,posicion+1);
		if (letra!=let.toUpperCase()){
			//alert("Nif no válido");
			return false;
		}
	}
	//alert("Nif válido")
	return true;
}



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
//Metodo Insertar
//Inserta en la tabla jugador de la bd quiniela los valores
// de los atributos del objeto. Comprueba si dni esta vacio y si 
//existe ya el dni en la tabla
function Insertar()
{
    $this->ConectarBD();
 
?>
<script type="text/javascript">
var esvalido=isValidNif(<?php echo "$this->dni"; ?>);
</script>
 
<?php
if( esvalido==true){
    if ($this->dni and nombre and apellidos and direccion and nombre_ent and codigo_ent and oficina and dc and numero_cuenta  <> '' )
    {
        $sql = "select * from CLIENTE where DNICLIENTE = '".$this->dni."'";
 
        $resultado = mysql_query($sql);
        if (mysql_num_rows($resultado) == 0)
        {
            $sql = "INSERT INTO CLIENTE (DNICLIENTE,NOMBCLIENTE,APELLCLIENTE,DIRECCIONCLIENTE,NOMBENTIDAD,CODENTIDAD,OFICINA,DC,NUMCUENTA) VALUES ('".$this->dni."','".$this->nombre."','".$this->apellidos."','".$this->direccion."','".$this->nombre_ent."','".$this->codigo_ent."','".$this->oficina."','".$this->dc."','".$this->numero_cuenta."')";
 
            mysql_query($sql);
			echo "<br><b><font color=\"#009900\">*El cliente se ha dado de alta correctamente</font><br>";
        }
        else
           echo "<br><b><font color=\"#FF0000\">*El cliente ya existe</font><br>";
 
    }
    else
        echo "<br><b><font color=\"#FF0000\">*Existen campos vacios o incorrectos</font><br>";
 }
    else
        echo "<br><b><font color=\"#FF0000\">*El DNI no es válido</font><br>";
}


Haber si así te queda más claro para queme puedas ayudar.Gracias igual
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
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Usar funcion Java en PHP

Publicado por xve (6935 intervenciones) el 09/07/2013 15:56:08
Hola Alfredo, tienes que validarlo antes de enviar el formulario...

me puedes mostrar el formulario? ahí intentare mostrarte como hacerlo.
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

Usar funcion Java en PHP

Publicado por Alfredo (9 intervenciones) el 09/07/2013 16:03:43
Aqui te lo mando ,pero no tiene que ver porque la variable ya esta recogida y metida en el constructor de la clase:
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
<?php
include "cliente_class.php";
$vardni = $_REQUEST['vardni'];
$varnombre = $_REQUEST['varnombre'];
$varapellidos = $_REQUEST['varapellidos'];
$vardireccion = $_REQUEST['vardireccion'];
$varnombre_ent = $_REQUEST['varnombre_ent'];
$varcodigo_ent = $_REQUEST['varcodigo_ent'];
$varoficina = $_REQUEST['varoficina'];
$vardc = $_REQUEST['vardc'];
$varnumero_cuenta = $_REQUEST['varnumero_cuenta'];
$accion = $_REQUEST['accion'];
 
?>
 
<html>
	<head>
 
	</head>
	<body>
		<div id="contenedor" width: 100%; height: 100%; >
 
			<div id="cabecera" style="background-color: #B5E61D;
			height:126px; 
			text-align: right; 
			border-left-width: 3px;
			border-left-style: ridge;
			border-left-color: darkgreen;
			border-right-width: 3px;
			border-right-style: ridge;
			border-right-color: darkgreen;
			border-top-width: 3px; border-top-style: ridge;
			border-top-color: darkgreen;
			border-bottom-width: 3px;
			border-bottom-style: ridge;
			border-bottom-color: darkgreen;">
 
			<a href="index.php" target="_blank"><img src="agro.png" alt="AGROPACK" style="float:left"></a>
 
			</div>
 
			<div id="barra-lateral" style="text-decoration: underline;
			background-color: #B5E61D;
			padding-left:20px;		
			float: left; width:180; height:100%;
			border-left-width: 3px;
			border-left-style: ridge;
			border-left-color: darkgreen;
			border-right-width: 3px;
			border-right-style: ridge;
			border-right-color: darkgreen;
			overflow:scroll;">
 
			<br>
			<br>
			<br>
			<br>
 
			<a href="alta.php">-Dar de alta cliente</a>
			<br>
			<br>
			<a href="baja.php">-Dar de baja cliente</a>
			<br>
			<br>
			<a href="consulta.php">-Consultar datos cliente</a>
			<br>
			<br>
			<a href="modificacion.php">-Modificar datos cliente</a>
 
 
			<br>
			</div>
 
			<div id="contenido" style= "background-color: #E7F7B7;
            		float:allow;
            		width:100%;
           		height:100%;
			text-align: center;">
 
			<br>
			<br>
 
			<img src="a.png" alt="AGROPACK" style="float:center">
 
                	<br>
			-Intoduzca los datos del usuario en sus campos correspondientes:
			<br>
			<br>
 
		      	<form action="alta.php" method="post" >
                     DNI : <input type="text" name="vardni" size=9>
			<br>
			<br>
                    	Nombre : <input type="text" name="varnombre" size=20>
			<br>
			<br>
                   	Apellidos : <input type="password" name="varapellidos" size=20>
			<br>
			<br>
                    	Direccion : <input type="text" name="vardireccion" size=20>
			<br>
			<br>
                    	Nombre Entidad : <input type="text" name="varnombre_ent" size=20>
			<br>
			<br>
			Codigo Entidad : <input type="text" name="varcodigo_ent" size=4>
			<br>
			<br>
			Oficina : <input type="text" name="varoficina" size=4>
			<br>
			<br>
			DC : <input type="text" name="vardc" size=2>
			<br>
			<br>
			Nº de cuenta : <input type="text" name="varnumero_cuenta" size=10>
			<br>
			<br>
                     <input type="submit" style="background-color: #B5E61D" name="accion" value="Dar de alta">
                     <input type="reset" style="background-color: #B5E61D" name="accion" value="Limpiar">
                     </form>
 
 
			<?php
 
			if ($accion == "Dar de alta"){
 
			$cliente = new cliente($vardni,$varnombre,$varapellidos,$vardireccion,$varnombre_ent,$varcodigo_ent,$varoficina,$vardc,$varnumero_cuenta);
			$cliente->Insertar();
 
			}
			?>
 
			</div>
 
			<div id="pie" style="background-color: #E7F7B7;
			clear: both; text-align: center;
			border-top-width: 3px;
			border-top-style: ridge;
			border-top-color: darkgreen;">
 
			Alfredo Jose Martinez Perales DNI:44469629A
 
			</div>
 
		</div>
	</body>
</html>



clase_cliente.php

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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
<?php
session_start();
//Clase : cliente
//Creado el : 2/07/2013
//Creado por: Frodo
//-------------------------------------------------------
class cliente
{
//atributo DNI : guarda el dni del jugador
var $dni;
//atributo Nombre : guarda el nombre del jugador
var $nombre;
//atributo apellidos : guarda los apellidos del jugador
var $apellidos;
 
var $direccion;
 
var $nombre_ent;
 
var $codigo_ent;
 
var $oficina;
 
var $dc;
 
var $numero_cuenta;
 
 
//Constructor de la clase
//parametros: el dni, el nombre y los apellidos
function __construct($dni,$nombre,$apellidos,$direccion,$nombre_ent,$codigo_ent,$oficina,$dc,$numero_cuenta)
{
    $this->dni = $dni;
    $this->nombre = $nombre;
    $this->apellidos = $apellidos;
	$this->direccion = $direccion;
	$this->apellidos = $apellidos;
	$this->nombre_ent = $nombre_ent;
	$this->codigo_ent = $codigo_ent;
	$this->oficina = $oficina;
	$this->dc = $dc;
	$this->numero_cuenta = $numero_cuenta;
}
 
//Metodo (invocable estático) que conecta contra la BD y la tabla quiniela
function ConectarBD()
{
    mysql_connect("localhost","iujulio","iujulio") or die("Error de conexión a la BD");
    mysql_select_db("AGROPACK") or die("Error de selección de la BD");
}
//Metodo Insertar
//Inserta en la tabla jugador de la bd quiniela los valores
// de los atributos del objeto. Comprueba si dni esta vacio y si 
//existe ya el dni en la tabla
function Insertar()
{
    $this->ConectarBD();
 
?>
<script type="text/javascript">
var esvalido=isValidNif(<?php echo "$this->dni"; ?>);
</script>
 
<?php
if( esvalido==true){
    if ($this->dni and nombre and apellidos and direccion and nombre_ent and codigo_ent and oficina and dc and numero_cuenta  <> '' )
    {
        $sql = "select * from CLIENTE where DNICLIENTE = '".$this->dni."'";
 
        $resultado = mysql_query($sql);
        if (mysql_num_rows($resultado) == 0)
        {
            $sql = "INSERT INTO CLIENTE (DNICLIENTE,NOMBCLIENTE,APELLCLIENTE,DIRECCIONCLIENTE,NOMBENTIDAD,CODENTIDAD,OFICINA,DC,NUMCUENTA) VALUES ('".$this->dni."','".$this->nombre."','".$this->apellidos."','".$this->direccion."','".$this->nombre_ent."','".$this->codigo_ent."','".$this->oficina."','".$this->dc."','".$this->numero_cuenta."')";
 
            mysql_query($sql);
			echo "<br><b><font color=\"#009900\">*El cliente se ha dado de alta correctamente</font><br>";
        }
        else
           echo "<br><b><font color=\"#FF0000\">*El cliente ya existe</font><br>";
 
    }
    else
        echo "<br><b><font color=\"#FF0000\">*Existen campos vacios o incorrectos</font><br>";
 }
    else
        echo "<br><b><font color=\"#FF0000\">*El DNI no es válido</font><br>";
}
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
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Usar funcion JavaScript en PHP

Publicado por xve (6935 intervenciones) el 09/07/2013 20:30:31
Hola Alfredo, aqui te pongo un ejemplo con tu código...
He quitado cosas, para reducirlo, ok?

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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
<html>
    <head>
        <script type="text/javascript">
        function isValidNif(abc){
            dni=abc.substring(0,abc.length-1);
            let=abc.charAt(abc.length-1);
            if (!isNaN(let)) {
                //alert('Falta la letra');
                return false;
            }else{
                cadena = "TRWAGMYFPDXBNJZSQVHLCKET";
                posicion = dni % 23;
                letra = cadena.substring(posicion,posicion+1);
                if (letra!=let.toUpperCase()){
                    //alert("Nif no válido");
                    return false;
                }
            }
            //alert("Nif válido")
            return true;
        }
 
        function validarDni()
        {
            var dni=document.form1.vardni.value;
            if(isValidNif(dni))
            {
                document.getElementById("errorDni").style.display="none";
                return true;
            }
            document.getElementById("errorDni").style.display="block";
            return false;
        }
        </script>
    </head>
    <body>
        <div id="contenedor">
            <form name="form1" action="alta.php" method="post" onsubmit="return validarDni();">
                <div id='errorDni' style='display:none;color:red;'>El dni es incorrecto</div>
                DNI : <input type="text" name="vardni" size=9>
                <br>
                <br>
                Nombre : <input type="text" name="varnombre" size=20>
                <br>
                <br>
                Apellidos : <input type="password" name="varapellidos" size=20>
                <br>
                <br>
                Direccion : <input type="text" name="vardireccion" size=20>
                <br>
                <br>
                Nombre Entidad : <input type="text" name="varnombre_ent" size=20>
                <br>
                <br>
                Codigo Entidad : <input type="text" name="varcodigo_ent" size=4>
                <br>
                <br>
                Oficina : <input type="text" name="varoficina" size=4>
                <br>
                <br>
                DC : <input type="text" name="vardc" size=2>
                <br>
                <br>
                Nº de cuenta : <input type="text" name="varnumero_cuenta" size=10>
                <br>
                <br>
                <input type="submit" style="background-color: #B5E61D" name="accion" value="Dar de alta">
                <input type="reset" style="background-color: #B5E61D" name="accion" value="Limpiar">
            </form>
        </div>
    </body>
</html>

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

Usar funcion JavaScript en PHP

Publicado por frodom720 (4 intervenciones) el 09/07/2013 22:25:21
Ahora si que va ,muchas gracias por todo xve¡¡¡
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