Este es el mecanismo para que se puedan ingresar datos a una tabla de N2C (Excepto a la tabla AGE, de usuarios). Es usado típicamente para inscribir personas y para recibir solicitudes y se logra a través del uso de formas HTML. Puede ser invocado desde dentro de Net2Client (Por un usuario) o desde fuera (Por el público).
Nota: entraint.php es un programa muy similar al antiguo entra.php. Las grandes
diferencias son:
- entraint.php puede ser invocado interna (Usuario) o externamente (Público)
- Se usan los nombres internos, en vez de los externos
- No se usa la página ResultadoNO. Los mensajes de error son dados internamente.
Para eso se requiere que la página invocante tenga un <iframe>
(Ver abajo)
El programa que invoca a entraint.htm debe tener las instrucciones siguientes:
<form name="forma" method="post" target='Mensajes' onSubmit='completar();' action='http://www.net2client.com/sis/inter/entraint.php'> <div style='visibility:invisible'> <iframe height=50 width=750 name='Mensajes' id='Mensajes' frameborder='0'></iframe> </div>
El comando de iframe es el que permite que la invocación se haga desde dentro de la misma página, sin tener que abrir una nueva página. Como puede observarse, el iframe tienen el nombre “Mensajes”, que es el mismo utilizado en el “target” del “form”. La rutina completar() que está en el “onSubmit” es opcional. Puede usarse para tomar control del programa, antes de enviar la forma.
NOTA IMPORTANTE: Cuando la forma contiene campos tipo archivo o imagen, es necesario añadir, en el tag de "form" el parámetro siguiente:
enctype='multipart/form-data'
| Nombre | Uso |
| BD | La base de datos que se está utilizando |
| COKCodigo | El código del Cokie (">Ver anexo V). Solo es obligatorio, cuando el programa es llamado internamente, es decir cuando el Perfil no viene vacío |
| AAA | Código completo del servidor/base de datos/empresa/aplicación. Ejp: GWT101231 |
| Tabla | El nombre interno (Ej: PER, AR1). No puede ser AGE |
| ResultadoOK | Dirección completa a la cual se debe ir si todo funcionó bien (Ej. http://www.comercio.com/confirmacionsuscripcion.htm). Se recibe como parámetro el número de registro añadido. Si se omite, presenta una página en blanco. Nota: En caso de querer llamar el programa a través de "versup.php", poner SI en el parámetro siguiente y en este poner el nombre del programa sencillo (Ej: confirmacionsuscripcion.htm). El sistema invocará versup.php?confirmacionsuscripcion.htm,xxx en donde xxx es el número del registro añadido |
| VersupOK | Poner el valor "SI" en caso de querer invocar el programa indicado en ResultadoOK a través del programa versup.php |
| Perfil | El nombre del perfil que tiene autorización para ejecutar el programa. En ese perfil, el directorio donde se encuentra el programa que invoca, debe estar definido. Cuando el programa es invocado internamente, se DEBE omitir este campo. |
| Idioma | El código de tres letras del idioma. Si no viene se supone que es español (esp) |
| Forma | Nombre de la forma (Cuando el programa es llamado internamente). Debe incluirse si se quiere que el campo errado quede enfocado |
| ReturnCok | Escribir el COKO que se desea que sea devuelto al programa invocante (además del código del registro introducido) |
| Agente | El código de Agente. Si es llamado internamente se debe omitir, ya que se guarda el código del agente que ha hecho login. |
| Frame | Nombre del frame en donde se quiere recibir el control de la página ResultadoOK. Si se omite, la página que invoca es reemplazada por la dirección especificada en ResultadoOK |
| MensajeExito | Escribir NO, si no se desea que aparezca la notificación de que la actualización fue exitosa y escriba cualquier otro texto si desea que ese sea el mensaje |
Notificar |
Nombre del o de los usuarios (separados por punto y comas) a quien se desea notificar con un mensaje interno que hubo un ingreso de datos. El nombre es nombre del usuario (Campo AGENombre) |
| NombreCampo (Escribir uno por uno todos los campos) | NombreCampo es el nombre interno del campo (Ej: PERNombre, PERCant1…) |
ENVIO DE EMAIL DE ACTIVACIÓN O DE CONFIRMACIÓN |
|
| AvisarActivacion | Número de la respuesta pre-definida que se va a enviar a la persona que se inscribió en un email de activación |
| NoEnviarLinkActivacion | Escribir "SI", en caso de no querer que aparezca el enlace de activación. Esto sería para el caso en que solo se quiere confirmar, sin necesidad de que el usuario tenga que pinchar un link de activación |
NOTIFICACIÓN DE REGISTRO |
|
| Avisa | Numero del agente el cual es el emisor del mensaje |
| AvisarA | Numero de los agente separados por comas de la tabla AGE a los cuales se les va a enviar el mensaje |
| AvisarAsunto | Asunto del mensaje a ser enviado |
| AvisarCampos | Campos del registro los cuales van a ser incluidos en el mensaje.(Ej: PERNombre, PERCant1…) |
| AvisarEmail | La palabra 'SI' si se desea enviar email junto con el mensaje interno. |
| AvisarOpciones | la palabra 'ECHO' si se desea imprimir el query de cada registro de la tabla MEN |
AYUDA PARA EL DEBUGGING |
|
| Grabar | Escribir NO, para que no se grabe (solo se ejecutan las validaciones) |
LIMITACIÓN: Cuando hay campos modificables, no se puede hacer el envio de emails.
Normalmente, cuando se pone un código (ej. PERCodigo), el programa muestra el número y el icono de Edición. Si se desea que aparezca un enlace a la vista extendida, escribir el nombre interno de la tabla, seguido del texto “VerExtendido”, ejemplo: PER VerExtendido.
El programa invocado ya tiene disponible dos formas de estilos (CSS), muy similares a la de Net2Client. Cuando el usuario pide imprimir una pantalla, no se van a imprimir los campos de imagen (para que no aparezcan los iconos de ayuda, impresión, etc) a menos que tengan la clase “dp”, de la forma siguiente:
<img class=dp border=0 href=…>
El sistema valida que todos los campos obligatorios estén presentes, y que los campos de enlace tengan un valor válido que exista (a menos que sea cero). Si se omite el código de Agente (Usuario) es puesto en cero cuando el programa es llamado externamente (esto implica que el registro no tendrá dueño y podrá ser ubicado únicamente cuando se pidan los registros de "TODOS") o inicializado con el código del usuario, cuando el programa es llamado internamente.
El parámetro “Frame” es de mucha utilidad y se recomienda su uso, sobre todo cuando la llamada es interna. Al usarlo se evita que se estén abriendo páginas nuevas.
Si hay errores, se da un mensaje de error para que el problema sea corregido. Y en caso de llamada interna, el campo es enfocado (para ello es indispensable incluir el parámetro “Forma”).
En caso de que el parámetro “Grabar” contenga la palabra “NO”, se hacen todas las validaciones, pero no se graba el registro. Esto puede ser muy útil cuando se van a ingresar datos a dos tablas y no se quiere hacerlo a menos que ambas estén bien. Si este es el caso, se puede hacer una doble pasada. La primera para validar que todo esté bien (con el parámetro “Grabar” en NO y la segunda para hacer realmente la grabación.
Cuando todo esté bien, el registro es introducido en la tabla correspondiente, se graba en el log la dirección IP desde la cual fue introducido y se pasa el control al la página indicada en el campo "ResultadoOK", con el número del registro añadido como parámetro.
Comunmente se requiere envíar un email de activación a la persona que se acaba de inscribir, para asegurar que la dirección de correo es válida y que la persona realmente se desea inscribir (esto evita que una persona inscriba a otro en contra de su voluntad). Para hacerlo se debe utilizar el parámetro AvisarActivacion, con el número de la respuesta pre-definida que se quiera enviar. Esta respuesta pre-definida, puede hacer referencia a campos de la base de datos que acaban de ser ingresados.
Al final del email, después de la respuesta pre-definida, va a aparecer un enlace de activación, que al ser pinchado, invoca al programa inter/activacion.php, en donde se actualiza el campo indicado en el parámetro XXXCampoActivacion (XXX el código de la tabla), con el valor XXXValorActivacion. Si se desea un logo en la pantalla de activación, debe estar cargada en la tabla de parámetros con el nombre LogoActivacion.
Nota: Si existe el texto (**ACTIVATIONLINK**), el texto será reemplazado por el enlace de activación en vez de aparecer el enlace al final del email.
Comunmente, se quiere recibir un aviso cuando alguien ingresa un registro a través del programa entraint.php. El aviso se hace a través de un mensaje interno y, opcionalmente, también a través de un email. Esto se puede hacer con este grupo de parámetros.
Ejemplo tomado de la aplicación 00-705 (Página Web de Globalwebtek)

A continuación mostramos un ejemplo de llamada interna a entraint.php. Este programa es invocado a través de versup.php, principalmente para tener acceso a la rutina Cabalista, que permite mostrar una lista en forma dinámica.
<?
// PROGRAMA LLAMADO A TRAVES DE versup.php, para poder usar la rutina CajaLista
echo "
<script language=javascript>
function completar(){
if (document.forma.checkbox1.checked) document.forma.PERLista3.value='SI';
if (document.forma.checkbox2.checked) document.forma.PERLista4.value='SI';
if (document.forma.checkbox3.checked) document.forma.PERLista5.value='SI';
if (document.forma.checkbox4.checked) document.forma.PERLista6.value='SI';
return true;
};
</script>
<h1>Registro</h1>
<form name='forma' method='post' target='Mensajes' onSubmit='completar();'
action='inter/entraint.php'>
<input type='hidden' name='COKCodigo' value='$COKCodigo'>
<input type='hidden' name='BD' value='$BD'>
<input type='hidden' name='AAA' value='GWT100705'>
<input type='hidden' name='Tabla' value='PER'>
<input type='hidden' name='PERLista7' value='Internet'>
<input type='hidden' name='Forma' value='forma'>
<input type='hidden' name='Perfil' value='Internet'>
<div style='visibility:invisible'>
<iframe height=1 width=1 name='Mensajes' id='Mensajes' frameborder='0'></iframe>
</div>
<table width='100%' border=0 align='center' cellpadding=2 cellspacing=2>
<tr>
<td width='35%' align='right' > Nombre</td>
<td width='65%'> <input name='PERLinea1' type='text' size='35'></td>
</tr>
<tr>
<td align='right' > Apellido</td>
<td><input name='PERNombre' type='text' size='35'></td>
</tr>
<tr>
<td align='right' >¿ Cómo prefiere que le tratemos?</td>
<td><select name='PERLista8'>
<option value=''>---</option>";
CajaLista('PERLista8');
echo "</select></td>
</tr>
<tr>
<td align='right' >Email</td>
<td><input name='PEREmail1' type='text' size='35'></td>
</tr>
<td align='right'>Si desea recibir información periódica de nuestro website,
por favor seleccione las áreas de interés.</td>
<td><p>
<input type='hidden' name='PERLista3' value=''>
<input type='checkbox' name='checkbox1' value='ON'> Estrategia de E-Business<br>
<input type='hidden' name='PERLista4' value=''>
<input type='checkbox' name='checkbox2' value='ON'> Sales Force Automation<br>
<input type='hidden' name='PERLista5' value=''>
<input type="checkbox" name="checkbox3" value="ON"> Customer Relationship Management <br>
<input type='hidden' name='PERLista6' value=''>
<input type="checkbox" name="checkbox4" value="ON"> Internet Marketing<br>
</p></td>
</tr>
<tr>
<td align='right'>Comentarios</td>
<td><textarea name='PERBloque1' cols='50' rows='4'></textarea></td>
</tr>
</table>
<p class=centrado><input name='submit' type='submit' value='Enviar'></p>
</form>
";
?>
Si este programa fuese llamado externamente, las dos grandes diferencias que tendría serían:
<td><select name="PERLista8"> <option value="">---</option> <option value="Sr.">Sr.</option> <option value="Sra.">Sra.</option> <option value="Srta.">Srta.</option> <option value="Dr.">Dr.</option> <option value="Dra.">Dra.</option> <option value="Lic.">Lic.</option> <option value="Ing.">Ing.</option> </select></td>
Enlaces en el mismo capítulo:
Enlaces otros capítulos: