PHP - Envío de valores de variable a php en página wordpress

 
Vista:
Imágen de perfil de Reinaldo

Envío de valores de variable a php en página wordpress

Publicado por Reinaldo (16 intervenciones) el 21/02/2017 02:40:02
Cordial saludo. Soy nuevo en esto de programación y estoy haciendo una página en wordpress que realiza una consulta en SQL Server y envía los datos a una tabla.

Al hacer clic en el botón de "Consultar", la página se redirecciona a un 404 porque no procesa ni envía el valor de variable. Igualmente en la consulta SQL devuelve un Warning porque le es desconocido el valor de la variable name

Este es el código que estoy utilizando.


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
<div>
    <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
       <div>
            Seleccione periodo:
            <select name="name">
                <option value="00" selected>Haga clic aquí</option>
                <option value="01" <?php if($_POST['name']==01) echo 'selected="selected" ';?>> ENERO</option>
                <option value="02"  <?php if($_POST['name']==02) echo 'selected="selected" ';?>>FEBRERO</option>
                <option value="03"  <?php if($_POST['name']==03) echo 'selected="selected" ';?>>MARZO</option>
                <option value="04"  <?php if($_POST['name']==04) echo 'selected="selected" ';?>>ABRIL</option>
                <option value="05"  <?php if($_POST['name']==05) echo 'selected="selected" ';?>>MAYO</option>
                <option value="06"  <?php if($_POST['name']==06) echo 'selected="selected" ';?>>JUNIO</option>
                <option value="07"  <?php if($_POST['name']==07) echo 'selected="selected" ';?>>JULIO</option>
                <option value="08"  <?php if($_POST['name']==08) echo 'selected="selected" ';?>>AGOSTO</option>
                <option value="09"  <?php if($_POST['name']==09) echo 'selected="selected" ';?>>SEPTIEMBRE</option>
                <option value="10"  <?php if($_POST['name']==10) echo 'selected="selected" ';?>>OCTUBRE</option>
                <option value="11"  <?php if($_POST['name']==11) echo 'selected="selected" ';?>>NOVIEMBRE</option>
                <option value="12"  <?php if($_POST['name']==12) echo 'selected="selected" ';?>>DICIEMBRE</option>
            </select>
 
            <input type="submit" name="submit" value="Consultar">
            <input type="button" onclick=" generateexcel('testTable') " value="Exportar a Excel">
       </div>
     </form>
</div>
 
<?php
 
echo "<table class='peq' id='testTable'>";
echo "<tr>";
echo "<th class='peq'>Codigo</th>";
echo "<th class='peq'>Apellidos</th>";
echo "<th class='peq'>Nombres</th>";
echo "<th class='peq'>Fecha_nacimiento</th>";
echo "<th class='peq'>Direccion_domicilio</th>";
echo "<th class='peq'>Ciudad</th>";
echo "</tr>";
 
$name = $_POST['name'];
 
ini_set('mssql.charset', 'UTF-8');
 
$msconnect=mssql_connect("ECOSOL","logfuncionario","G3st3nF31s3r2017_");
 
$msdb=mssql_select_db("solido",$msconnect);
 
$msquery = "select id, nombre, apellidos, saldo from clientes where periodo_causado=".$name." order by nombre;";
 
$msresults= mssql_query($msquery);
 
while ($row = mssql_fetch_array($msresults)){
 
echo "<tr>";
echo "<td class='peq'>$row[0]</td>";
echo "<td class='peq'>$row[1]</td>";
echo "<td class='peq'>$row[2]</td>";
echo "<td class='peq'>$row[3]</td>";
echo "<td class='peq'>$row[4]</td>";
echo "<td class='peq'>$row[5]</td>";
echo "</tr>";
 
}
 
echo "</table>";
?>

Gracias por su amable colaboración
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
sin imagen de perfil
Val: 604
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Envío de valores de variable a php en página wordpress

Publicado por Miguel (218 intervenciones) el 21/02/2017 11:06:59
Bien, inicialmente no veo dónde estás validando el "POST" para realizar la consulta; así como lo tienes, aunque no estés enviando el formulario hará la consulta (por eso te envía el warning de la variable 'name').

Tus validaciones " if ($_POST['name']==01) echo 'selected="selected" " - creo - son incorrectas, ya que estás tratando de comparar un valor numérico con una cadena, y eso siempre resultará negativo (ya que estás usando un "0" al inicio de la cadena).
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 Reinaldo

Envío de valores de variable a php en página wordpress

Publicado por Reinaldo (16 intervenciones) el 21/02/2017 13:28:29
Hola, gracias por responder.

Supongo que haces referencia a esto en cuanto a validar el POST:
1
if(isset($_POST['name'])){ $name = $_POST['name']; }

aunque no sé por qué no me lo toma en el código php. Lo incluí y persiste la redirección a un 404 cuando le doy en consultar.

y las validaciones de tipo:

1
if ($_POST['name']==01) echo 'selected="selected"

Son para dejar seleccionada la opción en el select. Igual sigue apareciendo el warning...

Reescribo el código incluyendo los cambios.


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
<div>
    <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
       <div>
            Seleccione periodo:
            <select name="name">
                <option value="0" selected>Haga clic aquí</option>
                <option value="1" <?php if($_POST['name']=='1') echo 'selected="selected" ';?>> ENERO</option>
                <option value="2"  <?php if($_POST['name']=='2') echo 'selected="selected" ';?>>FEBRERO</option>
                <option value="3"  <?php if($_POST['name']=='3') echo 'selected="selected" ';?>>MARZO</option>
                <option value="4"  <?php if($_POST['name']=='4') echo 'selected="selected" ';?>>ABRIL</option>
                <option value="5"  <?php if($_POST['name']=='5') echo 'selected="selected" ';?>>MAYO</option>
                <option value="6"  <?php if($_POST['name']=='6') echo 'selected="selected" ';?>>JUNIO</option>
                <option value="7"  <?php if($_POST['name']=='7') echo 'selected="selected" ';?>>JULIO</option>
                <option value="8"  <?php if($_POST['name']=='8') echo 'selected="selected" ';?>>AGOSTO</option>
                <option value="9"  <?php if($_POST['name']=='9') echo 'selected="selected" ';?>>SEPTIEMBRE</option>
                <option value="10"  <?php if($_POST['name']=='10') echo 'selected="selected" ';?>>OCTUBRE</option>
                <option value="11"  <?php if($_POST['name']=='11') echo 'selected="selected" ';?>>NOVIEMBRE</option>
                <option value="12"  <?php if($_POST['name']=='12') echo 'selected="selected" ';?>>DICIEMBRE</option>
            </select>
            <input type="submit" name="submit" value="Consultar">
            <input type="button" onclick=" generateexcel('testTable') " value="Exportar a Excel">
        </div>
     </form>
</div>
 
 
 
<?php
 
if(isset($_POST['name'])){ $name = $_POST['name']; }
 
echo "<table class='peq' id='testTable'>";
 
echo "<tr>";
 
 echo "<th class='peq'>Codigo</th>";
 
echo "<th class='peq'>Apellidos</th>";
 
echo "<th class='peq'>Nombres</th>";
 
echo "<th class='peq'>Fecha_nacimiento</th>";
 
echo "<th class='peq'>Direccion_domicilio</th>";
 
echo "<th class='peq'>Ciudad</th>";
 
echo "</tr>";
 
$name = $_POST['name'];
 
 
ini_set('mssql.charset', 'UTF-8');
 
 
 
$msconnect=mssql_connect("ECOSOL","logfuncionario","F3s3r2017_");
 
$msdb=mssql_select_db("solido",$msconnect);
 
$msquery = "Select codigo, apellidos, nombres, fecha_nacimiento, direccion_domicilio, ciudad from clientes where periodo=".$name." order by codigo";";

$msresults= mssql_query($msquery);
while ($row = mssql_fetch_array($msresults)){

echo "<tr>";
echo "<td class='peq'>$row[0]</td>";
echo "<td class='peq'>$row[1]</td>";
echo "<td class='peq'>$row[2]</td>";
echo "<td class='peq'>$row[3]</td>";
echo "<td class='peq'>$row[4]</td>";
echo "<td class='peq'>$row[5]</td>";
 
 
 
echo "</tr>";
 
}
echo "</table>";
?>
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 Reinaldo

Envío de valores de variable a php en página wordpress

Publicado por Reinaldo (16 intervenciones) el 21/02/2017 15:41:02
Hola y gracias por las respuestas.

Supongo que debo validar primero para que la primera vez que cargue la página haga la consulta, pero aunque coloque la validación al principio, me genera un warning:

Warning: mssql_query(): message: Incorrect syntax near the keyword ‘order’. (severity 15) in /var/www/html/intraser/wp-content/plugins/exec-php/includes/runtime.php(42) : eval()’d code on line 89

Y al hacer clic en consultar sigue redireccionando a un 404. Efectivamente necesito que el resultado de la consulta la cargue en la misma página en una tabla HTML para poder exportar a un XLS luego.

Envío nuevamente el código en espera de alguna otra idea sobre qué es lo que pasa. Gracias nuevamente por colaborar.

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
<?php if(isset($_POST['name'])){ $name = $_POST['name']; } ?>
<div>
 
    <form method="post" action="<?php echo htmlentities($_SERVER['PHP_SELF']) ?>">
       <div>
            Seleccione periodo:
            <select name="name">
                <option value="0" selected>Haga clic aquí</option>
                <option value="1" <?php if($_POST['name']=='1') echo 'selected="selected" ';?>> ENERO</option>
                <option value="2"  <?php if($_POST['name']=='2') echo 'selected="selected" ';?>>FEBRERO</option>
                <option value="3"  <?php if($_POST['name']=='3') echo 'selected="selected" ';?>>MARZO</option>
                <option value="4"  <?php if($_POST['name']=='4') echo 'selected="selected" ';?>>ABRIL</option>
                <option value="5"  <?php if($_POST['name']=='5') echo 'selected="selected" ';?>>MAYO</option>
                <option value="6"  <?php if($_POST['name']=='6') echo 'selected="selected" ';?>>JUNIO</option>
                <option value="7"  <?php if($_POST['name']=='7') echo 'selected="selected" ';?>>JULIO</option>
                <option value="8"  <?php if($_POST['name']=='8') echo 'selected="selected" ';?>>AGOSTO</option>
                <option value="9"  <?php if($_POST['name']=='9') echo 'selected="selected" ';?>>SEPTIEMBRE</option>
                <option value="10"  <?php if($_POST['name']=='10') echo 'selected="selected" ';?>>OCTUBRE</option>
                <option value="11"  <?php if($_POST['name']=='11') echo 'selected="selected" ';?>>NOVIEMBRE</option>
                <option value="12"  <?php if($_POST['name']=='12') echo 'selected="selected" ';?>>DICIEMBRE</option>
            </select>
            <input type="submit" name="submit" value="Consultar">
            <input type="button" onclick=" generateexcel('testTable') " value="Exportar a Excel">
        </div>
     </form>
</div>
 
 
 
<?php
 
 
 
echo "<table class='peq' id='testTable'>";
 
echo "<tr>";
 
 echo "<th class='peq'>Codigo</th>";
 
echo "<th class='peq'>Apellidos</th>";
 
echo "<th class='peq'>Nombres</th>";
 
echo "<th class='peq'>Fecha_nacimiento</th>";
 
echo "<th class='peq'>Direccion_domicilio</th>";
 
echo "<th class='peq'>Ciudad</th>";
 
echo "</tr>";
 
$name = $_POST['name'];
 
 
ini_set('mssql.charset', 'UTF-8');
 
 
 
$msconnect=mssql_connect("ECOSOL","logfuncionario","F3s3r2017_");
 
$msdb=mssql_select_db("solido",$msconnect);
 
$msquery = "Select
    asociados.codigo, 
    asociados.nombre, 
    asociados.apellido, 
    (CONVERT (char(10),asociados.fecha_nacimiento, 103)) as fecha_nacimiento, 
    asociados.direccion, 
    asociados.ciudad
    from (
            SELECT 
              CAST(CAST(sys_maenit.CODIGOTER AS float(53)) AS decimal(10, 0))as codigo,
              sys_maenit.APELLIDO AS apellido, 
              sys_maenit.NOMBRE AS nombre, 
              sys_maenit.DIRECCION AS direccion, 
              sys_ciudad57.NOMBRE_CIUDAD AS ciudad, 
              sys_maenit.FECNACEM as fecha_nacimiento,
              sys_maenit.empresa as empresa
           FROM (solido.dbo.sys_maenit 
              CROSS JOIN solido.dbo.sys_ciudad57)
           WHERE (
              (sys_maenit.ESTADO = 'A') AND 
              (sys_maenit.CLASE = '5') AND 
              (sys_maenit.DPTO_CIUDAD = sys_ciudad57.CIUDAD))
            ) as asociados
    where asociados.empresa != '0099'
    and month(asociados.fecha_nacimiento)=".$name." order by day(asociados.fecha_nacimiento);";
 
$msresults= mssql_query($msquery);
while ($row = mssql_fetch_array($msresults)){
 
echo "<tr>";
echo "<td class='peq'>$row[0]</td>";
echo "<td class='peq'>$row[1]</td>";
echo "<td class='peq'>$row[2]</td>";
echo "<td class='peq'>$row[3]</td>";
echo "<td class='peq'>$row[4]</td>";
echo "<td class='peq'>$row[5]</td>";
 
 
 
echo "</tr>";
 
}
echo "</table>";
?>
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