tengo un gran problemón.
He desarrollado un backend para modificar mi sitio web.
Usé todas las variables $_GET y $_POST, aunque mi php.ini estaba en con register_globals = on, para evitarme problemas.
Todo funciona de maravillas, pero no cuando pongo las globals en off. El script modificador de tablas no funciona, no sé que tenga.

Lo peor es que según el script "Se insertó el registro a las mil maravillas"
A ver si alguien me puede ayudar antes de que me dedique a la jardinería:
por las dudas pregunto, hay algún analizador para este caso?
moraleja: nunca utilicen register_globals = on << es lo peor que les puede pasar. todo andará de maravillas hasta que suban el sitio al servidor web
Archivo de ejemplo de una tabla:
Código PHP:
<?
$db_tabla = "otros";
$db_tabla_campo_unico = "otr_tit";
$db_tabla_campos_nombre = array("Id", "Título", "Bajada", "URL");
$db_tabla_campos = array("id_otr", "otr_tit", "otr_baj", "otr_url");
$db_formu_campos_tipo = array("id", "text", "textarea", "text");
$db_tabla_campos_mostrar = array("1", "1", "0", "0");
// No editar ----------------------------------------------------------------------------------------
$db_tabla_campos_cantidad = count($db_tabla_campos);
?>
Script para modificar Tabla:
Código PHP:
<? if (isset($_GET['sec']) && is_numeric($_GET['id'])) {
require("cfg.".$_GET['sec'].".php");
require("lib.modificar.php");
require("libreria.php");
require("db.php");
}
else {
echo "borracho de mierda, elegí una sección y un id";
exit;
}
if ($_GET['accion'] != "modificar") {
$sql = "select * from ".$db_tabla." where ".$db_tabla_campos[0]." = '".$_GET['id']."'";
$result = mysql_query($sql) or die("Error: <b>$sql</b><br>". mysql_error());
if ($row = mysql_fetch_row($result)) { ?>
<form method="POST" action="?sec=<? echo $_GET['sec']; ?>&id=<? echo $_GET['id']; ?>&accion=modificar">
<table width="500" border="0" align="center" cellpadding="0" cellspacing="0">
<? for ($i = 0; $i < $db_tabla_campos_cantidad; $i++) {
echo $db_formu_campos_tipo[$i]($db_tabla_campos_nombre[$i], $db_tabla_campos[$i], $row[$i]);
} ?>
<td colspan="3" align="center">
<input type="submit" name="Submit" value="Modificar">
</td>
</table>
</form>
<?
}
else {
echo "borracho hijo de puta, el id que metiste no existe!";
exit;
}
}
else {
for ($i = 0; $i < $db_tabla_campos_cantidad; $i++) {
switch($db_formu_campos_tipo[$i]) {
case "tinytext":
$$db_tabla_campos[$i] = enc_txt($_POST[$db_tabla_campos[$i]]);
break;
case "text":
$$db_tabla_campos[$i] = enc_txt_html($_POST[$db_tabla_campos[$i]]);
break;
case "textarea":
$$db_tabla_campos[$i] = enc_txt_html_ico($_POST[$db_tabla_campos[$i]]);
break;
case "fecha":
$$db_tabla_campos[$i] = $_POST['fec_ano']."-".$_POST['fec_mes']."-".$_POST['fec_dia']." ".$_POST['fec_hor'].":".$_POST['fec_min'];
break;
}
}
$sql = "select ".$db_tabla_campos[0]." from ".$db_tabla." where ".$db_tabla_campo_unico." = '".$$db_tabla_campo_unico."'";
$result = mysql_query($sql);
if ($row = mysql_fetch_assoc($result)) {
if ($row[$db_tabla_campos[0]] == $_POST[$db_tabla_campos[0]]) {
for ($i = 1; $i < $db_tabla_campos_cantidad - 1; $i++) {
$campos_y_variables .= $db_tabla_campos[$i]."='".$$db_tabla_campos[$i]."', ";
}
$sql = "update ".$db_tabla." set ".$campos_y_variables.$db_tabla_campos[$db_tabla_campos_cantidad - 1]."='".$$db_tabla_campos[$db_tabla_campos_cantidad - 1]."' where ".$db_tabla_campos[0]." = '".$$db_tabla_campos[0]."'";
$result = mysql_query($sql) or die("Error: <b>$sql</b><br>". mysql_error());
echo "El registro <b>".$$db_tabla_campo_unico."</b> se modificó correctamente.<br><a href=\"listar.php?sec=".$db_tabla."\">continuar</a>";
}
else {
echo "Ya existe un registro cuyo título es <b>".$$db_tabla_campo_unico."</b>.<br><a href=\"javascript:history.back()\">cambiar</a>";
}
}
else {
for ($i = 1; $i < $db_tabla_campos_cantidad - 1; $i++) {
$campos_y_variables .= $db_tabla_campos[$i]."='".$$db_tabla_campos[$i]."', ";
}
$sql = "update ".$db_tabla." set ".$campos_y_variables.$db_tabla_campos[$db_tabla_campos_cantidad - 1]."='".$$db_tabla_campos[$db_tabla_campos_cantidad - 1]."' where ".$db_tabla_campos[0]." = '".$$db_tabla_campos[0]."'";
$result = mysql_query($sql) or die("Error: <b>$sql</b><br>". mysql_error());
echo "El registro <b>".$$db_tabla_campo_unico."</b> se modificó correctamente.<br><a href=\"listar.php?sec=".$db_tabla."\">continuar</a>";
}
}
mysql_close($db_con); ?>
mis saludos