Ver Mensaje Individual
  #28 (permalink)  
Antiguo 01/11/2007, 17:26
Avatar de juaniquillo
juaniquillo
Colaborador
 
Fecha de Ingreso: noviembre-2005
Ubicación: San Juan, Puerto Rico
Mensajes: 5.745
Antigüedad: 19 años
Puntos: 281
Re: Lograr lo siguiente con Dreamweaver

Ok, primero los cambios. Este es mi formulario:

Código PHP:
<form action="Untitled-2.php" method="post" name="form1" id="form1">
  <table width="200" border="0" cellpadding="5" cellspacing="1" bgcolor="#666666">
    <?php do { ?>
      <tr>
        <td bgcolor="#FFFFFF"><label><?php echo $row_Recordset1['preguntas']; ?></label></td>
        <td width="5%" bgcolor="#FFFFFF"><input name="check[]" type="checkbox" id="check[]" value="<?php echo $row_Recordset1['preguntas']; ?>" /></td>
      </tr>
      <?php } while ($row_Recordset1 mysql_fetch_assoc($Recordset1)); ?>
  </table>
  <p>
    <label>
    <input name="usuario" type="hidden" id="usuario" value="juaniquillo" />
    <input type="submit" name="Submit" value="enviar" />
    </label>
  </p>
</form>
Como puedes ver he eliminado el id y le he dado al check el valor de la pregunta. También esta el campo del usuario pero en verdad no lo necesitas si estas usando una variable de sesión para eso, ero por si acaso. Se ve asi en DW:



Ahora, este es el código completo de la pagina que recibe el formulario con comentarios de que es cada cosa:

Código PHP:
//datos de la coneccion
require_once('../Connections/conn_pruebas_local.php'); 

//funcion para hacer el mysql_real_escape_string
if (!function_exists("GetSQLValueString")) {
function 
GetSQLValueString($theValue$theType$theDefinedValue ""$theNotDefinedValue ""
{
  
$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;
}
}
//recojemos los valores
$pregunta $_POST['pregunta'];
$usuario $_POST['usuario'];

//verificamos si se envia un array
if(is_array($_POST['check'])) {
    
//el titulo
    
echo "<strong>Las siguientes preguntas han sido escogidas por ".$usuario."</strong><br /><br />";
    while(list(
$key,$value) = each($_POST['check'])) {
        
//hacemos el mysql_real_escape_string con la funcion provista por DW. Siempre hay que revisar que la informacion que envia el usuario no es maliciosa
        
$insert_pregunta GetSQLValueString($value"text");
        
$insert_usuario GetSQLValueString($usuario"text");
        
        
//hacemos el insert
        
$query="INSERT INTO    preguntas_escogidas (pregunta, usuario) VALUES ($insert_pregunta,$insert_usuario)";
        
        
//seccionamos la base de datos y la coneccion
        
mysql_select_db($database_conn_pruebas_local$conn_pruebas_local);
        
        
//hacemos el query
        
$resultado1 mysql_query($query$conn_pruebas_local) or die(mysql_error());
        
//hacemos echo a las preguntas
        
echo $value.'<br />';
        }
    }
else {
    echo 
"La informaci&oacute;n enviada no es un array";
    } 
Como puedes ver, hay que hacerlo a mano ya que DW no permite hacer un insert si no esta el formulario presente. Es por eso que te había dicho que este mensaje tiene más sentido que este en el foro de PHP.

Pero es eso, recibir la información, y se hace el insert. Me dices si tienes alguna duda.