Foros del Web » Programando para Internet » PHP »

Recibir valores de un formulario html para uno php

Estas en el tema de Recibir valores de un formulario html para uno php en el foro de PHP en Foros del Web. tengo una bronca tengo un formulario sencillo en html que envia por post el usuario y pasword a una pagina php que se supone recojera ...
  #1 (permalink)  
Antiguo 06/07/2004, 08:01
 
Fecha de Ingreso: junio-2002
Ubicación: Monterrey
Mensajes: 37
Antigüedad: 15 años, 6 meses
Puntos: 0
Pregunta Recibir valores de un formulario html para uno php

tengo una bronca tengo un formulario sencillo en html que envia por post el usuario y pasword a una pagina php que se supone recojera estos datos y los enviara a otra direccion para su logeo el problema es que no se que me falta para qe la pagina php pueda recoger los datos que se ele enviaron desde el html


estos son los scripts:
html.-

<form action="loginreseller.php" method="post" name="envio" target="_blank">
<table width="180" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="37" align="right" valign="middle">
<img src="data/usuario.jpg" width="37" height="15">
<img src="data/punto.gif" width="37" height="2">
<img src="data/clave.jpg" width="37" height="15">
</td>
<td align="center">
<input name="userid" type="text" id="userid" size="10">
<input name="password" type="password" id="password" size="10">
</td>
<td width="52" valign="middle">
<input type="image" value="submit" src="data/aceptbt.jpg" width=52 height=15 border="0">
<img src="data/punto.gif" width="37" height="2">
<input type="image" value="recet" src="data/cancelbt.jpg" width=52 height=15 border="0">
</td>
</tr>
</table>
</form>

PHP -.

<html>
<head>
<title>Interactive Center Login</title>
<?php
echo '<script language="JavaScript" type="text/JavaScript">'
echo ' function redirect()'
echo ' {'
echo ' document.login.UserID.value = ' $_POST('userid')
echo ' document.login.Password.value = ' $_POST('password')
echo ' document.login.submit()'
echo ' }'
echo ' </script>'
echo '; '
?>
</head>
<body onload="javascript:redirect();">
<!-- BODY TEXT -->
<table width="500" border="0" cellpadding="0" align="left">
<tr>
<td width="100"> </td>
<td align="left" valign="top">
<FONT FACE="arial, helvetica" SIZE="-1"><br>
<font size="+1">&nbsp;&nbsp;Interactive Center Login</font><br><br>

&nbsp;&nbsp;Please enter your member details below:<br>
<form name="login" action="http://www.direcciondedatos.asp" method="POST">
<table border="0" cellspacing="0" cellpadding="3" align="left">
<tr>
<td width="10">&nbsp;</td>
<table border="0" cellspacing="0" cellpadding="3" align="left"><tr><td align='left'><FONT FACE='arial, helvetica' SIZE='-1'>&nbsp;&nbsp;<b>UserID:&nbsp;</b></FONT></td><td align='left'><input type='text' name='UserID' size='12' maxlength='15' value=''></td></tr><tr><td align=left'><FONT FACE='arial, helvetica' SIZE='-1'>&nbsp;&nbsp;<b>Password:&nbsp;</b></FONT></td><td align='left'><input type='password' name='Password' size='6' maxlength='4'></td></tr>
</table>
</tr>
<tr>
<td width="10">&nbsp;</td>
<td align="center">
<br>
&nbsp;&nbsp;<input type="image" src="/reseller_ic/pix/go-myinfo.gif" width=58 height=30 border="0">
<br>
</td>
</tr>
</table>
<input type=hidden name="Allow" value="">
</form>
</td>
</tr>
</table>
</body>
</html>


espero puedan echarme la mano de antemano gracias por la ayuda
  #2 (permalink)  
Antiguo 06/07/2004, 08:21
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Yo lo haría simplemente así:

1) Tu formulario HTML tal cual está ...

2) Script PHP de proceso .. Este validará, y redireccionará hacia donde corresponda según el "userid" por ejemplo:

Código PHP:
<?
if ($_POST['userid'] == "yo" && $_POST['password'] == "mipass"){
  
header ("Location: nosedonde.tal");
  exit;
}
?>
No sé en función de qué ni a donde o que nº de usuarios gestionas .. pero el hecho es que el script PHP recoge tus variables como ves (por su método POST en ese caso esperado) .. hace las comparaciones pertinentes (validando usuario Y contraseña) y redireccionas automáticamente (vía header() ..) a donde le indiques sin más.

Si necesitas algo más dinámico .. puedes usar arrays y de ahí archivos de texto plano o base de datos para crear el perfil de tus usuarios/cuentas (usuario/password y URL a redireccionar mínimo).

A todo esto .. no sé a donde redireccionas pero .. si tienes un script de "validación" de un usuario/contraseña . .si no haces el "seguimiento" del usuario autentificado en la página que redireccionas (y de ahí a las que salte) no tiene sendido este "login" si van a poder entrar directamente a la página que redireccionas saltandose este "login". Estos "problemas" de seguimiento del usuario los solventas con cookies o sesiones (recomendable sesiones) donde las crearas en el momento justo antes de redirecciona (y validado el usuario) y validaras su existencia (un simple if (isset() ....)) en las páginas que redirecciones. Si no existen esas variables de cookie/sesión que creas al autentificar a tu usuario, puedes dar por hecho que el acceso a esa página se hizo sin pasar por el "login" (o bien expiró la cookie/sesión)

Un saludo,
  #3 (permalink)  
Antiguo 06/07/2004, 09:19
 
Fecha de Ingreso: junio-2002
Ubicación: Monterrey
Mensajes: 37
Antigüedad: 15 años, 6 meses
Puntos: 0
mandar user y pasw de un htm a un php

sip el caso es que si ocupo mandar mas delante el user y pasword


el detalle esta asi de la primera pagina (html) se recojen el user y pasword y se mandan al php que a su vez los pasa a una tercera pagina la cual es la que valida con un servidor de base de datos la informacion de user y pasword y da acceso al sistema...


por lo que se busca asi es que el sistema esta en un servidor aparte de donde esta la page htm y donde esta la page html soporta solo php, el php yo intentaba incluirlo directamente en esa pagina html pero para los fines de mantenimiento estubo mejor dejarlo como un documento aparte osea el documento.php

hasta donde creo si me esta mandando el user y pasword al documento php pero mi script no los recibe y los incluye en el segundo formulario para mandarlos al servidor que los validara...

tenks por contestar y no se si este mas claro el problema.
  #4 (permalink)  
Antiguo 07/07/2004, 07:30
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pero ..

Si tieenes la secuencia:

formulario.html -> script1.php (toma variables de formulario.html) -> script2.php (valida ? y envia el e-mail?)

Por qué no validas y procesas el envio ese desde el scrip1.php?

En tu formulario puedes apuntar en su action a un scriptX PHP de proceso que esté en cualquier servidor tan sólo usando llamada con URL completo:

<form action="http://www.nose.tal/script.php" method="post">

Y .. si aun así quieres saltar de script1 a script2 .. tendras que propagar las variables que ya recibistes en script1 al 2 sea por el URL (en un link de redireccionamiento o en campos hidden si usas algún formulario por médio) o por cookies (o sesiones).

El caso es que deberías poner el código que usas y describir que versiones de PHP usas ademas de la configuración "register_globals" que uses ya que de ese valor dependerá como debes trabajar las variables externas (las de tu formulario o las que envies de script1.php a script2.php (si haces un redireccionmiento .. no un "include()" de script2.php bajo script1.php)

Un saludo,
  #5 (permalink)  
Antiguo 07/07/2004, 08:04
 
Fecha de Ingreso: junio-2002
Ubicación: Monterrey
Mensajes: 37
Antigüedad: 15 años, 6 meses
Puntos: 0
Pregunta Les mando los scripts

si te entiedo pero el problema es que yo no controlo la validacion del usuario es una compañia aparte y el site de nosotros es nadamas un front para el sistema y en el servidor con el que contamos soporta solo tecnologia php por ello queremos resolverlo por ahi... creo que no es muy complejo lamentablemente apenas estoy aprendiendo de php por ello mis dudas

la entrada es asi page1.html --> loginreseler.php --> page2.asp(fuera de nuestro servidor)

aqui va el formulario de la page 1 html:

Código:
<html>
<head>
<title>entrando al sitio</title>
</head>
<body>

				<form action="loginreseller.php" method="post" name="envio" target="_blank">
			<table width="180"  border="0" align="center" cellpadding="0" cellspacing="0">
              <tr>
                <td width="37" align="right" valign="middle"><img src="data/usuario.jpg" width="37" height="15"><img src="data/punto.gif" width="37" height="2"><img src="data/clave.jpg" width="37" height="15"></td>
                <td align="center">
				<input name="userid" type="text" id="userid" size="10">
				<input name="password" type="password" id="password" size="10">
				</td>
                <td width="52" valign="middle"><input type="image" value="submit" src="data/aceptbt.jpg" width=52 height=15 border="0"><img src="data/punto.gif" width="37" height="2"><input type="image" value="recet" src="data/cancelbt.jpg" width=52 height=15 border="0"></td>
              </tr>
            </table>
				</form>
</body>
</html>






aqui el del php

Código:
<html>
<head>
<title>Interactive Center Login</title>
<?php 
echo '<script language="JavaScript" type="text/JavaScript">'
echo 'function redirect()'
echo '{'
echo 'document.login.UserID.value = ' $_POST('userid')
echo 'document.login.Password.value = ' $_POST('password')
echo 'document.login.submit()'
echo '}'
echo '</script>'
?> 
</head>
<body onload="javascript:redirect();">
<!-- BODY TEXT -->
<table width="500" border="0" cellpadding="0" align="left">
	<tr>
		<td width="100"> </td>
		<td align="left" valign="top">
			<FONT FACE="arial, helvetica" SIZE="-1"><br>
			<font size="+1">&nbsp;&nbsp;Interactive Center Login</font><br><br>
			
			&nbsp;&nbsp;Please enter your member details below:<br>
			<form name="login" action="http://www.icallhere.com/reseller_ic/eng/index.asp?InterfaceAID=3&TimeDiff=&AID=3&APPID=1" method="POST">
				<table border="0" cellspacing="0" cellpadding="3" align="left">
					<tr>
						<td width="10">&nbsp;</td>
						<table border="0" cellspacing="0" cellpadding="3" align="left"><tr><td align='left'><FONT FACE='arial, helvetica' SIZE='-1'>&nbsp;&nbsp;<b>UserID:&nbsp;</b></FONT></td><td align='left'><input type='text' name='UserID' size='12' maxlength='15' value=''></td></tr><tr><td align=left'><FONT FACE='arial, helvetica' SIZE='-1'>&nbsp;&nbsp;<b>Password:&nbsp;</b></FONT></td><td align='left'><input type='password' name='Password' size='6' maxlength='4'></td></tr>
</table>
					</tr>
					<tr>
						<td width="10">&nbsp;</td>
						<td align="center">
							<br>
							&nbsp;&nbsp;<input type="image" src="/reseller_ic/pix/go-myinfo.gif" width=58 height=30 border="0">
							<br>
						</td>
					</tr>
				</table>
				<input type=hidden name="Allow" value="">
			</form>
		</td>
	</tr>
</table>
</body>
</html>


me esta marcando un error en la linea 6 no se realmente que sea no se si este bien escrito el codigo ya que ese lo baje de otra page

Código:
Parse error: parse error, expecting `','' or `';'' in /home/axtionta/public_html/loginreseller.php on line 6
gracias por la atencion

Última edición por Banto; 07/07/2004 a las 08:58 Razón: agregar un dato
  #6 (permalink)  
Antiguo 07/07/2004, 11:03
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
En tu script.php no veo que uses nada de PHP (validaciones extra o algo más) ..

Según veo tan sólo capuras las variables usadas en tu própio formulario para añadir algunas más "fijas" que requiere la parte ASP remota.


Concretamente .. Estas variables + tu UserID y el password.

http://www.icallhere.com/reseller_ic/eng/index.asp?InterfaceAID=3&TimeDiff=&AID=3&APPID=1

así que .. no veo el porqué de ese formulario extra en una página extra donde (vía javacript) haces que "todo" lo que introduzcan en esos campos de "userID" y "password" del script php (de ese formulario) lo anules tomando lo que llegó por tu POST original ..

Yo simplemente haría apunta a tu formulario.html (el page1.html) a:

Código PHP:
<form action="http://www.icallhere.com/reseller_ic/eng/index.asp?InterfaceAID=3&TimeDiff=&AID=3&APPID=1" method="POST"
Y tus variables userid .. usar el nombre que usa tu script ASP: UserID (respetando sintax) + la otra de password (por Password)

Código PHP:
<input name="UserID" type="text" id="userid" size="10">
<
input name="password" type="Password" id="password" size="10"
Así de simple .. El "action" que apunte un formulario da igual si está o no en el mismo servidor que la página HTML que lo soporta. El caso es que si es una llamada "remota" se ha de incluir la ruta completa (de hecho .. no entiendo el por qué del lio de usar "dos" formularios para acabar en el mismo sitio´)

Un saludo,

Última edición por Cluster; 07/07/2004 a las 11:04
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:29.