Ver Mensaje Individual
  #12 (permalink)  
Antiguo 30/05/2015, 09:58
Avatar de zalito12
zalito12
 
Fecha de Ingreso: noviembre-2011
Ubicación: Coruña, España
Mensajes: 430
Antigüedad: 13 años, 1 mes
Puntos: 67
Respuesta: Insertar registro a dos tablas según la eleccion

Faltaba un parentesis en el if y una llave:
Código PHP:
Ver original
  1. <?php
  2. require_once('Connections/local.php');
  3.  
  4. if(isset($_POST)){ //Si te da problemas prueba: if(isset($_POST['submit']){
  5.     $tipo =$_POST['tipo'];
  6.     $documento =$_POST['estudianteId'];
  7.     $nombre =$_POST['estudianteNombre'];
  8.     $correo =$_POST['estudianteCorreo'];
  9.     $contrasena =$_POST['estudianteClave'];
  10.  
  11.     if ($tipo==1)
  12.     {
  13.         $insertar="insert into estudiantes(estudianteId, estudianteNombre, estudianteCorreo, estudianteClave') values ('$documento','$nombre','$correo','$contrasena')";
  14.         if (mysql_query($insertar)){
  15.             //REDIRIGIR OK
  16.             header('Location: '.$newURL);
  17.         }
  18.         else {
  19.         $error = "Fallo en el registro";
  20.         }
  21.     }
  22.     else if($tipo==0){
  23.         $insertar="insert into docentes(docenteId, docenteNombre, docenteCorreo, docenteClave') values ('$documento','$nombre','$correo','$contrasena')";
  24.         if (mysql_query($insertar)){
  25.             //REDIRIGIR OK
  26.             header('Location: '.$newURL);
  27.         }
  28.         else {
  29.             $error = "Fallo en el registro";
  30.         }
  31.     }
  32. }
  33. ?>
  34. ...
  35. TODO EL CONTENIDO DE LA PÁGINA
  36. ...
  37. <!--Lugar donde mostrar el error--> <?php if(isset($error)) echo $error; ?>
  38. ...

Con eso lo que haces es que solo se ejecute el proceso del formulario cuando se envía.
Además cuando es correcto rediriges a una nueva página y si es erróneo te quedas en la misma y puedes mostrar un error en el lugar que quieras ponienendo ese código php.
Además podrías cargar los datos que introdujeron si es erróneo poniendo cosas del tipo:
Código PHP:
Ver original
  1. <input ... value="<?php if(isset($campoX)) echo $campoX; ?>" placeholder="Introduzca campo X">
__________________
Dicen que las personas piensan en su lengua materna, yo lo hago en PHP