PHP - problema HTTP ERROR 500 con codigo sencillo php

   
Vista:

problema HTTP ERROR 500 con codigo sencillo php

Publicado por Luis Felipe (14 intervenciones) el 10/08/2016 19:05:09
Hola a todos estoy teniendo un problema espero podamos encontrar la solución entre todos, gracias de antemano por su ayuda

este es mi codigo

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
<?php
 
//              hola
 
include_once 'conexion2.php';
 
      $departamento = $_POST['departamentos'];
      $nit = $_POST['buscar_nit'];
      $centro_costo = $_POST['centro_costos'];
      $p_inicio = $_POST['periodo_inicial'];
      $p_final = $_POST['periodo_final'];
 
$total = pg_num_rows(pg_query("SELECT * FROM aclaracion_saldos_capita.bd_inicial_ok WHERE dpto='$departamento' and nit='$nit' and centro_costo='$centro_costo' and periodo between '$p_inicio' and '$p_final' "));
 
if($total > 0){
 
    echo 'Hay un total de '.$total.' datos';
 
 
}else{
 
        echo 'No hay datos';
 
}
 
 
?>

como pueden ver es un codigo sencillo que captura los datos de un formulario luego los uso en una consulta sql y genero un resultado para saber el numero de filas que me genera esa consulta

el problema es que el codigo genera el resultado cuando no esta la palabra hola al inicio pero si la escribo me genera un error

La página www. no funciona

La página www. no puede procesar esta solicitud ahora.

HTTP ERROR 500

¿solo por el simple hecho de tener escrito el hola porque no me genera la respuesta?

gracias
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

problema HTTP ERROR 500 con codigo sencillo php

Publicado por xve (5515 intervenciones) el 10/08/2016 20:00:37
Hola Luis, según entiendo, al poner la palabra "hola" en el código PHP, php no la entiende y genera un error...

Según la configuración del archivo php.ini, te mostrara la información del error, o te devolverá error 500.
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 Gaston

problema HTTP ERROR 500 con codigo sencillo php

Publicado por Gaston (12 intervenciones) el 10/08/2016 20:02:43
Hola Luis, si te refieres a la palabra hola que esta comentada con // al inicio, es debido a que no la entiende y obviamente generara un error ya que no es una instruccion predefinida, ni una función, ni variable, por lo que el compilador, no sabe lo que es.. Si lo que quieres hacer es mostrar en pantalla la palabra "hola", es de esta manera :

1
2
3
<?
echo 'hola';
?>
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

problema HTTP ERROR 500 con codigo sencillo php

Publicado por Luis Felipe (14 intervenciones) el 10/08/2016 21:56:54
Gracias por su aporte

Ya voy entendiendo pero ahora tengo el mismo problema con un código mucho mas largo

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
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
<?php
 
include_once 'conexion2.php';
 
        $departamento = $_POST['departamentos'];
        $nit = $_POST['buscar_nit'];
        $centro_costo = $_POST['centro_costos'];
        $p_inicio = $_POST['periodo_inicial'];
        $p_final = $_POST['periodo_final'];
 
$resultado = pg_num_rows(pg_query("SELECT * FROM aclaracion_saldos_capita.bd_inicial_ok WHERE dpto='$departamento' and nit='$nit' and centro_costo='$centro_costo' and periodo between '$p_inicio' and '$p_final' "));
 
 
if($resultado > 0 ){
 
	date_default_timezone_set('America/Bogota');
 
	if(PHP_SAPI == 'cli')
		die('Este archivo solo se puede ver desde un navegador web');
 
 
	// Se agrega la libreria PHPExcel 
 	require_once 'PHPExcel/Classes/PHPExcel.php';
 
	// Se crea el objeto PHPExcel
	$objPHPExcel = new PHPExcel();
 
	// Se asignan las propiedades del libro
	$objPHPExcel->getProperties()->setCreator("Codedrinks") // Nombre del autor
    ->setLastModifiedBy("Codedrinks") //Ultimo usuario que lo modificó
    ->setTitle("Reporte Excel con PHP y PostgreSQL") // Titulo
    ->setSubject("Reporte Excel con PHP y PostgreSQL") //Asunto
    ->setDescription("Reporte de aclaracion_saldos_capita") //Descripción
    ->setKeywords("reporte aclaracion saldos ok") //Etiquetas
    ->setCategory("Reporte excel"); //Categorias
 
    $tituloReporte = "Reporte de Aclaracion de Saldos";
	$titulosColumnas = array('DPT', 'RAZON', 'NIT', '# CONTRATO','VIGENCIA CONTRACTUAL', 'PERIODO',
       'CTRO COSTO', 'POBLACION', 'PRESUPUESTO', 'VALOR CONTRATADO',
       '% UPC  / 92%', '%POB', 'ING. UPC', 'REG. RESTITUCION',
       'REG. OBSERVADOS', 'ING.VAL', 'VAL/LMA', 'PRESUPUESTO', 'AJUSTE CONT.',
       'BREC.LIQ', 'PROV ARS 1,2,3', 'ASIST', 'PYP', 'TOTAL', 'CUMPLIMIENTO', 'RECOBROS', 'COSTO DEBIDO', 'PAGOS GIRADOS', 'SALDOS IPS', 'SALD EPS');
 
	// Se combinan las celdas A1 hasta D1, para colocar ahí el titulo del reporte
	$objPHPExcel->setActiveSheetIndex(0)
    ->mergeCells('A1:A1');
 
    // Se agregan los titulos del reporte
	$objPHPExcel->setActiveSheetIndex(0)
    //->setCellValue('A1',$tituloReporte) // Titulo del reporte
    ->setCellValue('A1',  $titulosColumnas[0])  //Titulo de las columnas
    ->setCellValue('B1',  $titulosColumnas[1])
    ->setCellValue('C1',  $titulosColumnas[2])
    ->setCellValue('D1',  $titulosColumnas[3])
    ->setCellValue('E1',  $titulosColumnas[4])
    ->setCellValue('F1',  $titulosColumnas[5])
    ->setCellValue('G1',  $titulosColumnas[6])
    ->setCellValue('H1',  $titulosColumnas[7])
    ->setCellValue('I1',  $titulosColumnas[8])
    ->setCellValue('J1',  $titulosColumnas[9])
    ->setCellValue('K1',  $titulosColumnas[10])
    ->setCellValue('L1',  $titulosColumnas[11])
    ->setCellValue('M1',  $titulosColumnas[12])
    ->setCellValue('N1',  $titulosColumnas[13])
    ->setCellValue('O1',  $titulosColumnas[14])
    ->setCellValue('P1',  $titulosColumnas[15])
    ->setCellValue('Q1',  $titulosColumnas[16])
    ->setCellValue('R1',  $titulosColumnas[17])
    ->setCellValue('S1',  $titulosColumnas[18])
    ->setCellValue('T1',  $titulosColumnas[19])
    ->setCellValue('U1',  $titulosColumnas[20])
    ->setCellValue('V1',  $titulosColumnas[21])
    ->setCellValue('W1',  $titulosColumnas[22])
    ->setCellValue('X1',  $titulosColumnas[23])
    ->setCellValue('Y1',  $titulosColumnas[24])
    ->setCellValue('Z1',  $titulosColumnas[25])
    ->setCellValue('AA1',  $titulosColumnas[26])
    ->setCellValue('AB1',  $titulosColumnas[27])
    ->setCellValue('AC1',  $titulosColumnas[28])
    ->setCellValue('AD1',  $titulosColumnas[29]);
 
    //Se agregan los datos 
 
 	$i = 2; //Numero de fila donde se va a comenzar a rellenar
 	while ($fila = pg_fetch_array($resultado)) {
     $objPHPExcel->setActiveSheetIndex(0)
        ->setCellValue('A'.$i, $fila['dpto'])
         ->setCellValue('B'.$i, $fila['razon'])
         ->setCellValue('C'.$i, $fila['nit'])
         ->setCellValue('D'.$i, $fila['numero_contrato'])
         ->setCellValue('E'.$i, $fila['vigencia_contractual'])
         ->setCellValue('F'.$i, $fila['periodo'])
         ->setCellValue('G'.$i, $fila['centro_costo'])
         ->setCellValue('H'.$i, $fila['poblacion'])
         ->setCellValue('I'.$i, $fila['presupuesto_inicial'])
         ->setCellValue('J'.$i, $fila['valor_contratado'])
         ->setCellValue('K'.$i, $fila['porcentaje_upc_92porc'])
         ->setCellValue('L'.$i, $fila['porcentaje_pob'])
         ->setCellValue('M'.$i, $fila['ing_upc'])
         ->setCellValue('N'.$i, $fila['reg_restitucion'])
         ->setCellValue('O'.$i, $fila['reg_observados'])
         ->setCellValue('P'.$i, $fila['ing_val'])
         ->setCellValue('Q'.$i, $fila['val_vs_lma'])
         ->setCellValue('R'.$i, $fila['presupuesto'])
         ->setCellValue('S'.$i, $fila['ajuste_cont'])
         ->setCellValue('T'.$i, $fila['brec_liq'])
         ->setCellValue('U'.$i, $fila['prov_ars'])
         ->setCellValue('V'.$i, $fila['asist'])
         ->setCellValue('W'.$i, $fila['pyp'])
         ->setCellValue('X'.$i, $fila['total'])
         ->setCellValue('Y'.$i, $fila['cumplimiento'])
         ->setCellValue('Z'.$i, $fila['recobros'])
         ->setCellValue('AA'.$i, $fila['costo_debido'])
         ->setCellValue('AB'.$i, $fila['pagos_girados'])
         ->setCellValue('AC'.$i, $fila['saldos_ips'])
         ->setCellValue('AD'.$i, $fila['saldos_eps']);
     $i++;
 }
 
 $estiloTituloReporte = array(
    'font' => array(
        'name'      => 'Calibri',
        'bold'      => true,
        'italic'    => false,
        'strike'    => false,
        'size' =>16,
        'color'     => array(
            'rgb' => 'FFFFFF'
        )
    ),
    'fill' => array(
      'type'  => PHPExcel_Style_Fill::FILL_SOLID,
      'color' => array(
            'argb' => 'FF220835')
  ),
    'borders' => array(
        'allborders' => array(
            'style' => PHPExcel_Style_Border::BORDER_NONE
        )
    ),
    'alignment' => array(
        'horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_CENTER,
        'vertical' => PHPExcel_Style_Alignment::VERTICAL_CENTER,
        'rotation' => 0,
        'wrap' => TRUE
    )
);
 
$estiloTituloColumnas = array(
    'font' => array(
        'name'  => 'Calibri',
        'bold'  => true,
        'color' => array(
            'rgb' => '000000'
        )
    ),
    'fill' => array(
        'type'       => PHPExcel_Style_Fill::FILL_GRADIENT_LINEAR,
  'rotation'   => 90,
        'startcolor' => array(
            'rgb' => 'CCE5FF'
        ),
        'endcolor' => array(
            'rgb' => 'CCE5FF'
        )
    ),
    'borders' => array(
        'top' => array(
            'style' => PHPExcel_Style_Border::BORDER_MEDIUM ,
            'color' => array(
                'rgb' => '143860'
            )
        ),
        'bottom' => array(
            'style' => PHPExcel_Style_Border::BORDER_MEDIUM ,
            'color' => array(
                'rgb' => '143860'
            )
        )
    ),
    'alignment' =>  array(
        'horizontal'=> PHPExcel_Style_Alignment::HORIZONTAL_CENTER,
        'vertical'  => PHPExcel_Style_Alignment::VERTICAL_CENTER,
        'wrap'      => TRUE
    )
);
 
$estiloInformacion = new PHPExcel_Style();
$estiloInformacion->applyFromArray( array(
    'font' => array(
        'name'  => 'Arial',
        'color' => array(
            'rgb' => '000000'
        )
    ),
    'fill' => array(
  'type'  => PHPExcel_Style_Fill::FILL_SOLID,
  'color' => array(
            'rgb' => 'ffffff')
  ),
    'borders' => array(
        'left' => array(
            'style' => PHPExcel_Style_Border::BORDER_THIN ,
      'color' => array(
              'rgb' => '404040'
            )
        )
    )
));
 
//$objPHPExcel->getActiveSheet()->getStyle('A1:D1')->applyFromArray($estiloTituloReporte);
$objPHPExcel->getActiveSheet()->getStyle('A1:AD1')->applyFromArray($estiloTituloColumnas);
$objPHPExcel->getActiveSheet()->setSharedStyle($estiloInformacion, "A2:AD".($i-1));
 
for($i = 'A'; $i <= 'AD'; $i++){
    $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension($i)->setAutoSize(TRUE);
}
 
// Se asigna el nombre a la hoja
$objPHPExcel->getActiveSheet()->setTitle('Departamento $dpto');
 
// Se activa la hoja para que sea la que se muestre cuando el archivo se abre
$objPHPExcel->setActiveSheetIndex(0);
 
// Inmovilizar paneles
//$objPHPExcel->getActiveSheet(0)->freezePane('A4');
$objPHPExcel->getActiveSheet(0)->freezePaneByColumnAndRow(0,2);
 
// Se manda el archivo al navegador web, con el nombre que se indica, en formato 2007
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="AclaracionSaldos.xls"');
header('Cache-Control: max-age=0');
 
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$objWriter->save('php://output');
exit;
}
else{
    echo '<script>alert("No hay resultados para mostrar con esos datos. Por favor revise si todo esta correcto.")</script> ';
 
   echo "<script>location.href='auditoria.php'</script>";
   // print_r('No hay resultados para mostrar');
}
 
 
?>

Es un codigo que me genera un reporte en excel de unos datos que saco de mi base de datos el problema es que cuando le doy generar sigue surgiendo el mismo problema que con el ejemplo pasado no entiendo porque, tal ves sea algo parecido con el hola?

Si lo trabajo de local me funciona correctamente

Por favor agradezco su ayuda de antemano
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

problema HTTP ERROR 500 con codigo sencillo php

Publicado por xve (5515 intervenciones) el 11/08/2016 08:18:05
a simple vista no se ver donde puede estar el problema... revisa que las rutas de los archivos sea la correcta y que existan!!! por ejemplo esta ruta: PHPExcel/Classes/PHPExcel.php
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

problema HTTP ERROR 500 con codigo sencillo php (SOLUCIONADO)

Publicado por Luis Felipe (14 intervenciones) el 11/08/2016 16:28:31
Hola a todos, gracias xve y Gaton por su aporte lo bueno de estos foros es el aporte de todo los miembros de la comunidad que le ayudan a uno a caer en cuenta de que problemas son los que podemos tener en nuestro código y así solucionarlos.

Me puse a revisar la documentación de phpExcel subí un ejemplo de los que ellos tiene y me sirvió descargue un archivo de excel descarte con eso que tal vez sea un error del servidor.

Me puse a comparar el código del ejemplo con el que tenia yo (el que mostré arriba) y descubrí estas diferencias que al hacer los cambios respectivos me generaron el excel que esperaba, lo comparto con ustedes

1
2
// Se agrega la libreria PHPExcel 
 	require_once 'PHPExcel/Classes/PHPExcel.php';

Por: (cambie la ruta del archivo antes la tenia dentro de una carpeta PHPExcel/Classes/PHPExcel.php solo deje la carpeta Classes)

1
2
/** Include PHPExcel */
require_once dirname(__FILE__) . '/Classes/PHPExcel.php';

y el otro cambie fue:

1
2
// Se manda el archivo al navegador web, con el nombre que se indica, en formato 2007
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');

Por:

1
2
// Se manda el archivo al navegador web, con el nombre que se indica, en formato 2007
header('Content-Type: application/vnd.ms-excel');

Luego de estos cambios sirvio correctamente todo

Espero les ayude a varios este aporte ya que vi muchos errores por internet parecidos sin solución
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de xve

problema HTTP ERROR 500 con codigo sencillo php (SOLUCIONADO)

Publicado por xve (5515 intervenciones) el 11/08/2016 18:19:57
Gracias por comentarlo!!!
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