Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] error al insertar registro

Estas en el tema de error al insertar registro en el foro de PHP en Foros del Web. Hola tengo un problema que no logro resolver tengo este formulario Código PHP: <form action=" <?php  echo  $editFormAction ;  ?> " method="post" name="form1" id="form1" accept-charset="ISO-8859-1" enctype="multipart/form-data">       <span id="id">           <label for="idaudiolibro"></label>           <input type="text" name="idaudiolibro" id="idaudiolibro" />           <span class="textfieldRequiredMsg">La Id no puede estar vacio.</span><span class="textfieldInvalidFormatMsg">Esto no es una Id.</span><span class="textfieldMaxCharsMsg">Esta Id es demasiada larga .</span></span> <span id="url"> ...
  #1 (permalink)  
Antiguo 27/09/2013, 08:41
 
Fecha de Ingreso: agosto-2013
Ubicación: cadiz
Mensajes: 35
Antigüedad: 10 años, 8 meses
Puntos: 0
error al insertar registro

Hola tengo un problema que no logro resolver tengo este formulario

Código PHP:
<form action="<?php echo $editFormAction?>" method="post" name="form1" id="form1" accept-charset="ISO-8859-1" enctype="multipart/form-data">
      <span id="id">
          <label for="idaudiolibro"></label>
          <input type="text" name="idaudiolibro" id="idaudiolibro" />
          <span class="textfieldRequiredMsg">La Id no puede estar vacio.</span><span class="textfieldInvalidFormatMsg">Esto no es una Id.</span><span class="textfieldMaxCharsMsg">Esta Id es demasiada larga .</span></span>
<span id="url">
          <label for="enlace"></label>
          <input type="text" name="enlace" id="enlace" />
          <span class="textfieldRequiredMsg">Escribe el enlace de descarga.</span><span class="textfieldMinCharsMsg">Este enlace es demasiado corto.</span><span class="textfieldMaxCharsMsg">Este enlace es demasiado largo.</span></span><span id="name">
          <label for="usuario"></label>
          <input type="text" name="usuario" id="usuario" />
          <span class="textfieldRequiredMsg">Escribe un Apodo o Usuario.</span><span class="textfieldMinCharsMsg">Minimo 3 caracteres.</span><span class="textfieldMaxCharsMsg">Se ha superado el n&uacute;mero m&aacute;ximo de caracteres.</span></span>
        <span id="sprytextarea1">
            <label for="valoracion"></label>
            <textarea name="valoracion" id="valoracion" cols="45" rows="5">  </textarea>
            <span class="textareaRequiredMsg">no puede estar vacio.</span></span>
       <select name="fallo" class="campodetext" >
    <option value="images/1fichier.jpg">1fichier.com</option>
    <option value="images/4shared.jpg">4shared</option>
    <option value="images/bayfiles.jpg">Bayfiles</option>
    <option value="images/bitshare.jpg">Bitshare</option>
    <option value="images/cloudzer.jpg">Cloudzer</option>
    <option value="images/crocko.jpg">Crocko</option>
    <option value="images/cyberlocker.jpg">Cyberlocker</option>
    <option value="images/depositfiles.jpg">Depositfiles</option>
    <option value="images/filerio.jpg">Filerio</option>
    <option value="images/fileswap.jpg">Fileswap</option>
    <option value="images/freakshare.jpg">Freakshare</option>
    <option value="images/gamefront.jpg">Gamefront</option>
    <option value="images/hipfile.jpg">Hipfile</option>
    <option value="images/hotfile.jpg">hotfile</option>
    <option value="images/mediafire.jpg">Mediafire</option>
    <option value="images/mega.jpg">Mega</option>
    <option value="images/megashares.jpg">Megashares</option>
    <option value="images/multiupload.jpg">Multiupload</option>
    <option value="images/putlocker.jpg">Putlocker</option>
    <option value="images/rapidgator.jpg">Rapidgator</option>
    <option value="images/rapidshare.jpg">Rapidshare</option>
    <option value="images/rghost.jpg">Rghost</option>
    <option value="images/sockshare.jpg">Sockshare</option>
    <option value="images/solidfiles.jpg">Solidfiles</option>
    <option value="images/turbobit.jpg">Turbobit</option>
    <option value="images/uppit.jpg">Uppit</option>    <option value="images/uptobox.jpg">Uptobox</option>
    <option value="images/Otro.jpg">Otro</option>
     </select>
          <input type="submit" value="Enviar enlace" />
      <input type="hidden" name="MM_insert" value="form1" />
    </form>
y este codigo

Código PHP:
<?php
if (!function_exists("GetSQLValueString")) {
function 
GetSQLValueString($theValue$theType$theDefinedValue ""$theNotDefinedValue ""
{
  if (
PHP_VERSION 6) {
    
$theValue get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
  }

  
$theValue function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch (
$theType) {
    case 
"text":
      
$theValue = ($theValue != "") ? "'" $theValue "'" "NULL";
      break;    
    case 
"long":
    case 
"int":
      
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case 
"double":
      
$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
      break;
    case 
"date":
      
$theValue = ($theValue != "") ? "'" $theValue "'" "NULL";
      break;
    case 
"defined":
      
$theValue = ($theValue != "") ? $theDefinedValue $theNotDefinedValue;
      break;
  }
  return 
$theValue;
}
}

$editFormAction $_SERVER['PHP_SELF'];
if (isset(
$_SERVER['QUERY_STRING'])) {
  
$editFormAction .= "?" htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset(
$_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
  
$insertSQL sprintf("INSERT INTO descargas (idaudiolibro, enlace, usuario, valoracion, fallo) VALUES (%s, %s, %s, %s, %s)",
                       
GetSQLValueString($_POST['idaudiolibro'], "text"),
                       
GetSQLValueString($_POST['enlace'], "text"),
                       
GetSQLValueString($_POST['usuario'], "text"),
                       
GetSQLValueString($_POST['valoracion'], "text"),
                       
GetSQLValueString($_POST['fallo'], "text"));

  
mysql_select_db($database_audiolibro$audiolibro);
  
$Result1 mysql_query($insertSQL$audiolibro) or die(mysql_error());

  
$insertGoTo "nuevo-enlace.php";
  if (isset(
$_SERVER['QUERY_STRING'])) {
    
$insertGoTo .= (strpos($insertGoTo'?')) ? "&" "?";
    
$insertGoTo .= $_SERVER['QUERY_STRING'];
  }
  
header(sprintf("Location: %s"$insertGoTo));
}
?>
es muy simple, es para agregar enlaces funciona perfecto pero al insertar enlaces de "mediafire y megashare" y me da el error
Forbidden

You don't have permission to access /ejemplo on this server.
el error esta en la url pero lo raro es que si agrego un espacio en blanco al principio de la url funciona perfectamente
porque al agregar ese espacio se arregla ?
y con los otros servidores funciona perfectamente ?

espero haber me explicado bien un saludo !!
  #2 (permalink)  
Antiguo 27/09/2013, 08:51
Avatar de losaudiolibros  
Fecha de Ingreso: abril-2011
Mensajes: 69
Antigüedad: 13 años
Puntos: 0
Respuesta: error al insertar registro

uff a mi me pasa exactamente igual tengo un sistema practicamente igual haber si alguien nos ayuda 11
__________________
www.LosAudioLibros.eshttp://www.losaudiolibros.es
correo [email protected]
  #3 (permalink)  
Antiguo 27/09/2013, 09:01
Avatar de jonni09lo
Colaborador
 
Fecha de Ingreso: septiembre-2011
Ubicación: Estigia
Mensajes: 1.471
Antigüedad: 12 años, 7 meses
Puntos: 397
Respuesta: error al insertar registro

Podrías hacer el favor de hacer lo siguiente?

Código PHP:
Ver original
  1. //header(sprintf("Location: %s", $insertGoTo));
  2. echo sprintf("Location: %s", $insertGoTo);

Y mostrarnos que te imprime (haz varias pruebas con urls que te funcionan y con las que no) para tener una idea mas clara de que podría estar pasando

Saludos
__________________
Haz preguntas inteligentes-Como ser Hacker
No hacer preguntas por mensaje privado. No sólo no es inteligente sino que es egoísta.
  #4 (permalink)  
Antiguo 27/09/2013, 10:06
 
Fecha de Ingreso: agosto-2013
Ubicación: cadiz
Mensajes: 35
Antigüedad: 10 años, 8 meses
Puntos: 0
Respuesta: error al insertar registro

Cita:
Iniciado por jonni09lo Ver Mensaje
Podrías hacer el favor de hacer lo siguiente?

Código PHP:
Ver original
  1. //header(sprintf("Location: %s", $insertGoTo));
  2. echo sprintf("Location: %s", $insertGoTo);

Y mostrarnos que te imprime (haz varias pruebas con urls que te funcionan y con las que no) para tener una idea mas clara de que podría estar pasando

Saludos
Hola, y gracias por tu ayuda e insertado el codigo pero donde me lo debe de imprimir ?
  #5 (permalink)  
Antiguo 27/09/2013, 10:10
Avatar de jonni09lo
Colaborador
 
Fecha de Ingreso: septiembre-2011
Ubicación: Estigia
Mensajes: 1.471
Antigüedad: 12 años, 7 meses
Puntos: 397
Respuesta: error al insertar registro

El echo te debería mostrar el pantalla el resultado, después de haber hecho el registro...

Saludos
__________________
Haz preguntas inteligentes-Como ser Hacker
No hacer preguntas por mensaje privado. No sólo no es inteligente sino que es egoísta.
  #6 (permalink)  
Antiguo 27/09/2013, 10:22
Avatar de DooBie  
Fecha de Ingreso: septiembre-2004
Mensajes: 1.101
Antigüedad: 19 años, 7 meses
Puntos: 71
Respuesta: error al insertar registro

Quita estas líneas
Código PHP:
if (isset($_SERVER['QUERY_STRING'])) {
    
$insertGoTo .= (strpos($insertGoTo'?')) ? "&" "?";
    
$insertGoTo .= $_SERVER['QUERY_STRING'];
  } 
  #7 (permalink)  
Antiguo 27/09/2013, 14:26
 
Fecha de Ingreso: agosto-2013
Ubicación: cadiz
Mensajes: 35
Antigüedad: 10 años, 8 meses
Puntos: 0
Respuesta: error al insertar registro

Cita:
Iniciado por jonni09lo Ver Mensaje
El echo te debería mostrar el pantalla el resultado, después de haber hecho el registro...

Saludos
Lo intento pero no muestra nada asi deberia quedar no ?
Código PHP:
<?php
if (!function_exists("GetSQLValueString")) {
function 
GetSQLValueString($theValue$theType$theDefinedValue ""$theNotDefinedValue ""
{
  if (
PHP_VERSION 6) {
    
$theValue get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
  }

  
$theValue function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch (
$theType) {
    case 
"text":
      
$theValue = ($theValue != "") ? "'" $theValue "'" "NULL";
      break;    
    case 
"long":
    case 
"int":
      
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case 
"double":
      
$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
      break;
    case 
"date":
      
$theValue = ($theValue != "") ? "'" $theValue "'" "NULL";
      break;
    case 
"defined":
      
$theValue = ($theValue != "") ? $theDefinedValue $theNotDefinedValue;
      break;
  }
  return 
$theValue;
}
}

$editFormAction $_SERVER['PHP_SELF'];
if (isset(
$_SERVER['QUERY_STRING'])) {
  
$editFormAction .= "?" htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset(
$_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
  
$insertSQL sprintf("INSERT INTO descargas (idaudiolibro, enlace, usuario, valoracion, fallo) VALUES (%s, %s, %s, %s, %s)",
                       
GetSQLValueString($_POST['idaudiolibro'], "text"),
                       
GetSQLValueString($_POST['enlace'], "text"),
                       
GetSQLValueString($_POST['usuario'], "text"),
                       
GetSQLValueString($_POST['valoracion'], "text"),
                       
GetSQLValueString($_POST['fallo'], "text"));

  
mysql_select_db($database_audiolibro$audiolibro);
  
$Result1 mysql_query($insertSQL$audiolibro) or die(mysql_error());

  
$insertGoTo "nuevo-enlace.php";
  if (isset(
$_SERVER['QUERY_STRING'])) {
    
$insertGoTo .= (strpos($insertGoTo'?')) ? "&" "?";
    
$insertGoTo .= $_SERVER['QUERY_STRING'];
  }
  
header(sprintf("Location: %s"$insertGoTo));
  echo 
sprintf("Location: %s"$insertGoTo);
}
?>
  #8 (permalink)  
Antiguo 27/09/2013, 14:35
 
Fecha de Ingreso: agosto-2013
Ubicación: cadiz
Mensajes: 35
Antigüedad: 10 años, 8 meses
Puntos: 0
Respuesta: error al insertar registro

DooBie probe en quitar las lineas y nada..
  #9 (permalink)  
Antiguo 27/09/2013, 15:16
Avatar de jonni09lo
Colaborador
 
Fecha de Ingreso: septiembre-2011
Ubicación: Estigia
Mensajes: 1.471
Antigüedad: 12 años, 7 meses
Puntos: 397
Respuesta: error al insertar registro

No te va a mostrar nada ya que

Código PHP:
Ver original
  1. header(sprintf("Location: %s", $insertGoTo));

Está sin comentar, si miras mi mensaje tiene // antes del header...

Saludos
__________________
Haz preguntas inteligentes-Como ser Hacker
No hacer preguntas por mensaje privado. No sólo no es inteligente sino que es egoísta.
  #10 (permalink)  
Antiguo 28/09/2013, 05:00
 
Fecha de Ingreso: agosto-2013
Ubicación: cadiz
Mensajes: 35
Antigüedad: 10 años, 8 meses
Puntos: 0
Respuesta: error al insertar registro

Pero no es necesario que este comentado para que lo muestre no ? el codigo no esta comentado porque si te fijas el comentario no lo copie lo que crees que es el comentario va con mi codigo solo pege el echo debajo
  #11 (permalink)  
Antiguo 28/09/2013, 05:12
Avatar de DooBie  
Fecha de Ingreso: septiembre-2004
Mensajes: 1.101
Antigüedad: 19 años, 7 meses
Puntos: 71
Respuesta: error al insertar registro

Cita:
Iniciado por manolilorenzo Ver Mensaje
Pero no es necesario que este comentado para que lo muestre no ? el codigo no esta comentado porque si te fijas el comentario no lo copie lo que crees que es el comentario va con mi codigo solo pege el echo debajo
Si preguntas eso es que no sabes lo que hace header()
Comenta esa línea y prueba el código que te han puesto.
  #12 (permalink)  
Antiguo 28/09/2013, 05:19
 
Fecha de Ingreso: agosto-2013
Ubicación: cadiz
Mensajes: 35
Antigüedad: 10 años, 8 meses
Puntos: 0
Respuesta: error al insertar registro

En localhost va todo perfecto pero en el servidor online no y ademas en un foro phpbb3 que esta en la misma web también ocurre lo mismo al introducir esas url sale el error "You don't have permission to access /ejemplo on this server" es posible que el error este en el servidor ?
  #13 (permalink)  
Antiguo 30/09/2013, 11:36
 
Fecha de Ingreso: agosto-2013
Ubicación: cadiz
Mensajes: 35
Antigüedad: 10 años, 8 meses
Puntos: 0
Respuesta: error al insertar registro

Solucionado era un problema del servidor

Etiquetas: formulario, html, mysql, registro, select, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:29.