Hola, buenas noches, necesito de su ayuda por favor!
estoy practicando con maestro detalle, tengo unos códigos, pero no encuentro el error, ya que en la tabla si pongo 2 teléfonos, me graba primero un campo en blanco y luego me graba los registros que ingreso:
acá está el formulario de ingreso: nombre, apellido y la opción de agregar los teléfonos:
FORMULARIO:
<?php
error_reporting(E_ALL ^ E_NOTICE ^ E_DEPRECATED);
?>
<script src="//code.jquery.com/jquery-1.11.0.min.js"></script>
<form method="POST" action="detalle.php">
Nombre: <input type="text" name="nombre" /><br />
Apellido: <input type="text" name="apellido" /><br />
<br />
<h3>Telefonos</h3>
<a href="#" id="agregarTelefono">Agregar nuevo Teléfono</a>
<br /><br />
<div id="contenedorTelefonos" style="background-color:#F2F4F5;">
<div id="tel0" style="display:none;width:100%;margin-bottom:10px;">
<input type="text" name="caract[]" />
<input type="text" name="telefono[]" />
<a href="#" class="eliminarTelefono"> XXXXXX </a>
</div>
</div>
<br /><br />
<input type="submit" value="Guardar" />
</form>
<?php
foreach($telefonos as $t){
if($t != "")
echo '
<div id="tel_1" style="width:100%;margin-bottom:10px;">
<input type="text" name="caract[]" />
<input type="text" name="telefono[]" value="'.$t.'" />
<a href="#" class="eliminarTelefono"> XXXXXX </a>
</div>
';
}?>
<script>
$("#agregarTelefono").click(function(){
var clonado = $("#tel0").clone(true,true);
clonado.attr("id","otroID");
clonado.css("display","block");
$("#contenedorTelefonos").append(clonado);
});
$(".eliminarTelefono").click(function(){
//alert("aca");
$(this).parent().remove();
});
</script>
DETALLE.PHP:
<?php
//conecto con la base de datos
error_reporting(E_ALL ^ E_NOTICE ^ E_DEPRECATED);
$connectid = mysql_connect("localhost","root","");
//selecciono la base de datos a utilizar
mysql_select_db("ejercicios",$connectid);
//Sentencia de inserción del elemento
$ssql = "INSERT INTO contactos
VALUES ('','".$_POST['nombre']."','".$_POST['apellido']."');";
//lo inserto en la base de datos
if (mysql_query($ssql,$connectid)){
//recibo el último id
$ultimo_id = mysql_insert_id();
echo "se ingreso el contacto";
echo "ultimo id: ".$ultimo_id;
$telefonos = $_POST['telefono'];
$caracteristicas = $_POST['caract'];
if(count($telefonos)>1){
foreach($telefonos as $clave =>$telefono){
if(!empty($telefono))
$car=$caracteristicas[$clave];
//guardamos en la base de datos
$guardar="INSERT INTO telefonos VALUES ('','".$ultimo_id."','".$car."','".$telefono."');" ;
$guardar2=mysql_query($guardar);
if (!$guardar2)
{
echo "los telefonos no fueron insertados";
}else{
echo "telefonos ingresados";
}
/* ACA PODEMOS INSERTAR CADA TELEFONO */
}
}
}else{
echo "La inserción del contacto no se realizó";
}
?>