http://www.formatoweb.com.ar/ajax/co...d_de_apodo.php,
mire baje este ejemplo y estoy probando con el formulario que hize en php. he ingresado el primer valor que este es nickname pero aun no se como ingresar los otros valores del formulario.
Este es el PHP de proceso cuando manda los valores el ajax al servidor. pero solo recibe uno. ya he intensado poner aqui
Código PHP:
$consulta=mysql_query("SELECT id FROM member WHERE username='$username'")
los demas valores pero no funciono.
Cita: <?php
function validaIngreso($valor)
{
// Funcion utilizada para validar el dato a ingresar recibido por POST
if(eregi("^[a-zA-Z0-9.@ ]{4,40}$", $valor)) return TRUE;
else return FALSE;
}
function conectar()
{
// Conexion a base de datos
mysql_connect("localhost", "root", "golden") or die(mysql_error());
mysql_select_db("tunerspot") or die(mysql_error());
}
function desconectar()
{
mysql_close();
}
function verificaExistencia($apodo)
{
/* Funcion encargada de verificar la existencia del apodo recibido en base de datos.
Devuelve TRUE si el apodo existe, FALSE de lo contrario */
$consulta=mysql_query("SELECT id FROM member WHERE username='$username'") or die(mysql_error());
$registro=mysql_fetch_row($consulta);
if(!empty($registro)) return TRUE;
else return FALSE;
}
if($_POST["ingreso"])
{
// Quito espacios en blanco al comienzo y fin de la cadena
$valor=trim($_POST["ingreso"]);
// Si el valor recibido es valido...
if(validaIngreso($valor))
{
conectar();
// Si el apodo ya existe en base de datos...
if(verificaExistencia($valor)) echo "Tu apodo ya existe en la base de datos";
else
{
// Ingreso el nuevo apodo
mysql_query("INSERT INTO member (username) VALUES ('$valor')") or die(mysql_error());
echo "Tu apodo ha sido ingresado";
}
desconectar();
}
}
eSTE Es el Formulario. solo manda un solo valor.
Cita: <script language="javascript">
function nuevoAjax()
{
/* Crea el objeto AJAX. Esta funcion es generica para cualquier utilidad de este tipo, por
lo que se puede copiar tal como esta aqui */
var xmlhttp=false;
try
{
// Creacion del objeto AJAX para navegadores no IE
xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e)
{
try
{
// Creacion del objet AJAX para IE
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
catch(E) { xmlhttp=false; }
}
if (!xmlhttp && typeof XMLHttpRequest!="undefined") { xmlhttp=new XMLHttpRequest(); }
return xmlhttp;
}
function eliminaEspacios(cadena)
{
// Funcion para eliminar espacios delante y detras de cada cadena
while(cadena.charAt(cadena.length-1)==" ") cadena=cadena.substr(0, cadena.length-1);
while(cadena.charAt(0)==" ") cadena=cadena.substr(1, cadena.length-1);
return cadena;
}
function validaIngreso(valor)
{
/* Funcion encargada de validar lo ingresado por el usuario. Se devuelve TRUE en caso de ser
valido, FALSE en caso contrario */
var reg=/(^[a-zA-Z0-9.@ ]{4,40}$)/;
if(reg.test(valor)) return true;
else return false;
}
function nuevoEvento(evento)
{
var divMensaje=document.getElementById("mensaje");
/* Dependiendo de cual sea el evento que ejecuto esta funcion (ingreso o verificacion) se setean
distintas variables */
if(evento=="ingreso")
{
var input=document.getElementById("ingreso");
var boton=document.getElementById("boton_1");
var valor=input.value;
var accion="Ingresando...";
}
else
{
var input=document.getElementById("verificacion");
var boton=document.getElementById("boton_2");
var valor=input.value;
var accion="Comprobando...";
}
// Elimino espacios por delante y detras de lo ingresado por el usuario
valor=eliminaEspacios(valor);
// Si el ingreso es invalido...
if(!validaIngreso(valor))
{
divMensaje.innerHTML="El texto ingresado contiene caracteres o longitud inválida";
}
else
{
// Deshabilito inputs y botones para evitar dobles ingresos
boton.disabled=true; input.disabled=true;
input.value=accion;
var ajax=nuevoAjax();
ajax.open("POST", "test1.php", true);
ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
ajax.send(evento+"="+valor);
ajax.onreadystatechange=function()
{
if (ajax.readyState==4)
{
// Habilito nuevamente botones e inputs
input.value="";
boton.disabled=false; input.disabled=false;
// Muestro el mensaje enviado desde el servidor
divMensaje.innerHTML=ajax.responseText;
}
}
}
}
</script>
<style type="text/css">
.boton
{
height:16px;
width:58px;
font-size:8px;
font-family:Verdana, Arial, Helvetica, sans-serif;
}
.inputs
{
width:130px;
height:12px;
font-size:10px;
font-family:Verdana, Arial, Helvetica, sans-serif;
}
.aviso
{
text-align:center;
font-size:11px;
font-family:Verdana, Arial, Helvetica, sans-serif;
background-color:#FFFFFF; color:#FF0000;
}
.punteado
{
border-style:dotted;
border-color:#000000;
background-color:#EAEAEA;
font-family:Verdana;
font-size:10px;
text-align:center;
}
</style>
</head>
<label for="username">Username</label>
<input id="ingreso" name="username"><span class="do">4-15 Chars</span><br>
<label for="password">Password</label>
<input id="password" name="password"><span class="do">4-15 Chars</span><br>
<label for="Password2">Retype Password</label>
<input id="password2" name="password2"><span class="do">4-15 Chars</span><br>
<label for="name">Full Name</label>
<input id="name" name="name"><br>
<label for="E-mail">E-Mail</label>
<input id="email" name="email" value="@"><br>
<label for="country">Country</label>
<select name="pais">
<option>Select...</option>
<option>---</option>
</select><br>
<label for="city">City</label>
<select name="ciudad">
<option>Select...</option>
<option>---</option>
</select><br>
<label for="bithyear">Bith Year</label>
<input id="bithday" name="bithday" value="YYYY/MM/DD"><span class="do">Ex:1987/12/02</span> <br>
<label for="gender">Gender</label>
<select name="genero">
<option>Select...</option>
<option>Male</option>
<option>Female</option>
</select><br>
<input id="boton_1" onclick="nuevoEvento('ingreso');" type="button" value="Ingresar" class="boton">
<div class="aviso" id="mensaje"></div>
</center>
</body>
</html>
haber si alguien tiene la solucion de como mandar mas valores.
Gracias!