Funciones no responden PHP5

Estoy creando una página Web dinámica con conexión a una base de datos Postgres, mi problema es que no toma el código PHP, bueno la conexión con la base de datos se realiza correctamente, pero a la hora de realizar las respectivas operaciones con los botones "submit" (Insertar, Listar, Modificar ) no realiza el proceso, he tratado de descifrar el error pero no se donde podrá estar ya que el sistema no arroja errores, gracias por su amable colaboración.
Por último me gustaría saber si existe algún software que encripte código php, para no dejarlo ver de los usuarios o otro programador, si es afirmativo por favor indicarme como se llama. Gracias. El siguientes es el código que llevo:
<html>
<center>
<H1> CARROCERIAS </H1>
<br>
<br>
</center>
<form  name = "forma" method = "post" action = "carrocerias.php" >
<?php
   /* ********************* */
   /* Conexion a PostgreSQL */
   /* ********************* */
   /* Conexion a la base de datos   phpinfo();*/
   $db_conexion = pg_connect("port=5432 dbname=Rodamiento user=postgres password= santa");
   if (!$db_conexion) {
        echo "<CENTER>
             Tengo Problemas de conexion con la base de datos.
              </CENTER>";
        exit;
     }
 else{
 echo "Base de Datos Conectada........Rodamiento";
  if($insertar){
    if(!$codigo or !$nombre){
       echo "
<script languaje=javascript>alert ('Digite Todos Los Datos');</script>
";
       }
      else{
           $sql = pg_exec($db_conexion, "select from carrocerias where cod_carroceria = '$codigo' ");
           $n = pg_numrows(sql);
           if( $n = 0){
              $sql = pg_exec( $db_conexion, "insert into corrocerias values('$codigo', '$nombre')");
              echo "
<h4>datos insertados</h4>
";
              }
              else
                  echo "
<script languaje=javascript>alert ('Datos Repetidos');</script>
";
         }   
    }
if( $modificar ){
     if( !$codigo or !$nombre ){
 echo "<scripit languaje = javascript>alert('Digite Codigo a Modificar')</script>
";
       }
     else{
      $sql=pg_exec($db_conexion, "update carroceria set des_carroceria='$nombre' where cod_carroceria = '$codigo' ");
   echo "
<h1>Datos Modificados...</h1>
";
      }
  }
}
?>
<hr>
</hr>
<b>Datos Carroceria</b>
<hr>
</hr>
<table>
<tr>
<td><b>Codigo</b><font color = "#ff0000" face="Arial">*</font>:
<td><input type = "text" name = "codigo" size = 7 maxlength = 5 value= "<?php echo $cod1 ?>"><br>
<tr>
<td><b>Descripcion</b><font color = "#ff0000" face="Arial">*</font>:
<td><input type = "text" name = "nombre"  size = 20 maxlength = 20 value= "<?php echo $nom1 ?>"><br>
</table>
<hr>
</hr>
<br>
<input value ="insertar" >
<input value = "listar" >
<input value = "Modificar" >
<?php
    if($listar){
       echo "
<table border=1>
<tr>
<td>Codigo 
<td>Carroceria";
      $query = "select * from carrocerias order by cod_carroceria";
      $sql = pg_exec( $db_conexion, $query );
      $n = pg_numrows( $sql );
      if($n > 0){
         for( $i = 0 ; $i < $n ; $i++ ){
           $row = pg_fetch_object( $sql, $i );
           echo "
<tr>
<td> $row->cod_carroceria 
<td>$row->des_carroceria ";
           }
        }
       else{
          echo"
<script> alert('No Existen Datos');</script>
";
          }
      echo "
</table>
";
    }
?>
</form>
</html>

1 Respuesta

Respuesta
1
Si existe un error debería mostratelo. Para obligar a PHP a que muestre los errores coloca al principio de la página que quieres que muestre el error esto:
<?php ini_set('display_errors', 1); ?>   O  <?php ini_set('display_errors', true); ?>
Y
error_reporting(E_ALL);
Espero que así te muestre los errores para tener una mejor idea de lo que este pasando.
Recuerda quitarlo cuando mosmtes tu app en producción. Los usuarios no deberían ver los errores.
En cuanto a lo de encriptar existen varios pero nunca he usado uno. Es una desventaja de PHP, por ejemplo en java se crean los archivo . class y listo nadie ve tu código o por lo menos no tan fácilmente. Todos los ofuscadores tienen también su desencriptador por eso también seria un tiempo perdido usar uno.
Saludos.
Omar Yepez
www.yepsua.com
Señor Experto con la respuesta dada por usted, realice lo indicado, observe que tengo problemas con las variables. El código que le envíe corría perfectamente con PHP4, ¿así las cosas tendré que retomar todo lo que sabia en cuanto a PHP?, PHP4 no tenia que declarar estas variables, y ahora con PHP5 declaro y ahora sí no veo ningún error y no sigue corriendo no toma el Submit.
Gracias la atención prestada.
Estas migrando a PHP 5.
Si hay algunas cosas que cambiaron pero coloca los errores por aquí a ver que que dicen y que linea son así te puedo ayudar un poco más
Gracias señor experto, bueno revise los errores con el código que usted me envío, y, e di ciuenta que estoy fallando en la declaración de variables, en este código que vuelvo a enviarle declara las variables, y ahora no sale ningún error pero la sentencia submit no sigue funcionando, gracias por la colaboración prestada.
<?php ini_set('display_errors', 1); ?>   O  <?php ini_set('display_errors', true); ?> Y
<?php error_reporting(E_ALL); ?>
<?php
/* Declaración de variables*/
$cod1 = $nom1 = "";
$codigo = $nombre = "";
   /* ********************* */
   /* Conexion a PostgreSQL */
   /* ********************* */
   /* Conexion a la base de datos   phpinfo();*/
   $db_conexion = pg_connect("dbname=Rodamiento user=postgres password= santa");
   if (!$db_conexion) {
        echo "<CENTER>
             Tengo Problemas de conexion con la base de datos.
              </CENTER>";
        exit;
     }
 else{
 echo "Base de Datos Conectada........Rodamiento";
  if(isset($insertar)){
    if (!$codigo or !$nombre){
       echo "
<script languaje=javascript>alert ('Digite Todos Los Datos');</script>
";
       }
      else{
           $sql = pg_exec($db_conexion, "select from carrocerias where cod_carrocerias = '$codigo' ");
           $n = pg_numrows(sql);
           if( $n = 0){
              $sql = pg_exec( $db_conexion, "insert into corrocerias values('$codigo', '$nombre')");
              echo "
<h4>datos insertados</h4>
";
              }
              else
                  echo "
<script languaje=javascript>alert ('Datos Repetidos');</script>
";
         }   
    }
if (isset($modificar)){
     if( !$codigo or !$nombre ){
 echo "<scripit languaje = javascript>alert('Digite Codigo a Modificar')</script>
";
       }
     else{
      $sql=pg_exec($db_conexion, "update carrocerias set des_carrocerias='$nombre' where cod_carrocerias = '$codigo' ");
   echo "
<h1>Datos Modificados...</h1>
";
      }
  }
if(isset ($listar)){
       echo "
<table border=1>
<tr>
<td>Codigo 
<td>Carroceria";
      $query = "select * from carrocerias order by cod_carrocerias";
      $sql = pg_exec( $db_conexion, $query );
      $n = pg_numrows( $sql );
      if($n > 0){
         for( $i = 0 ; $i < $n ; $i++ ){
           $row = pg_fetch_object( $sql, $i );
           echo "
<tr>
<td> $row->cod_carrocerias 
<td>$row->des_carrocerias ";
           }
        }
       else{
          echo"
<script language=javascript> alert('No Existen Datos');</script>
";
          }
      echo "
</table>
";
    }
}
?>
<HTML>
<center>
<H1> CARROCERIAS </H1>
<br>
<br>
</center>
<form  name = "forma" method = "post" action = "carrocerias.php" >
<hr>
</hr>
<b>Datos Carroceria</b>
<hr>
</hr>
<table>
<tr>
<td><b>Codigo</b><font color = "#ff0000" face="Arial">*</font>:
<td><input type = "text" name = "codigo" size = 7 maxlength = 5 ><br>
<tr>
<td><b>Descripcion</b><font color = "#ff0000" face="Arial">*</font>:
<td><input type = "text" name = "nombre"  size = 20 maxlength = 20 ><br>
</table>
<hr>
</hr>
<br>
<input type="submit" name="insertar" value ="insertar" >
<input type="submit" name="listar" value = "listar" >
<input type="submit" name="modificar" value = "Modificar" >
</form>
</html>
Desde php 5 en adelante la forma de tomar un valor de los form seria
$_POST['nombreDeLaVariable'] si el method del form es POST
$_GET['nombreDeLaVariable'] si el method del form es GET
$_REQUEST['nombreDeLaVariable'] para cualquiera de los dos pero se recomeinda los dos primeros.
entonces si en tu pagina tienes una variable $codigo y pertenece a un formulario:
<input type = "text" name = "codigo" size = 7 maxlength = 5 />
Entonces tienes que hacer:
$codigo = $_POST['codigo'];
Y ahí si tomarías el valor:
Si quieres seguir trabajando como lo tenias antes debes configurar el php.ini para que admita variables globales pero eso es una mala practica.
En el archivo php.ini :
register_globals = On  <- permite variables globales
Saludos.
Omar Yepez
www.yepsua.com

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas