Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/02/2006, 04:25
mawi
 
Fecha de Ingreso: febrero-2006
Mensajes: 32
Antigüedad: 18 años, 3 meses
Puntos: 0
Rellenar un base de datos con un formulario

Hola!!!
Soy nueva en la programacion en php y tengo algunos problemillas q me estan quebrando la cabeza, asiq por si alguno me puede ayudar aqui les digo mi problema:
A ver, hecho un formulario para rellenar unas tablas de una base de datos y de las 4 tablas que se se supone q tiene q insertar datos hay en una q me da un erro. El codigo es el siguiente:
Código PHP:
echo <<< HTML
 <form method="post" action="$PHP_SELF?accion=hacernuevo">
  <table width="392" border="0" cellspacing="0" cellpadding="4" align="center">
    <tr bordercolor="#CCCCCC" bgcolor="#f7f7f4"> 
      <td height="30" colspan="2"> <div align="center"><font face="Tahoma, Verdana, Arial, Helvetica, sans-serif" size="3" color="#003399"><b>Nuevo Cliente </b></font></div></td>
      <td bgcolor="f7f7f4">&nbsp;</td>
    </tr>
    <tr bgcolor="#f7f7f4"> 
      <td width="67"> <div align="left"><font face="tahoma,Verdana, Arial, Helvetica, sans-serif" size="2"><b> Cif:</b></font></div></td>
      <td width="144"><b><font face="Tahoma, Verdana, Arial, Helvetica, sans-serif" size="2"> 
        <input name="clientecif" size=25 type="text" class="imputbox" size="12" maxlength="15"></font></b></td>
    </tr>
    <tr bgcolor="#f7f7f4"> 
      <td width="67"> <div align="left"><font face="tahoma,Verdana, Arial, Helvetica, sans-serif" size="2"><b>Razón Social:</b></font></div></td>
      <td width="144"><b><font face="tahoma,Verdana, Arial" size="2"> 
        <input type="text" size="45" name="clientenombre" class="imputbox" maxlength="100"></font></b></td>
    </tr>    
     <tr bgcolor="#f7f7f4"> 
      <td width="67"> <div align="left"><font face="tahoma,Verdana, Arial, Helvetica, sans-serif" size="2"><b>Persona de contacto:</b></font></div></td>
      <td><b><font face="tahoma,Verdana, Arial" size="2"> </font></b><font face="tahoma,Verdana, Arial" size="2"><font size="-3"><b><font face="tahoma,Verdana, Arial" size="2">
        <input type="text" size=35 name="clientecontacto" class="imputbox" maxlength="100"></font></b></font></font></td>
    </tr>
     <tr bgcolor="#f7f7f4"> 
      <td width="67"> <div align="left"><font size="2" face="tahoma,Verdana, Arial"><b> Dirección</font>:<b/></div></td>
      <td colspan="2"><b><font face="Tahoma, Verdana, Arial, Helvetica, sans-serif" size="2"> 
        <input name="clientedireccion" type="text" class="imputbox" size="60" maxlength="100"></font></b></td>
    </tr>
    <tr bgcolor="#f7f7f4"> 
      <td width="67"> <div align="left"><font size="2" face="tahoma,Verdana, Arial"><b> Email</font>:</b></div></td>
      <td colspan="2"><b><font face="Tahoma, Verdana, Arial, Helvetica, sans-serif" size="2"> 
        <input name="email" type="text" class="imputbox" size="60" maxlength="100"></font></b></td>
    </tr>  
    <tr bgcolor="#f7f7f4"> 
      <td width="67"> <div align="left"><font size="2" face="tahoma,Verdana, Arial"><b> Tel&eacute;fono:</b></font></div></td>
      <td width="144"><b><font face="tahoma,Verdana, Arial" size="2">
        <input type="text" name="clientetelefono" class="imputbox" size="25" maxlength="12"></font></b></td>
      <td width="77"><font face="tahoma,Verdana, Arial" size="2"><b>Fax:</b></font></td>
      <td colspan="2"><font face="tahoma,Verdana, Arial" size="2">
        <input type="text" name="clientefax" class="imputbox" size="25" maxlength="12"></font></td>
    </tr>
     <tr bgcolor="#f7f7f4"> 
      <td width="67"> <div align="left"><font size="2" face="tahoma,Verdana, Arial"><b> Contrato Mantenimiento:</font><b/></div></td>
      <td colspan="2"><b><font face="Tahoma, Verdana, Arial, Helvetica, sans-serif" size="2"> 
        <input name="contratoMant" type="text" class="imputbox" size="60" maxlength="100"></font></b></td>
    </tr> 
     <tr bgcolor="#f7f7f4"> 
      <td width="67"> <div align="left"><font size="2" face="tahoma,Verdana, Arial"><b>Número usuarios del contrato:</font><b/></div></td>
      <td colspan="2"><b><font face="Tahoma, Verdana, Arial, Helvetica, sans-serif" size="2"> 
        <input name="num_usuarios" type="text" class="imputbox" size="60" maxlength="100"></font></b></td>
    </tr>
    <tr bgcolor="#f7f7f4"> 
      <td width="67"> <div align="left"><font size="2" face="tahoma,Verdana, Arial"><b>Fecha de inicio del contrato:</font><b/></div></td>
      <td colspan="2"><b><font face="Tahoma, Verdana, Arial, Helvetica, sans-serif" size="2"> 
        <input name="fe_inicio" type="text" class="imputbox" size="60" maxlength="100">
        </font></b></td>
    </tr>
    <tr bgcolor="#f7f7f4"> 
      <td width="67"> <div align="left"><font size="2" face="tahoma,Verdana, Arial"><b>Periocidad:</font><b/></div></td>
      <td colspan="2"><b><font face="Tahoma, Verdana, Arial, Helvetica, sans-serif" size="2"> 
        <input name="periocidadMant" type="text" class="imputbox" size="60" maxlength="100"></font></b></td>
    </tr>
    <tr bgcolor="#f7f7f4"> 
      <td width="67"> <div align="left"><font size="2" face="tahoma,Verdana, Arial"><b>Fecha de fin del contrato:</font><b/></div></td>
      <td colspan="2"><b><font face="Tahoma, Verdana, Arial, Helvetica, sans-serif" size="2"> 
        <input name="fe_fin" type="text" class="imputbox" size="60" maxlength="100"></font></b></td>
    </tr>    
    <tr bgcolor="#f7f7f4"> 
      <td width="67"> <div align="left"><font size="2" face="tahoma,Verdana, Arial"><b>Precio del contrato:</font><b/></div></td>
        <td colspan="3"><b><font face="Tahoma, Verdana,Arial, sans-serif" size="2">
          <form action="subearchivo.php" method="post" enctype="multipart/form-data">
              <input type="hidden" name="MAX_FILE_SIZE" value="100000">
            <input name="userfile" type="file" size="30"></div></td></form>
    </tr>
     <tr bgcolor="#f7f7f4"> 
      <td colspan="2" height="40"> <div align="center"><b><font face="Tahoma, Verdana, Arial, Helvetica, sans-serif" size="2"> 
          <input type="submit" name="Submit" align="center" value="  Registrar  " class="botones" ></font></b> </div></td><td bgcolor="#f7f7f4"></td>
    </tr> 
  </table>
  <div align="center"><b><font face="Tahoma, Verdana, Arial, Helvetica, sans-serif" size="2"> 
    </font></b> </div>
</form>
HTML;
}
//fin if nuevo
if ($_GET['accion']=="hacernuevo"){

$cif=$_POST['clientecif'];
$nombre=$_POST['clientenombre'];
$contacto=$_POST['clientecontacto'];
$telefono=$_POST['clientetelefono'];
$fax$_POST['fax'];
$direccion=$_POST['clientedireccion'];
$email=$_POST['email'];
$contratoMant=$_POST['contratoMant'];
$num_usuarios=$_POST['num_usuarios'];
$fe_inicio=$_POST['fe_inicio'];
$periocidadMant=$_POST['periocidad'];
$fe_fin=$_POST['fe_fin'];
$precioMant=$_POST['precioMant'];

if (
$cif=="" or $nombre=="") {
  if (
$cif=="") {
     
header ("Location: $pag?accion=nuevo&error=5"); 
     exit;
   }     
  elseif (
$nombre=="") {     
       
header ("Location: $pag?accion=nuevo&error=6");
       exit;
      } 
}
//insertamos en la tabla clientes los datos del cliente
mysql_query("INSERT INTO clientes(cif,nombre,contacto,email) values('$cif','$nombre','$contacto','$email')") or die(mysql_error());

$consulta=mysql_query("select claveC from clientes where cif='$cif'") or die(mysql_error());
$clave=mysql_fetch_array($consulta);

//si ponemos un telefono tenemos q insertar en la tabla de telefonos
if ($telefono != "") {
 
mysql_query("INSERT INTO telefonos values('$clave[claveC]','$telefono','$fax')") or die(mysql_error());
}
//si ponemos una direccion tenemos q insertar en la tabla de direcciones
if ($direccion != "") {
 
mysql_query("INSERT INTO direcciones values('$clave[claveC]','$direccion')") or die(mysql_error());
}

[
B]if($contratoMant==""){//sino tiene contrato ponemos un 0 que es como un false
    
$contrat='0';
    
mysql_query("UPDATE clientes SET contratoMant= '$contrat' WHERE claveC='$clave[claveC]'");
}
if(
$contratoMant!=""){//si rellenamos el campo de contrato esq este cliente si tiene contrato de mantenimiento
    
$contrat='1';
    
mysql_query("UPDATE clientes SET contratoMant= '$contrat' WHERE claveC='$clave[claveC]'");
    
//tb tenemos que rellenar la tabla del contrato de mantenimiento si el cliente tiene contrato.
    
mysql_query("INSERT INTO mantenimientoC(nombreMant,num_usuarios,fe_inicio,periocidadMant,fe_fin,codCliente) values('$contratoMant','$num_usuarios','$fe_inicio,'$periocidadMant','$fe_fin','$clave[claveC]')") or die(mysql_error());[/B]

}


echo <<<HTML
         <img src="../media/masmedia/nuevo.gif" width="154" height="193" align="absmiddle">&nbsp;Se añadió correctamente el cliente a la lista.$fimplantacion
         <font size="2" face="Tahoma, Arial, Verdana"><a href=clientes.php?id=$_GET
[id] class="enlace3" >[seguir] $fimplantacion</a> </font>
   
       
HTML;
mysql_free_result($consulta);
mysql_close();
}
//fin hacernuevo 
Imagino q me vais a decir q es muy lioso y habra otra manera mas sencilla pero lo hecho como he sabido, esq aun toy muy verde.
Bueno el problema viene a la hora de insertar en la tabla mantenimientoC, se supone q en esta tabla solo tiene q insertar cuando escribimos algo en el campo de contrato de mantenimiento, si lo dejamos en blanco esa tabla no tiene q rellenarse con nada(asiq cuando lo dejamos en blanco todo funciona muy bien)
El fallo q da es el siguiente:" You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '19-01-2006','58')' at line 1"
Bueno a ver si alguien me puede echar una mano, gracias

Última edición por jam1138; 02/02/2006 a las 04:43