Esto es para hacer que la información de un formulario reenvie a un webmail, dependiendo del dominio que se ingrese, a un servidor u otro distinto. (ejemplo: dominio:gmail, usuario:fulanito -> servidor gmail | dominio:yahoo, usuario:menganito -> servidor yahoo)
Tengo dos array, en cada uno hay diferentes nombres de dominio que son barridos para corresponder con el que es ingresado. Además de verificar que esté bien escrito, sino regresarlo al formulario.
El problema se me presenta cuando leo los array y una vez encontrada la correspondencia con el dominio dentro de un array enviar al servidor correcto.
Me aparece el siguiente error:
Notice: Undefined offset: 26 in C:\...\validar.php on line 38
Lo que me indica que se ha encontrado el valor en uno de los array, pero en el array que no, los valores se quedan volando, o no sé qué.
Aquí el código:
Código PHP:
<?
$dominios1 = array('dominio1.com', 'dominio2.com', 'dominio3.com.mx');
$dominios2 = array('dominio4.com', 'dominio5.com', 'dominio6.com.mx');
$arrayLongitud1 = count($dominios1);
$arrayLongitud2 = count($dominios2);
$dominio = $_POST['dominio'];
if ($dominio == "") {
?>
<script language="JavaScript">
alert("Necesitas introducir el nombre de tu dominio");
history.back();
</script>
<?
}
$i=0;
while($dominio != $dominios1[$i] && $i < $arrayLongitud1){
$i++;
};
$n=0;
while($dominio != $dominios2[$n] && $n < $arrayLongitud2){
$n++;
};
if($i == $arrayLongitud1 && $n == $arrayLongitud2){
?>
<script language="JavaScript">
alert("El nombre de dominio es incorrecto, favor de escribirlo nuevamente");
history.back();
</script>
<?
}
if(array_key_exists('$dominio', $dominios1)){
?>
<form action="http://<? echo($_POST['dominio']) ?>/servidor1/login.asp" method="post" name="subform">
<input type="hidden" name="UserID" value="<? echo($_POST['UserID']) ?>@<? echo($_POST['dominio']) ?>" />
<input type="hidden" name="Password" value="<? echo($_POST['Password']) ?>" />
<input type="hidden" name="skin" value="default" />
</form>
<script language="javascript">
document.subform.submit();
</script>
<?
}
//if($dominios2 == $dominio){
if(array_key_exists('$dominio', $dominios2)){
?>
<form action="http://servidor2/index.php" method="post" name="form1">
<input type="hidden" name="user" value="<? echo($_POST['UserID']) ?>@<? echo($_POST['dominio']) ?>" />
<input type="hidden" name="password" value="<? echo($_POST['Password']) ?>" />
<input type="hidden" name="skin" value="default" />
<input type="hidden" name="host" value="69.56.234.50" />
<input type="hidden" name="port" value="110" />
<input type="hidden" name="rootdir" value="" />
<input type="hidden" name="int_lang" value="es/" />
<input type="hidden" name="logout" value="0" />
</form>
<script language="javascript">
document.form1.submit();
</script>
<?
}
?>