Foros del Web » Programando para Internet » PHP »

No funciona la conexion con la base de datos ni el mail

Estas en el tema de No funciona la conexion con la base de datos ni el mail en el foro de PHP en Foros del Web. Bueno pues ese es el problema no se envian los datos a la base de datos y tampoco se envia el mail al darle a ...
  #1 (permalink)  
Antiguo 27/11/2008, 13:32
 
Fecha de Ingreso: noviembre-2008
Mensajes: 100
Antigüedad: 15 años, 5 meses
Puntos: 1
No funciona la conexion con la base de datos ni el mail

Bueno pues ese es el problema no se envian los datos a la base de datos y tampoco se envia el mail al darle a submit si todo esta bien, una ayudita por favor:

Código:
<script type="text/javascript">
function verify_passwords(password1, password2)
{
	// do various checks, this will save people noticing mistakes on next page
	if (password1.value == '' || password2.value == '')
	{
		alert('Escriu les contrasenyes correctament.');
		return false;
	}
	else if (password1.value != password2.value)
	{
		alert('Las contrasenyes no concorden.');
		return false;
	}
	else
	{
		

		var junk_output;

		md5hash(password1, document.forms.register.Contrasenya_md5, junk_output, 0);
		md5hash(password2, document.forms.register.Contrasenyaconfirmacio_md5, junk_output, 0);

		

		return true;
	}
	return false;
}
</script>


<?
if($registrar) {

$host = "localhost";
$user = "ampasant_basquet";
$pass = "50202050";
$db = "ampasant_basquet";

$conectar = mysql_connect($host,$user,$pass);
mysql_select_db($db,$conectar);

$Nom = $_POST['Nom'];
$Email = $_POST['Email'];

$resp = mysql_query("select * from usuarios where nom='$Nom'") or die (mysql_error());
$existe = mysql_num_rows($resp);
if($existe == "0") {
mysql_query("insert into usuarios (Nom,Cognoms,Contrasenya,Email) values ('$Nom','$Cognoms','$Contrasenya','$Email')");
echo "Has estat registrat correctament.";
  
      $From = "[email protected]";
      $FromName = "Bàsquet AMPA Sant Josep";
      $destinatario = $Email;
      $asunto = 'Benvingut/a';
      $body = 'Benvingut/a a la web del bàsquet de l´AMPA,';
      $body .= 'Gracies al teu registre, rebràs les últimes notícies i informacions directament al te correu. I si mai et vols donar de baixa d´aquest servei entra aquí: ';

mail($From, $FromName, $destinatario, $asunto, $body);
}
else {
echo "Aquest usuari ja es troba registrat.";
mysql_close($conectar); }
}
?>


<form action="registrar.php" name="Formulari" method="post" onsubmit="return verify_passwords(Contrasenya, Contrasenyaconfirmacio);">

<table class="tborder" cellpadding="6" cellspacing="1" border="0" width="100%" align="center">

<tr>
	<td class="tcat">Registrar-se a la web de l´AMPA</td>
</tr>
<tr>
	<td class="panelsurround" align="center">
	<div class="panel">
		<div style="width:640px" align="left">

			<div class="smallfont" style="margin-bottom:3px">
				Si et registres, rebràs les ultimes noticies i informacions directament al teu correu
			</div>

			<div class="smallfont" style="margin-bottom:3px">
				<strong>Nom</strong>:<br />
				<input type="text" class="bginput" name="Nom" size="25" maxlength="" value="" id="username" style="width: 212px" onblur="CheckUserName();"/><span id="username_status"></span>
			</div> 
                        <div class="smallfont" style="margin-bottom:3px">
				<strong>Cognoms</strong>:<br />
				<input type="text" class="bginput" name="Cognoms" size="25" maxlength="" value="" id="Cognoms" style="width: 212px" onblur="CheckUserName();"/><span id="username_status"></span>
			</div>

			<fieldset class="fieldset">
				<legend>Contraseña</legend>

				<table cellpadding="0" cellspacing="3" border="0" width="400">
				<tr>
					<td colspan="2">Introduix la contrasenya per a la teva conta</td>
				</tr>
				<tr>
					<td>
						Contrasenya:<br />
						<input type="password" class="bginput" name="Contrasenya" size="25" maxlength="50" value="" onblur="varfield(1);" id="password_1"/>

					</td>
					<td>
						Confirmar Contrasenya:<br />
						<input type="password" class="bginput" name="Contrasenyaconfirmacio" size="25" maxlength="50" value="" onblur="varfield(2);" id="password_2"/>
						</td>
					</tr>
					<tr>
						<td colspan="2">

							<span id="password_1_status"></span>
						</td>
					</tr>
					<tr>
						<td colspan="2">
							<span id="password_2_status"></span>
					</td>
				</tr>
				</table>

			</fieldset>

			<fieldset class="fieldset">
				<legend>Direcció de Correo Electrònic</legend>
				<table cellpadding="0" cellspacing="3" border="0" width="400">
				<tr>
					<td colspan="2">Escriu una direcció de correu vàlida.</td>
				</tr>

				<tr>
					<td>
						Direcció de Correo Electrònic:<br />
						<input type="text" class="bginput" name="Email" size="25" maxlength="50" value="" dir="ltr" onblur="varfield(3);" id="email_1"/>
					</td>
					<td>
						Confirmar Direcció de Correo Electrònic:<br />
						<input type="text" class="bginput" name="Emailconfirm" size="25" maxlength="50" value="" dir="ltr" onblur="varfield(4);" id="email_2"/>

						</td>
					</tr>
					<tr>
						<td colspan="2">
							<span id="email_1_status"></span>
						</td>
					</tr>
					<tr>
						<td colspan="2">

							<span id="email_2_status"></span>
					</td>
				</tr>
				
				</table>
			</fieldset>

			
<fieldset class="fieldset">
	<legend>Pregunta aleatòria</legend>
	<table cellpadding="0" cellspacing="3"  border="0" width="100%">

	<tr>
		<td width="100%" valign="top">
			<div><strong><label for="humanverify">¿Quant es 4+4?</label></strong></div>
			<input type="text" class="bginput" name="humanverify[input]" id="humanverify" size="50" />
			<input id="hash" type="hidden" name="humanverify[hash]" value="f9cc14239bc80c849120b6edbd672204" />
		</td>
	</tr>
	</table>

</fieldset>


		</div>
	</div>
	</td>
</tr>
</table>

	<div style="margin-top:6px">
		<input type="submit" class="button" value="Registrar"/>
		<input type="reset" class="button" name="Reset" value="Reestablir camps" />
	</div>
	</td>
</tr>
</table>

</form>
  #2 (permalink)  
Antiguo 27/11/2008, 14:19
Avatar de stone_neo  
Fecha de Ingreso: abril-2004
Ubicación: Peru
Mensajes: 438
Antigüedad: 20 años
Puntos: 15
Respuesta: No funciona la conexion con la base de datos ni el mail

Me parece o ese codigo ya lo he visto en otro post, mira tu varible $registrar, en que momento le asignas un valor true?

y cuando pones if($registrar), mmmmm por que pones esa condicion?, al no tener valor la variable $registrar nunca entra a esa parte de tu codigo por lo cual nunca hace la conexión de base de datos.

Tu código es muy ilegible, intenta ser un poco mas ordenado.
__________________
Rubén Darío Huamaní Ucharima
Web : http://www.gorilla-soft.com
Usuario Linux #382 100 :-)
  #3 (permalink)  
Antiguo 27/11/2008, 14:24
 
Fecha de Ingreso: noviembre-2008
Mensajes: 100
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: No funciona la conexion con la base de datos ni el mail

Valor true? me lo explicas? gracias
  #4 (permalink)  
Antiguo 27/11/2008, 14:38
 
Fecha de Ingreso: noviembre-2008
Mensajes: 100
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: No funciona la conexion con la base de datos ni el mail

A podrias ayudarme a ordenarlo todo un poco, ya que dices que esta tan mal, me gustaria solucionarlo, soy de los que no le gusta tener nada desordenado
  #5 (permalink)  
Antiguo 27/11/2008, 14:55
Avatar de stone_neo  
Fecha de Ingreso: abril-2004
Ubicación: Peru
Mensajes: 438
Antigüedad: 20 años
Puntos: 15
Respuesta: No funciona la conexion con la base de datos ni el mail

Algo asi mira :

formulario.html

Código:
<html>
<head></head>
<script language="javascript">
function jsRegistrar()
{
	var txtuser = document.getElementById('txtuser').value;
	var txtpass= document.getElementById('txtpass').value;
	var txtemail= document.getElementById('txtemail').value;
        if(txtuser == ""){
              alert("Debe ingresar el usuario");
              document.getElementById('txtuser').focus();
              return;
        }
        if(txtuser == ""){
              alert("Debe ingresar el usuario");
              document.getElementById('txtuser').focus();
              return;
        }
        if(txtpass== ""){
              alert("Debe ingresar el password");
              document.getElementById('txtpass').focus();
              return;
        }
        if(txtemail== ""){
              alert("Debe ingresar el email");
              document.getElementById('txtemail').focus();
              return;
        }
        var form = document.getElementById('Formulario');
        form.action="procesa.php";
        form.submit();
}
</script>
<body>
<form action="registrar.php" name="Formulario" method="post">

<table class="tborder" cellpadding="6" cellspacing="1" border="0" width="100%" align="center">
<tr>
	<td class="tcat">Registrarse a la web de lAMPA</td>
</tr>
<tr>
<td>Usuario : <input type="text" id="txtuser" name="txtuser"></td>
</tr>
<tr>
<td>Contraseña: <input type="password" id="txtpass" name="txtpass"></td>
</tr>
<tr>
<td>Email: <input type="text" id="txtuser" name="txtuser"></td>
</tr>
<tr><td><a href="javascript:jsRegistrar()"><img src="boto_registrar.jpg"></a></td>
</tr>
</table>
</form></body></html>

procesa.php


Código PHP:
<?php
$host 
"localhost";
$user "ampasant_basquet";
$pass "50202050";
$db "ampasant_basquet";

$conectar mysql_connect($host,$user,$pass);
mysql_select_db($db,$conectar);

$user$_POST['txtuser'];
$email $_POST[txtemail'];
$pass = $_POST[txtpass'
];
///Aqui te encargas de registrar y enviar el correo
?>

Mas o menos la idea es esa, toda tu validación basica lo haces de lado cliente asi solo haces la coneccion a base de datos cuando el usuario haya pasado todas tus validaciones, la idea de ordenarte es que por ejemplo puedes crearte un esqueleto basico como este en html y luego darselo a un diseñador para que el le de el diseño correspondiente y tu te encargas del lado servidor con el archivo php, aparte que no haces codigo spaggetti.
__________________
Rubén Darío Huamaní Ucharima
Web : http://www.gorilla-soft.com
Usuario Linux #382 100 :-)
  #6 (permalink)  
Antiguo 27/11/2008, 15:01
 
Fecha de Ingreso: noviembre-2008
Mensajes: 100
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: No funciona la conexion con la base de datos ni el mail

Pues ahora mismo, lo pruebo, me encanta ver a gente tan atenta por el mundo, muchisimas gracias por tu enorme trabajo.

Lo pruebo y te digo
  #7 (permalink)  
Antiguo 27/11/2008, 15:13
 
Fecha de Ingreso: noviembre-2008
Mensajes: 100
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: No funciona la conexion con la base de datos ni el mail

Parece que hay un pequeño problema, y es que en el primer php, falta el codigo que haga referencia al procesa.php verdad? como lo pongo?

Y en el segundo lo del mail, con copiar la anterior config que tenia de mail basta?
  #8 (permalink)  
Antiguo 27/11/2008, 15:20
Avatar de stone_neo  
Fecha de Ingreso: abril-2004
Ubicación: Peru
Mensajes: 438
Antigüedad: 20 años
Puntos: 15
Respuesta: No funciona la conexion con la base de datos ni el mail

En el primer archivo yo estoy asignando el action al form con javascript:

Código:
        
var form = document.getElementById('Formulario');
 form.action="procesa.php";
 form.submit();
Si quieres ponlo en la etiqueta form.
__________________
Rubén Darío Huamaní Ucharima
Web : http://www.gorilla-soft.com
Usuario Linux #382 100 :-)
  #9 (permalink)  
Antiguo 27/11/2008, 15:22
 
Fecha de Ingreso: noviembre-2008
Mensajes: 100
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: No funciona la conexion con la base de datos ni el mail

Es que, no se porque, al clickar donde está el boton no sucede nada
  #10 (permalink)  
Antiguo 27/11/2008, 16:24
Avatar de stone_neo  
Fecha de Ingreso: abril-2004
Ubicación: Peru
Mensajes: 438
Antigüedad: 20 años
Puntos: 15
Respuesta: No funciona la conexion con la base de datos ni el mail

Date cuenta que cambie el boton por una imagen, ahora si quieres con un boton dale al evento onClick del boton que llame a la funcion jsRegistrar() de javascript.
__________________
Rubén Darío Huamaní Ucharima
Web : http://www.gorilla-soft.com
Usuario Linux #382 100 :-)
  #11 (permalink)  
Antiguo 28/11/2008, 09:37
 
Fecha de Ingreso: noviembre-2008
Mensajes: 100
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: No funciona la conexion con la base de datos ni el mail

Bueno pues, aqui hoy me ecuentro con otro problemas y es que, los scripts funcionan pero la informacion no se envia a la base de datos, lo edité todo y creo que esta como deberia de estar

Una ayudita por favor

Estos son los codigos

Registrar.php

Código:
<html>
<head></head>
<script language="javascript">
function jsRegistrar()
{
	var Nom = document.getElementById('Nom').value;
	var Cognoms = document.getElementById('Cognoms').value;
	var Contrasenya= document.getElementById('Contrasenya').value;
	var Email= document.getElementById('Email').value;
        if(Nom == ""){
              alert("Debe ingresar el usuario");
              document.getElementById('Nom').focus();
              return;
        }
        if(Cognoms == ""){
              alert("Debe ingresar el usuario");
              document.getElementById('Cognoms').focus();
              return;
        }
        if(Contrasenya== ""){
              alert("Debe ingresar el password");
              document.getElementById('Contrasenya').focus();
              return;
        }
        if(Email== ""){
              alert("Debe ingresar el email");
              document.getElementById('Email').focus();
              return;
        }
        var form = document.getElementById('Formulario');
        form.action="procesa.php";
        form.submit();
}
</script>
<body>
<form action="registrar.php" name="Formulario" method="post">

<table class="tborder" cellpadding="6" cellspacing="1" border="0" width="100%" align="center">
<tr>
	<td class="tcat">Registrarse a la web de lAMPA</td>
</tr>
<tr>
<td>Usuario : <input type="text" id="Nom" name="Nom"></td>
</tr>
<td>Usuario : <input type="text" id="Cognoms" name="Cognoms"></td>
</tr>
<tr>
<td>Contraseña: <input type="password" id="Contrasenya" name="Contrasenya"></td>
</tr>
<tr>
<td>Email: <input type="text" id="Email" name="Email"></td>
</tr>
<tr><td><input type="submit" class="button" name="Registrar" value="Registrar" onClick="javascript:jsRegistrar()"/></td>
</tr>

</table>
</form></body></html>
Procesa.php

Código:
<?php
$host = "localhost";
$user = "ampasant_basquet";
$pass = "50202050";
$db = "ampasant_basquet";

$conectar = mysql_connect($host,$user,$pass);
mysql_select_db($db,$conectar);

$Nom= $_POST['Nom'];
$Cognoms= $_POST['Cognoms'];
$Email = $_POST[Email'];
$Contrasenya = $_POST[Contrasenya'];

$resp = mysql_query("select * from usuarios where nom='$Nom'") or die (mysql_error());
$existe = mysql_num_rows($resp);
if($existe == "0") {
mysql_query("insert into usuarios (Nom,Cognoms,Contrasenya,Email) values ('$Nom','$Cognoms','$Contrasenya','$Email')");
echo "Has estat registrat correctament.";
}
else {
echo "Aquest usuari ja es troba registrat.";
mysql_close($conectar); }
}
///Aqui te encargas de registrar y enviar el correo
?>
  #12 (permalink)  
Antiguo 28/11/2008, 10:29
Avatar de stone_neo  
Fecha de Ingreso: abril-2004
Ubicación: Peru
Mensajes: 438
Antigüedad: 20 años
Puntos: 15
Respuesta: No funciona la conexion con la base de datos ni el mail

Primeramente siempre activa la visualización de reportes para que te de el error especificamente :

error_reporting(E_ALL);

Luego si no usas un IDE con debugger, una buena practica es primero antes de hacer el mysql_query pinta en pantalla el resultado de tu SQL del insert, asi te fijas si tu SQL se esta generando correctamente. Si tu servidor tiene activado usa mejor la extension mysqli usando las sentencias preparadas.
__________________
Rubén Darío Huamaní Ucharima
Web : http://www.gorilla-soft.com
Usuario Linux #382 100 :-)
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 18:46.