Foros del Web » Programando para Internet » PHP »

Alta manual y envío de email con contraseña.

Estas en el tema de Alta manual y envío de email con contraseña. en el foro de PHP en Foros del Web. Buenas, en mi página damos de alta a los clientes de forma manual, lo que quiero es que al poner una contraseña se le envíe ...
  #1 (permalink)  
Antiguo 07/07/2014, 04:20
 
Fecha de Ingreso: mayo-2014
Ubicación: Valencia
Mensajes: 63
Antigüedad: 9 años, 11 meses
Puntos: 0
Alta manual y envío de email con contraseña.

Buenas, en mi página damos de alta a los clientes de forma manual, lo que quiero es que al poner una contraseña se le envíe un mail al cliente informándole de la misma.

He probado de mil formas, pero no hay forma, no manda el mail con la contraseña.

Os dejo el código que tengo, el formulario funciona perfectamente, mi problema es el envío de la contraseña al cliente por mail para que sepa que ha sido dado de alta.

Después, tengo otro problema, la pass me la encripta en md5, mi problema es que al editar el cliente y darle a guardar sin modificar la contraseña, me cambia la pass, vamos, me coge el resultado en md5 que aparece y lo encripta de nuevo, cargandose por completo la password original, :S

Os dejo el código y a ver si alguien me puede ayudar.

Gracias.

Código PHP:
<?php require_once('Connections/conexion.php'); ?>
<?php 
require_once('includes/funciones.php'); ?>
<?php 
if(isset( $_SESSION['MM_UserGroup']) &&  $_SESSION['MM_UserGroup']==1){?>
<?php
if (!function_exists("GetSQLValueString")) {
function 
GetSQLValueString($theValue$theType$theDefinedValue ""$theNotDefinedValue ""
{
  if (
PHP_VERSION 6) {
    
$theValue get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
  }

  
$theValue function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch (
$theType) {
    case 
"text":
      
$theValue = ($theValue != "") ? "'" $theValue "'" "NULL";
      break;    
    case 
"long":
    case 
"int":
      
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case 
"double":
      
$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
      break;
    case 
"date":
      
$theValue = ($theValue != "") ? "'" $theValue "'" "NULL";
      break;
    case 
"defined":
      
$theValue = ($theValue != "") ? $theDefinedValue $theNotDefinedValue;
      break;
  }
  return 
$theValue;
}
}

$editFormAction $_SERVER['PHP_SELF'];
if (isset(
$_SERVER['QUERY_STRING'])) {
  
$editFormAction .= "?" htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset(
$_POST["MM_update"])) && ($_POST["MM_update"] == "form1")) {
  
$updateSQL sprintf("UPDATE tblusuarios SET strNombre=%s, strApellidos=%s, strEspecialidad=%s, intAltaProfeRegist=%s, intCentro=%s, intTelefono=%s, strMensaje=%s, intActivo=%s, strPassword=%s WHERE intId=%s",
                       
GetSQLValueString($_POST['strNombre'], "text"),
                       
GetSQLValueString($_POST['strApellidos'], "text"),
                       
GetSQLValueString($_POST['strEspecialidad'], "text"),
                        
GetSQLValueString(isset($_POST['intAltaProfeRegist']) ? "true" """defined","1","0"),            
                       
GetSQLValueString($_POST['intCentro'], "int"),                  
                       
GetSQLValueString($_POST['intTelefono'], "int"),
                       
GetSQLValueString($_POST['strMensaje'], "text"),
                       
GetSQLValueString($_POST['intActivo'], "int"),
                       
GetSQLValueString(md5($_POST['strPassword']), "text"),                       
                       
GetSQLValueString($_POST['intId'], "int"));

  
mysql_select_db($database_conexion$conexion);
  
$Result1 mysql_query($updateSQL$conexion) or die(mysql_error());

  
$updateGoTo "profesores-contra-list.php";
  if (isset(
$_SERVER['QUERY_STRING'])) {
    
$updateGoTo .= (strpos($updateGoTo'?')) ? "&" "?";
    
$updateGoTo .= $_SERVER['QUERY_STRING'];
  }
  
header(sprintf("Location: %s"$updateGoTo));
}


$UsuarioId_ModificarDatos "0";
if (isset(
$_GET['recordId'])) {
  
$UsuarioId_ModificarDatos $_GET['recordId'];
}
mysql_select_db($database_conexion$conexion);
$query_ModificarDatos sprintf("SELECT * FROM tblusuarios WHERE tblusuarios.intId= %s"GetSQLValueString($UsuarioId_ModificarDatos"int"));
$ModificarDatos mysql_query($query_ModificarDatos$conexion) or die(mysql_error());
$row_ModificarDatos mysql_fetch_assoc($ModificarDatos);
$totalRows_ModificarDatos mysql_num_rows($ModificarDatos);

mysql_select_db($database_conexion$conexion);
$query_DatosCentros "SELECT tblcentro.*,tblprovincias.provincia, tblprovincias.id FROM
tblcentro
Inner Join tblprovincias ON tblcentro.refProvincia = tblprovincias.id ORDER BY tblprovincias.provincia ASC, tblcentro.strLocalidad ASC, tblcentro.strNombre ASC"
;
$DatosCentros mysql_query($query_DatosCentros$conexion) or die(mysql_error());
$row_DatosCentros mysql_fetch_assoc($DatosCentros);
$totalRows_DatosCentros mysql_num_rows($DatosCentros);

?>
<!DOCTYPE html>
<html lang="es"><!-- InstanceBegin template="/Templates/Principal.dwt.php" codeOutsideHTMLIsLocked="false" -->
<head>
<!-- InstanceBeginEditable name="doctitle" -->
<title>Web.es</title>
<meta name="description" content="">
<meta name="robots" content="index, follow">
<!-- InstanceEndEditable -->
<meta charset="utf-8">
<?php include("includes/precabecera.php"); ?>

<!-- InstanceBeginEditable name="head" -->
<!-- InstanceEndEditable -->
</head>
<body>
<!-- InstanceBeginEditable name="EditRegion3" -->
<?php $menuseleccionado 6;?>
<section class="bg1">
  <!--==============================header=================================-->
  <header id="header">
    <div class="container_12">
      <?php include("includes/cabecera.php"); ?>
      <?php //include("includes/slider.php"); ?>
      <?php include("includes/menu.php"); ?>
    </div>
  </header>
  <!--===================content====================-->
  <div id="content">
    <div class="container_12">
        <div class="row">
 
            <div class="prefix_4 grid_6">
            <?php if (  isset($_GET['recordtext']) && $_GET['recordtext']=='1'){ ?>
            <br><br><div  class="mensajeenviado">Mensaje Guardado Correctamente</div>
            <?php }?>
              <h3 class="mrg22 pad3">Editar datos de: <?php echo $_GET['recordNameUser']; ?></h3>
  #2 (permalink)  
Antiguo 07/07/2014, 04:21
 
Fecha de Ingreso: mayo-2014
Ubicación: Valencia
Mensajes: 63
Antigüedad: 9 años, 11 meses
Puntos: 0
Respuesta: Alta manual y envío de email con contraseña.

Continuo el codigo aquí, que no me dejaba ponerlo todo en el anterior...

Código PHP:
    <form method="POST" action="<?php echo $editFormAction?>" name="form1">    
                    <label class="name">
                      <h1>Nombre: </h1>
                      <input id="nombreregistro" name="strNombre"  class="seleccion" type="text" value="<?php echo htmlentities($row_ModificarDatos['strNombre'], ENT_COMPAT'utf-8'); ?>" onClick="javascript:  borrarnombre();"/>
           
                      <div id="errorregistronombre" class="ocultar texto-error">* Campo obligatorio</div>                        
                    </label>
                     <label class="name">
                          <br><br><h1>Apellidos:</h1>
                          <input id="apellidosregistro" name="strApellidos"  class="seleccion" type="text"  value="<?php echo htmlentities($row_ModificarDatos['strApellidos'], ENT_COMPAT'utf-8'); ?>"  onClick="javascript:  borrarapellidos();"/>
                           
                    <div id="errorregistroapellidos" class="ocultar texto-error">* Campo obligatorio</div>
                    </label>
                    <label class="name">
                      <br><br><h1>Especialidad:</h1>
                      <input id="especialidadregistro" name="strEspecialidad"  class="seleccion" type="text" value="<?php echo htmlentities($row_ModificarDatos['strEspecialidad'], ENT_COMPAT'utf-8'); ?>" onClick="javascript:  borrarespecialidad();"/>
                      
                   <div id="errorregistroespecialidad" class="ocultar texto-error">* Campo obligatorio</div>
                    </label>
                    <br><br><h1>Centro:</h1>
                   <select name="intCentro" id="intCentro" class="seleccion">
                       <?php
do {  
?>
                       <option value="<?php echo $row_DatosCentros['intCentro']?><?php if (!(strcmp($row_ModificarDatos['intCentro'], htmlentities($row_DatosCentros['intCentro'], ENT_COMPAT'utf-8')))) {echo "SELECTED";} ?>><?php echo   $row_DatosCentros['provincia']." - "$row_DatosCentros['strLocalidad']." - ".$row_DatosCentros['strNombre']?></option>
                       <?php
} while ($row_DatosCentros mysql_fetch_assoc($DatosCentros));
  
$rows mysql_num_rows($DatosCentros);
  if(
$rows 0) {
      
mysql_data_seek($DatosCentros0);
      
$row_DatosCentros mysql_fetch_assoc($DatosCentros);
  }
?>
                     </select>
                    <label class="email">
                      <br><br><h1>Email:</h1><input id="emailregistro" name="strEmail"  disabled class="seleccion" type="text" value="<?php echo htmlentities($row_ModificarDatos['strEmail'], ENT_COMPAT'utf-8'); ?>" />
                    <div id="errorregistroemail" class="ocultar texto-error">* Debe ser un Email válido</div>
                    <div id="errorregistroemailduplicado" class="ocultar texto-error">* Esta dirección de correo ya está siendo usada por un usuario</div>
                    </label>
                    <label class="phone">
                        <br><br><h1>Teléfono:</h1><input id="telefonoregistro" name="intTelefono"  class="seleccion" type="text" value="<?php echo htmlentities($row_ModificarDatos['intTelefono'], ENT_COMPAT'utf-8'); ?>" onClick="javascript:  borrartelefono();"  />
                    <div id="errorregistrotelefono" class="ocultar texto-error">* Debe ser un Teléfono válido</div>
                    </label>
                   
                   <label class="name">
                        <br><br>
                        <h1>Contraseña:</h1>
                        <input id="contraseñaregistro" name="strPassword"  class="seleccion" type="password" value="<?php echo htmlentities($row_ModificarDatos['strPassword'], ENT_COMPAT'utf-8'); ?>"  />
                    <div id="errorregistropassword" class="ocultar texto-error">* Debe ser una contraseña          </div>
<p>Contraseña recomendada: <br>
                    FOL14<? 
$str 
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890";
$cad "";
for(
$i=0;$i<5;$i++) {
$cad .= substr($str,rand(0,62),1);
}
print 
$cad;
?>
    <td align="center" >
    <h1>Alta Regist:</h1><input type="checkbox" id="altaproferegist<?php echo $row_Profesores['intId'?>" name="intAltaProfeRegist" <?php if (!(strcmp($row_Profesores['intAltaProfeRegist'],1))) {echo "checked=\"checked\"";} ?>
     
    
    </td>
                   </p>
          Estado:<br>
     <select class="seleccion" name="intActivo">
      <option value="1" <?php if (!(strcmp(1htmlentities($row_ModificarDatos['intActivo'], ENT_COMPAT'utf-8')))) {echo "SELECTED";} ?>>Activo</option>
     <option value="0" <?php if (!(strcmp(0htmlentities($row_ModificarDatos['intActivo'], ENT_COMPAT'utf-8')))) {echo "SELECTED";} ?>>Inactivo</option>
   </select>                    

                   
                   
                   
                   
                    <label class="message">
                      <br><br><h1>Mensaje:</h1><textarea id="mensajeregistro" class="seleccionarea" rows="5" name="strMensaje" onClick="javascript:  borrarmensaje();" ><?php echo htmlentities($row_ModificarDatos['strMensaje'], ENT_COMPAT'utf-8'); ?></textarea>
<div id="errorregistromensaje" class="ocultar texto-error">* Debe escribir un Mensaje</div>
                    </label>
                    <div>
                        <div class="clear"></div>
                        <div class="btns">
                           
                           <!-- <a id="botonalta" class="btn" href="javascript: document.form1.submit()" onClick="javascript: return validar();">Enviar</a>  -->
                           
                   
                  
                             <input id="botonalta" class="botton" type="submit" value="Aceptar" onClick="javascript: return validar();"><br>
                <div class="btns">
                <a class="btn" href="mensaje-historial.php?recordId=<?php echo $row_ModificarDatos['intId']; ?>&recordNameUser=<?php echo $_GET['recordNameUser']; ?>" data-type="submit">Enviar Mensaje a Cliente</a>
                </div><br><br>

                   
                                           
                       
          </div>
                    </div>
  <input type="hidden" name="MM_update" value="form1">
  <input type="hidden" name="intId" value="<?php echo $row_ModificarDatos['intId']; ?>">
                </form>
                
<!---->  <!---->  <!---->  <!---->  <!---->  <!---->  <!---->  <!---->  <!---->  <!---->  <!---->  
<!---->  <!---->  <!---->  <!---->  <!---->  <!---->  <!---->  <!---->  <!---->  <!---->  <!---->           
     
          </div>
        </div>
    </div>
  </div>
  <!--===================footer=====================-->
  <?php include("includes/footer.php"); ?>
</section>
<!-- InstanceEndEditable -->
</body>
<!-- InstanceEnd -->

</html>
<?php
mysql_free_result
($ModificarDatos);
mysql_free_result($DatosCentros);
?>
<?php 
}else{ header("Location: index.php"); }/*restringir acceso a pagina*/?>
<script type="text/javascript">    
    function validar(){        
        validado = true;    
            
        valor = document.getElementById("nombreregistro").value;        
        if( valor == null || valor.length == 0 || /^\s+$/.test(valor) ) {
            $('#errorregistronombre').show(1000);
              validado = false;
        }
        valor = document.getElementById("apellidosregistro").value;        
        if( valor == null || valor.length == 0 || /^\s+$/.test(valor) ) {
            $('#errorregistroapellidos').show(1000);
              validado = false;
        } 
            
    if (validado==false){return false;}            
    

    
    }
    </script>
    <script type="text/javascript">
function borrarnombre(){
    $('#errorregistronombre').hide(1000);
    }
function borrarapellidos(){
    $('#errorregistroapellidos').hide(1000);
    }
function borrarespecialidad(){
    $('#errorregistroespecialidad').hide(1000);
    }        
function borrarcentro(){
    $('#errorregistrocentro').hide(1000);
    }
function borrarlocalidadcentro(){
    $('#errorregistrolocalidadcentro').hide(1000);
    }
function borrartelefono(){
    $('#errorregistrotelefono').hide(1000);
    }    
function borrarmensaje(){    
    $('#errorregistromensaje').hide(1000);
    }
</script>
  #3 (permalink)  
Antiguo 07/07/2014, 05:29
 
Fecha de Ingreso: mayo-2014
Ubicación: Valencia
Mensajes: 63
Antigüedad: 9 años, 11 meses
Puntos: 0
Respuesta: Alta manual y envío de email con contraseña.

Solucionado lo del mail

Código PHP:
  header(sprintf("Location: %s"$insertGoTo));
    
$asunto 'Datos de acceso a Web.es';
    
$mensaje "Hola ".$_POST['strNombre']." ".$_POST['strApellidos']." le enviamos este Email para comunicarle su Login y Password para ingresar en Web.es después de haber sido dado de alta en el servicio: <br /><p></p>";
    
$mensaje .= "- Login: ".$row_ModificarDatos['strEmail'] ."<br />"
    
$mensaje .= "- Pass: ".$_POST['strPassword']."<br />";
    
$mensaje .= "</p><p>Recuerde guardar este correo en un lugar seguro dentro de sus archivos personales.</p><p>Para ingresar al Sistema lo puede hacer desde:</p><p><a href='http://www.web.es'>http://www.web.es</a></p>Atte:<br></p><p>Dpto. de Sistemas<br><a href='mailto:[email protected]'>[email protected]</a><br>Dpto. Sistemas de web.es</p>";


    
EnviarCorreoHTML($row_ModificarDatos['strEmail'],$asunto,utf8_decode($mensaje)); 
Ahora el problema es con lo de la encriptación MD5, el problema es el siguiente...

Edito un usuario y le pongo la clave 12345, que en MD5 es la siguiente...

827ccb0eea8a706c4c34a16891f84e7b

Si por cualquier razón, vuelvo a editar ese usuario y le cambio, digamos el mail y guardo, me reencripta la clave y me encriptaria el 827ccb0eea8a706c4c34a16891f84e7b quedando en 1f32aa4c9a1d2ea010adcf2348166a04

:/
  #4 (permalink)  
Antiguo 08/07/2014, 04:41
 
Fecha de Ingreso: mayo-2014
Ubicación: Valencia
Mensajes: 63
Antigüedad: 9 años, 11 meses
Puntos: 0
Respuesta: Alta manual y envío de email con contraseña.

Parece que este loco, hablo solo, xD

Solucionado lo de las contraseñas, he separado el formulario con el resto de datos con el de contraseñas.

Bien, ahora vuelvo con lo del correo. Cada vez que entro en la pagina de editar la contraseña, me envía un mail, nada mas entrar, con la contraseña en blanco, cuando mando el formulario ya me envía otro con la contraseña ok.

No se porque me envía un mail nada mas entrar a la pagina, supongo que habré puesto el código en el sitio incorrecto, pero no doy con ello, :(

Etiquetas: email, formulario, html, manual, mysql, select, sql, usuarios
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:02.