Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - Ogramar

Páginas: 1 ... 47 48 49 50 51 [52] 53 54 55 56 57 ... 100
1021
Hola, por un lado tienes que usar la función mail de php para el envío del correo:

Código: [Seleccionar]
<?php
// Texto del correo
$msg "Gracias por inscribirte en nuestra pagina web\nDesde ahora puedes participar";

// usar wordwrap() si las líneas son muy largas
$msg wordwrap($msg,70);

// enviar email
mail("tata@ejemplo.com","Confirmacion de inscripcion",$msg);
?>


Por otro lado tienes que construir el cuerpo del correo. Para extraer el contenido desde un archivo html puedes hacerlo como se explica en la entrega "Extraer código fuente de página web con PHP. Leer archivos completos: file_get_contents y nl2br (CU00838B)" del curso http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=70&Itemid=193

Ejemplo cómo construir un correo con html:

Código: [Seleccionar]
<?
    //change this to your email.
    $to = "m@aprenderaprogramar.com";
    $from = "m2@aprenderaprogramar.com";
    $subject = "Hola! Esto es un correo con HTML";

    //begin of HTML message
    $message = <<<EOF
<html>
  <body bgcolor="#DCEEFC">
    <center>
        <b>Looool!!! I am reciving HTML email......</b> <br>
        <font color="red">Thanks Mohammed!</font> <br>
        <a href="https://www.aprenderaprogramar.com/">* aprenderaprogramar.com</a>
    </center>
      <br><br>*** Now you Can send HTML Email <br> Regards<br>MOhammed Ahmed - Palestine
  </body>
</html>
EOF;
   //end of message
    $headers  = "From: $from\r\n";
    $headers .= "Content-type: text/html\r\n";

    //options to send to cc+bcc
    //$headers .= "Cc: [email]maa@p-i-s.cXom[/email]";
    //$headers .= "Bcc: [email]email@maaking.cXom[/email]";
   
    // now lets send the email.
    mail($to, $subject, $message, $headers);

    echo "El mensaje ha sido enviado...!";
?>

Otro ejemplo:

Código: [Seleccionar]
<?
    //change this to your email.
    $to = "m@aprenderaprogramar.com";
    $from = "m2@aprenderaprogramar.com";
    $subject = "Hola! Esto es un correo con HTML";

    //begin of HTML message
    $message = "<html>
  <body bgcolor=\"#DCEEFC\">
    <center>
        <b>Looool!!! I am reciving HTML email......</b> <br>
        <font color=\"red\">Thanks Mohammed!</font> <br>
        <a href=\"https://www.aprenderaprogramar.com/\">* aprenderaprogramar.com</a>
    </center>
      <br><br>*** Now you Can send HTML Email <br> Regards<br>MOhammed Ahmed - Palestine
  </body>
</html>";
   //end of message

    // To send the HTML mail we need to set the Content-type header.
    $headers = "MIME-Version: 1.0rn";
    $headers .= "Content-type: text/html; charset=iso-8859-1rn";
    $headers  .= "From: $from\r\n";
    //options to send to cc+bcc
    //$headers .= "Cc: [email]maa@p-i-s.cXom[/email]";
    //$headers .= "Bcc: [email]email@maaking.cXom[/email]";
   
    // now lets send the email.
    mail($to, $subject, $message, $headers);

    echo "El mensaje ha sido enviado...!";
?>

Salu2

1022
Hola, como siempre recomendamos a quienes escriben por primera vez en los foros, indicarte que para pegar código debes hacerlo según se explica en https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0 para que el código quede bien formateado.

¿Qué parte del código es la que no te funciona? Veo que aparece la función validar pero no se ve desde dónde se invoca esa función.

Tampoco se entiende muy bien por qué usas eval en esta expresión: document.getElementById(tot).value=eval(param)+eval(param1)+eval(param2);

¿Para qué necesitas usar eval?

Salu2

1023
De todo un poco... / Re:dudas en qué lenguaje escoger
« en: 30 de Octubre 2015, 08:26 »
Hola, lo primero que te recomendaría es que si ya tienes por lo menos unas bases de programación generales, ahora aprendas programación orientada a objetos, los conceptos. Es importante aprender los conceptos porque así luego puedes aplicarlos a cualquier lenguaje o cualquier trabajo de programación. Siguiendo el curso de java que hay en la web puedes aprender los conceptos por ello te recomiendo que lo sigas paso a paso, este es el link: http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=68&Itemid=188

Salu2

1024
Hola, como siempre recomendamos a quienes escriben por primera vez en los foros, indicarte que para pegar código debes hacerlo según se explica en https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0 para que el código quede bien formateado.

Para poder entender qué es lo que ocurre y cómo solucionarlo sería necesario más información:

Estructura de la base de datos: cuáles son las tablas implicadas y qué campos tienen esas tablas.

Consulta a la base de datos que realizas: pega el código de la consulta a la base de datos para analizarlo, es posible que la consulta no sea correcta y por eso te esté devolviendo duplicados.

Salu2

1025
Hola, en la solución de wilfrido entre la serie de 8 cuadrados de colores y el párrafo hay una separación gracias al margin-bottom: 20px;

Entre el párrafo y las tres franjas de colores inferiores hay una separación gracias a que el párrafo introduce por defecto un espaciado entre el párrafo y el elemento inferior. Este margin no está declarado en el css, es algo que introduce el navegador por defecto cuando representa un elemento <p> ... </p>. Recordar que algunos elementos llevan aparejados estilos por defecto. Estos estilos por defecto pueden ser eliminados con "reglas de reseteado", es decir, reglas donde específicamente declaremos que anulamos ese estilo oculto. Por ejemplo si declaramos el estilo p {margin:0;} estamos anulando el estilo por defecto que introduce el espaciado de los elementos p.

La propiedad clear no introduce un espaciado entre elementos, simplemente rompe el flujo generando un nuevo bloque a continuación del flujo anterior.

El margin-top del sel #nueve básicamente no sirve para nada.

Lo mejor para comprobar qué afecta y qué no afecta es hacer pruebas, es decir, introduce o elimina reglas y vete comprobando los efectos e interpretando el por qué de los resultados que obtienes.

Salu2

1026
Hola, así es, numeroFilas y numeroColumnas son enteros fijos, que serán una declaración inicial para la construcción del programa. La definición del tablero puede verse como la definición de una matriz de nxm elementos (números). Típicamente un sudoku es de 9 filas por 9 columnas, aunque también pueden crearse sudokus con otros números de filas y de columnas.

1027
Dado que es un problema complejo pienso que lo mejor es abordarlo por partes ya que de otro modo se hace difícil de depurar. Lo primero es representar el tablero con una matriz, cosa que ya has hecho. Lo siguiente sería ser capaces de validar el tablero. Para validar el tablero tienes que realizar tres comprobaciones, la primera comprobación podría ser por filas, la segunda por columnas y la tercera por cuadrícula.

Para la primera comprobación hay que mirar que los elementos en una fila no se repiten, esto podrías hacerlo en una función aparte. Habría que comprobar que el primer elemento no es igual a ninguno de los demás, que el segundo no es igual a ninguno de los demás, que el tercero no es igual a ninguno de los demás, etc. Para ello se puede crear un bucle de este tipo, habría que probarlo, esto es solo una idea:

Código: [Seleccionar]
Para k=0 hasta NumeroColumnas-1 //Elemento que se fija de la fila
Para i=0 hasta NumeroFilas-1 //Recorrer filas
Para j=1 hasta NumeroColumnas-2 //Recorrer elementos fila

Si mat[i][k] == mat [i][j] entonces
solucionInvalida = true;
FinSi
FinPara
FinPara
FinPara

Cuando hubieras implementado y probado esta comprobación, pasarías a la comprobación por columnas, una vez hubieras chequeado la comprobación por columnas, pasarías a la solución por cuadrícula... así hasta estar seguro de que te funcione bien la validación del tablero antes de pasar al siguiente punto.

Salu2

1028
Hola para hacer el redireccionamiento con htaccess lo único que necesitas es editar este archivo e incluir la línea o líneas necesarias dentro de él. Necesitas unos conocimientos mínimos como saber editar un archivo en servidor, etc.

Salu2

1029
Puedes tener un subdominio y dentro de la raíz del subdominio tener los contenidos que desees, el cms puedes alojarlo en una carpeta dentro del espacio de archivos del subdominio y crear un enlace para acceder a él escribiendo la ruta adecuada. También puedes tener el cms en la misma raíz, pero en ese caso tendrás dos index, uno para el cms y otro para el otro contenido, y tendrás que hacer que se resuelva al archivo adecuado según sea el caso. Una vez instalado el cms en la ruta correspondiente el theme y diseños se gestionan de la misma manera que en cualquier otro caso.

Salu2

1030
En principio se recomienda trabajar con swing siempre que sea posible, ya que swing es una evolución de awt. En algunos casos no hay opción y debe usarse awt, en otros casos se mantiene awt por razones de compatibilidad (hay muchos sistemas que fueron programados hace años y su cambio sería costoso), pero hasta donde yo sé siempre sería recomendable swing excepto casos puntuales o en circunstancias específicas.

Salu2

1031
Hola yo creo que lo más correcto es usar un JLabel sobre un Jpanel, de esa manera trabajas sobre ambos elementos swing. No sé si hay algún motivo por el que no puedas usar JPanel.

1032
Hola ivan15 para poder ayudarte necesitamos el código para poder compilarlo y ver qué es lo que ocurre, para pegar código tienes la explicación de cómo hacerlo en https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0

Salu2

1033
Hola Pedro :) me he mirado el ejercicio y veo bien el código con un problema, es que si se encuentra un fallo además de mostrarse el mensaje de advertencia no se envíe el formulario pero esto se explica más adelante en el curso. Relacionado con esto está que si se muestra un mensaje de fallo al enviarse el formulario desaparecen los datos que había (al haberse enviado el formulario).

Como todo esto se explica más adelante en el curso y el código está bien planteado y bien estructurado en funciones ¡A seguir adelante!

Salu2

1034
Hola yo utilizo Visual Studio 2013 y sí tengo DataGridView, para acceder a él tienes que estar en la vista de diseño, tener el foco sobre el formulario y mostrar el cuadro de herramientas (menú ver, cuadro de herramientas, o pulsar CTRL+ALT+X). En el cuadro de herramientas seleccionas "Datos" y dentro de las opciones de datos te aparecerá Puntero, Chart, BindingNavigator, BindingSource, DataGridView y DataSet.

Salu2

1035
Hola DotarSojat es importante que cuando pegues el código lo hagas utilizando las etiquetas [ code] ... [ /code] como se explica en https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0 si no lo haces así el código no se visuliza bien, aparecen cursivas indebidamente, etc.

Hay una cosa con vistas al desarrollo del programa que me parece deberías cambiar en la primera parte: al definir el tablero como 16 valores independientes denominados a11,a12,a13,a14,b11,b12,b13,b14,c11,c12,c13,c14,d11,d12,d13,d14
estás impidiendo (o dificultando) el tratamiento automatizado y recorrido de filas y columnas con bucles.

Para facilitar el tratamiento automatizado y matemático sería más adecuado usar un array o arreglo multidimensional, de modo que trabajes con un array a[][] de dos dimensiones. Si declaras a[4][4] los índices van a ir de 0 a 3. Para evitar tener que partir del índice cero si lo deseas puedes usar a[5][5] y despreciar el elemento de índice cero. Pero en este caso debes tener en cuenta que el número de elementos de cada índice del array no será el valor de length (5) sino length-1, es decir, 4.

Trabajando con arrays deberías evitar el uso de sentencias repetitivas como

if (((a11!=1) and (a11!=2)  and (a11!=3)  and (a11!=4))  or // condicional que evalua que la cadena introducida contenga numeros entre 1 y 4
   ((a12!=1) and (a12!=2)  and (a12!=3)  and (a12!=4))  or

El tratamiento sería basado en bucles e índices de los localizadores, evitando la repetición de código en la medida de lo posible.

El problema quizás se pueda resolver sin usar arrays, pero va a ser una solución menos correcta, más extensa y con más repetición de código.

Fíjate en la solución a sudoku planteada en este hilo (https://www.aprenderaprogramar.com/foros/index.php?topic=1746), basada en arrays.

Luego hay otra cosa que no entiendo: en el primer código que has puesto defines 16 variables, pero en el segundo código sí has usado arreglos (arrays) ¿Por qué? ¿No se supone que es un mismo problema que vas solucionando por partes?

Salu2

1036
De todo un poco... / Re:"Añadir" cms a pagina web
« en: 18 de Octubre 2015, 17:39 »
Hola Elisa, un cms viene siendo equivalente a "una página web" (aunque algo más complejo que una página simple). Un mismo cms se puede tener en distintos dominios, repetido por así decirlo.

También puedes tener unos contenidos en el dominio y tener el cms en un subdominio o en una carpeta.

Puedes agregar un cms a un sitio copiándolo desde otro sitio donde esté instalado, o realizando una instalación nueva. El cms agregado puedes ponerlo en el dominio principal o en una ruta secundaria, según prefieras.

Mover un cms instalado de un lado a otro tiene una pequeña dificultad: si lo mueves dentro del mismo sitio-servidor tendrás que mover el sistema de archivos y parámetros de configuración (como rutas de acceso a archivos).

Si lo mueves de un sitio-servidor a otro sitio-servidor además de mover el sistema de archivos y cambiar parámetros de configuración tendrás que copiar la base de datos y trasladarla al nuevo servidor.

No es demasiado complicado, pero puede complicarse si por ejemplo intentas un cambio de servidor y las características de los servidores son distintas.

Para todo esto conviene tener algo de conocimientos, o si no se tienen, hacer copias de seguridad antes de nada por si hay problemas no perder la información.

Salu2

1037
De todo un poco... / Re:Traduccion Automatica a otro idioma
« en: 18 de Octubre 2015, 17:30 »
Hola hay una forma adecuada para redirigir a los visitantes a un dominio hacia una url determinada a través de httaccess (archivo que debe estar en la raíz del sitio). Cuando alguien escribe la url lo primero que hace el servidor es comprobar si hay una redirección en httaccess y en caso de estar especificada, desvía al visitante al lugar indicado.

El archivo htaccess está localizado en la raíz del servidor y es recomendable hacer una copia de seguridad antes de modificarlo por si hay algún problema.

Supón que quieres que al visitar ww w. mi sitio. com se redirija a una traducción como https://translate.google.es/translate?hl=es&sl=es&tl=en&u=aprenderaprogramar.com

Ejemplos de redireccionamiento desde htaccess:

Redireccionar una página concreta:
Código: [Seleccionar]
Redirect 301 /oldpage.html http://www.example.com/newpage.html
Redireccionar un sitio entero:
Código: [Seleccionar]
Redirect 301 / http://www.example.com/

Otros enlaces que pueden servir de referencia: https://www.aprenderaprogramar.com/foros/index.php?topic=3236 y http://aprenderaprogramar.com/index.php?option=com_content&view=article&id=567:como-traducir-automaticamente-paginas-web-usando-la-herramienta-de-traduccion-de-google&catid=60:servicios-web-gratuitos&Itemid=182

Salu2

1038
Hola Joaquin59 pega el código php como se indica en https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0

Esta consulta parece que la tienes mal planteada:

Código: [Seleccionar]
for ($y=0; $y<count($tipos);  $y++) {
   $result = mysql_query("select id_cliente, nombre, tipo, precio, icono1, localidad FROM restauracion WHERE tipo = $tipos");
   }

En cada pasada del bucle se destruye el valor de $result, además $tipos no tiene indicado el índice que debe utilizarse.

En esta consulta:

Código: [Seleccionar]
for($i=0;$i<count($tipos);$i++) {
$sql = mysql_query("UPDATE restauracion SET nombre = '$tipos[$i]' WHERE tipo = 'Cómida para llevar'");
   }

En cada pasada del bucle se destruye el valor de $sql, quedando únicamente el valor correspondiente a la última pasada, donde $tipos[ i ] es el último elemento del array, es decir, Bar-Restaurante

Un pequeño código de ejemplo:

Código: [Seleccionar]
<?php 
echo 'Prueba <br/>';
$tipos[0] = 'Restaurante';
$tipos[1] = 'Bar';
$tipos[2] = 'Bar-Restaurante';
echo 
'Recorrido primer bucle<br/>';
for (
$y=0$y<count($tipos);  $y++) {
   echo 
$tipos.'<br/>';
   }
   echo 
'Recorrido segundo bucle<br/>';

for (
$y=0$y<count($tipos);  $y++) {
   echo 
$tipos[$y].'<br/>';
   }
?>

Te recomiendo seguir este curso http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=70&Itemid=193 donde se explican los conceptos relacionados con bucles, arrays, consultas, etc.

Salu2

1039
Hola yo también te recomiendo que hagas el curso... haciéndolo aprenderás a resolver este tipo de problemas y más.

Una posible solución:

Código: [Seleccionar]
<html>
<head>
<meta charset="utf-8" />
 <style type="text/css">
body {background-color:white; font-family: sans-serif;}
p {font-size: 24px; color: maroon; float: left; margin:10px; border: solid black; padding:10px;}
.boton{padding:15px; width: 330px;  text-align:center; clear:both;
color: white; border-radius: 40px; background: rgb(202, 60, 60);}
.boton:hover {background: rgb(66, 184, 221);}
</style>
<script type="text/javascript">
function filtrar (classRecibida) {
nodosAfiltrar = document.querySelectorAll('.'+classRecibida);
//alert ('Tenemos '+nodosAfiltrar.length)
        for (var i=0; i<nodosAfiltrar.length; i++) {
//alert ('Tenemos ahora'+nodosAfiltrar[i].childNodes[3].childNodes[1].childNodes[1].innerHTML)
if (nodosAfiltrar[i].childNodes[3].childNodes[1].childNodes[1].innerHTML =='Martes'
|| nodosAfiltrar[i].childNodes[3].childNodes[1].childNodes[1].innerHTML =='Miércoles') {
                nodosAfiltrar[i].style.backgroundColor = "yellow";
                nodosAfiltrar[i].style.color = "black";
                nodosAfiltrar[i].style.border = "solid 1px";}
else {nodosAfiltrar[i].style ='display:none';}
                }
}

</script>
</head>
<body>

<div id="commentaryContent" class="scrolling">
 <div class="comment">
                  <div class="commentMinute">01'03"</div>
                  <div class="commentContent">
                    <div class="ASI statImage">
                      <div class="statCommentEntry">Lunes</div>
                    </div>
                  </div>
                </div>
 <div class="comment">
                  <div class="commentMinute">12'17"</div>
                  <div class="commentContent">
                    <div class="ASI statImage">
                      <div class="statCommentEntry">Martes</div>
                    </div>
                  </div>
                </div>
 <div class="comment">
                  <div class="commentMinute">22'11"</div>
                  <div class="commentContent">
                    <div class="ASI statImage">
                      <div class="statCommentEntry">Miércoles</div>
                    </div>
                  </div>
                </div>
 <div class="comment">
                  <div class="commentMinute">09'23"</div>
                  <div class="commentContent">
                    <div class="ASI statImage">
                      <div class="statCommentEntry">Jueves</div>
                    </div>
                  </div>
                </div>
 <div class="comment">
                  <div class="commentMinute">10'08"</div>
                  <div class="commentContent">
                    <div class="ASI statImage">
                      <div class="statCommentEntry">Viernes</div>
                    </div>
                  </div>
                </div>
</div>
<h3 class="boton" onclick="filtrar('comment')">Pulse aquí para filtrar días que empiezan por m</h3>
</body>
</html>

Salu2

1040
Hola lo más normal si se tiene un formulario es ir almacenando los datos en la base de datos por ejemplo usando php. Si no los almacenas en la base de datos, todo lo que haya introducido el usuario se podría perder en algún momento. Aquí hay una referencia de php, http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=70&Itemid=193

Si por motivos de algún tipo se prefiere almacenar usando localStorage puedes trasladar variables JavaScript a LocalStorage y viceversa como se muestra en el siguiente ejemplo:

Código: [Seleccionar]
<html>
<head>

<script type="text/javascript">
function ejecutame(){
alert ("ejecutando");
// Creating an example of JSON
var session = {
  'screens': [],
  'state': true
};
session.screens.push({ 'name': 'screenA', 'width': 450, 'height': 250 });
session.screens.push({ 'name': 'screenB', 'width': 650, 'height': 350 });
session.screens.push({ 'name': 'screenC', 'width': 750, 'height': 120 });
session.screens.push({ 'name': 'screenD', 'width': 250, 'height': 60 });
session.screens.push({ 'name': 'screenE', 'width': 390, 'height': 120 });
session.screens.push({ 'name': 'screenF', 'width': 1240, 'height': 650 });

// Converting the JSON string with JSON.stringify()
// then saving with localStorage in the name of session
localStorage.setItem('session', JSON.stringify(session));

// Example of how to transform the String generated through
// JSON.stringify() and saved in localStorage in JSON object again
var restoredSession = JSON.parse(localStorage.getItem('session'));

// Now restoredSession variable contains the object that was saved
// in localStorage
console.log(restoredSession);
console.log("Podemos acceder a un dato guardado pantalla indice 4 nombre: "+restoredSession.screens[4].name.toString());
console.log("Podemos acceder a un dato guardado pantalla indice 4 ancho: "+restoredSession.screens[4].width.toString());
console.log("Podemos acceder a un dato guardado pantalla indice 4 alto: "+restoredSession.screens[4].height.toString());
}
</script>

</head>
<body onload="ejecutame()">
Hola
</body>

</html>

Salu2

Páginas: 1 ... 47 48 49 50 51 [52] 53 54 55 56 57 ... 100

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".