Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/07/2004, 19:26
lizalina
 
Fecha de Ingreso: enero-2004
Mensajes: 230
Antigüedad: 20 años, 2 meses
Puntos: 0
Sonrisa formularios raros con php

Como estan, queria pedirles un favorzote, hice un formulario en php para enviar prefernecias de productos para que los guarde en mysql, si el usuario elige una de las opciones que tengo en la base de datos se almacena con 1 y se queda con 0 aquellas que no marco, el problema que tengo es que solo me acepta la primera entrada de mi checkbox siendo que tengo 6 el codigo es el siguiente:

form2.php

<?
if ((isset ($_GET['getcode'])) && ($_GET['getcode']==$PHP_SELF)) {
highlight_file(basename($PHP_SELF));
exit();
}

if(isset($_POST['enviar']))
{
echo "Has enviado el formulario !\n";

if ($_POST['inputarea1']!="") {

dentro del input.\n";

if($link = mysql_connect ("mysql05.powweb.com", "liliazmdb", "azmusr021")){
print("Conectada");
// $SQL="INSERT INTO usuario values (0,'".$_POST['inputarea1']."' ,0) ";
$SQL="select id from usuario where Direccion='".$_POST['inputarea1']."' "; //bd serv
['inputarea1']."' "; //bd local

if($tabla=mysql_db_query("wipala",$SQL))
{
if($row=mysql_fetch_row($tabla))
{
$id=$row[0];
$SQL="Update usuario set ";

if(isset($_POST['micheckbox'][0])) $SQL.=" Artesanias=1 ";
if(isset($_POST['micheckbox'][1])) $SQL.=" ,ceramica=1 ";
if(isset($_POST['micheckbox'][2])) $SQL.=" ,cuero=1 ";
if(isset($_POST['micheckbox'][3])) $SQL.=" ,instrumentos=1 ";
if(isset($_POST['micheckbox'][4])) $SQL.=" ,joyeria=1 ";
if(isset($_POST['micheckbox'][5])) $SQL.=" ,textiles=1 ";
$SQL.=" where id=".$id;
if(mysql_db_query("wipala",$SQL))
print ("guardada aqui");
}

}
else
{ print("nada");
}
mysql_close ($link);
}
else print("No hay conexion");
}

if (isset($_POST['micheckbox']))
{
echo "<BR><br>activaste el checkbox.\n";
echo "<ul>";
foreach($_POST['micheckbox'] as $value)
{ echo "<li>elegiste el checkbox nº " . $value . "</li>\n"; }

echo "</ul>";
}
else
{ echo "<BR>No activaste el checkbox.\n"; }


getcode=$PHP_SELF&layout=no\">aqui</a></i></p>";
}
else {
echo <<<EOT
<FORM name ="form2" method="POST" action="form2.php">
Escribe en este campo input: <INPUT type="text" name="inputarea1" size="20"><BR>
click 1: <INPUT type="checkbox" name="micheckbox[]" value="1"><BR>
click 2: <INPUT type="checkbox" name="micheckbox[]" value="2"><BR>
click 3: <INPUT type="checkbox" name="micheckbox[]" value="3"><BR>

<INPUT type="submit" name="enviar" value="Click para enviar!">
</FORM>
EOT;

}

Como ven devuelve el valor del checkbox que se marco ahora el codigo del formulario es el siguiente

form_envio.php


if ((isset ($_GET['getcode'])) && ($_GET['getcode']==$PHP_SELF)) {
highlight_file(basename($PHP_SELF));
exit();
}

if(isset($_POST['enviar'])) // aqui esta el switch para usar UN SOLO archivo
// si $_POST['enviar'] existe, el formulario se
// ha enviado y podemos procesarlo. Si no,
// mostramos el formulario de entrada

{
echo "Has enviado el formulario !\n";

if ($_POST['inputarea']!="") {

echo "<BR>Escribiste <b>" .strip_tags($_POST['inputarea']) . "</b> dentro del input.\n";
echo "<BR>Escribiste <b>" .strip_tags($_POST['inputarea1']) . "</b> dentro del input.\n";
}


if (isset($_POST['micheckbox'])) {

echo "<BR><br>activaste el checkbox.\n";
echo "<ul>";
foreach($_POST['micheckbox'] as $value) {

echo "<li>elegiste el n&ordm; " . $value . "</li>\n";
}

echo "</ul>";
}

else {

echo "<BR>No elegiste nada.\n";
}

echo "Sugerencias: ";
if (isset ($_POST['mitextarea'])) {
echo "<BR>En el area de texto escribiste:<I> " . strip_tags($_POST['mitextarea']) . "</I>\n";
}
else {
echo "<BR>No has utilizado el area de texto\n";
}

}
else {
echo <<<EOT
<FORM name ="form2" method="POST" action="form2.php">
Nombre: <INPUT type="text" name="inputarea" size="20"><BR>
e-mail: <INPUT type="text" name="inputarea1" size="20"><BR>

Deseo suscribirme en:<br>
<br>

Artesanias y adornos : <INPUT type="checkbox" name="micheckbox[]" value="1"><br>
Ceramica y porcelana : <INPUT type="checkbox" name="micheckbox[]" value="2"><br>
Confecciones de cuero: <INPUT type="checkbox" name="micheckbox[]" value="3"> <br>
Instrumentos musicales:<INPUT type="checkbox" name="micheckbox[]" value="4"><br>
Joyería y orfebreria :<INPUT type="checkbox" name="micheckbox[]" value="5"> <br>
Textiles y tejidos :<INPUT type="checkbox" name="micheckbox[]" value="6">



<BR>
<TEXTAREA name="mitextarea" rows="4" cols="30"></TEXTAREA><BR>
<INPUT type="submit" name="enviar" value="Click para enviar!">
</FORM>
EOT;

}
?>
aca se eligen los valores del checkbox, pero el problema que tengo es que solo funciona para el primer checkbox(artesanias), los demas funciona solo si activo el primero, me harian un enorma favor si me ayudan, se que el código es largo pero es super urgente ya que es parte de mi tesis.

Gracias