Empezando con JavaScript en HTML
¿Cómo /$%!DAF hago para que un formulario ejecute un script?
Es decir, para que esto:
``` <form name”input” method=”post”>
</form>
ejecute esto
function verificacion()
{
if(edad<18){
alert(“Demasiado joven”);
}
}
</script>```
El HTML y Javascript, entre los condicionales (<!–[if IE]… etc.), que no sé cómo hace para saber qué debe reemplazar (en C++ está lo de else{tal}, pero aquí no), y que no sé cómo hacen para que en los formularios ejecuten algo, me pongo de los nervios x’D (he estado mirando códigos fuente de otras webs, pero es que no encuentro donde pone algo parecido a que ejecute una función, en un script, o algo).
Activos en DESARROLLO
Los más activos en General
Subforos
-
Desarrollo
- General
Desarrollo
Hola,
La invocación de la función javascript no debe hacerse al enviar la página.
Para invocar la función puedes hacerlo con un botón:
<input type=”Button” name=”boton” value=”Aceptar” onClick=”Verificación();”y luego en la función javascript invocar el submit.
o directamente dentro de tu html :
html….
*
*más html….
Esto puede serte útil.
Se me olvidó decir que ya lo había solucionado x’D
Igualmente gracias por tu ayuda SinSa, sin duda me lo habría aclarado todo.
Aquí hice una calculadora básica: https://www.logibit.es/reaven/javascript/calc.html
También estoy empezando con PHP, lo que pasa es que no sé qué uso darle en la web que estoy haciendo ( https://www.logibit.es/insti/jbustos/index.html ), ya que aun no sé nada de SQL y no creo que le añada una base de datos, con registro de usuarios y tal, aunque no estaría mal, la verdad.
Hola,
Si usas php hay muchos módulos (paquetes) ya integrados con acceso a bbdd (mysql normalmente) en los que no tienes que preocuparte del sql (foros, registro de usuarios, inventarios, etc). Es un lenguaje muy enfocado a web y muy interesante.
De todas formas, en la red hay millones de tutos para eso y cualquier otro tema de diseño web, eso sí, inglés a piñón.
Observo que tu calculadora ha utilizado recursos de ‘terceros’, al dividir por cero tu js/calc.js devuelve ‘Infinity’, si fuera un examen te habría puesto un 5 pelao
Sigo…
Sobre tu nueva web, mira bien el nombre, creo que ya está registrado (media center).
Por otro lado veo que tienes catálogos (juegos, etc.)por lo que una bbdd te será mucho más cómoda cuando quieras explotar dicho catálogo (más contenidos asociados).
Todo lo que te has currado por html puede generarse en tiempo real con una bbdd (un apache con un tomcat) y valdría para cualquier juego, sin tener que picártelo para cada uno.
Sí, conozco lo de los paquetes (CMS), como SMF, phpBB y tal, pero lo que quiero es aprender a programar webs.
Lo de los recursos de terceros lo hice yo, no lo he cogido de ningún lado x’D Lo puse un .js para que estuviera más organizado todo.
Bueno, el nombre lo puedo cambiar, sólo es cambiar dos imágenes y un texto. La verdad es que lo que comentas de lo de utilizar la base de datos en la web me encantaría hacerlo, y si no es muy difícil lo intentaré, pero bueno, no sé nada de SQL aún.
Lo de ‘Infinity’, simplemente sería meter un if(tal == 0) { tal pascual }; x’D
PD: estoy leyendo la guía de SQL de w3schools.com, que lo explica todo pero… ¿cómo se hace una base de datos? ¿Con qué programa? Porque HTML, JavaScript y PHP, se pueden hacer con el Dreamweaver con ficheros html, js y php, pero las BBDD no sé
Editado: Vale, mysql_connect(servername,username,password);, se accede desde PHP.
Creo, porque hace muchos años ke no toco lenguajes web, ke puedes implementarle sql al php
Hola,
Las bases de datos se crean con servidores de bases de datos. Osea, un programa que normalmente se denomina ‘motor’ o ‘instancia’ o ‘servidor de bbdd’. El más usado en inet es mysql (motor pequeño pero gratuito), aunque seguro que has oído hablar de otras más potentes como Oracle, informix, sybase, sql server (microsoft) , etc.
Una vez tengas acceso al motor (dba o sa), podrás crear una o varias bases de datos en él a través de uno de los tres tipos de lenguajes que tiene un motor relacional, a saber:
DDL (definición de datos)
DML (manipulación de datos)
DCL (control de datos)
En tu caso necesitas un CREATE DATABASE (dcl) que podrás hacer a través de una consola SQL o de una herramienta visual (el propio PHP dispone de interfaces gráficos).
Una vez creada la bbdd, tendrás que crear la tablas y las relaciones existentes entre ellas, así como otros objetos como índices, procedimientos almacenados, vistas, triggers, etc.
El mundo de las bbdd es amplio y complejo, de momento saber ‘qué’ ya es un mundo
Tengo un hosting, y tengo un usuario en MySQL con 5 bases de datos.
He probado esto, pero no me funciona
``` <?
$con = mysql_connect(“**”,”**”,”**”);
if (!$con)
{
die(‘Could not connect: ‘ . mysql_error());
}
Entro al panel de MySQL del hosting, entro a la base de datos, pero pone “No se han encontrado tablas en la base de datos.”
He subido el .php al servidor, lo he ejecutado, y también he probado a ejecutarlo desde un de otro html. Conectar conecta bien, porque no da ningún error (y si cambio algo del usuario sí da error), a lo mejor es que no selecciona bien la base de datos.
Hola,
Parece que debería funcionar la selección dela bbdd con la función mysql_select_db
Para asegurarte haz esto:
mysql_query(‘USE *****_5’);
¿Cuando entras en la bbdd, haces también una llamada a mysql_select_db?
De todas formas, puedes conectar directamente a la bbdd sin pasar por el php
https://www.desarrolloweb.com/articulos/1798.php
Tampoco funciona :S Y no encuentro de donde descargar el MySQL Administrator, al menos desde la página oficial de MySQL.
Hola,
Ahora lo llaman workbench, pero sigue siendo un GUI para DDL:
https://dev.mysql.com/downloads/workbench/5.2.html
de todas formas, en google tienes acceso al download del administrator (freeware)
No me conecta desde el programa :S Pero bueno, lo que me hace falta es que me funcione desde PHP, para aprende a hacerlas x.d
Editado: lol
He creado una tabla desde el panel de MySQL del hosting, y he modificado el php con esto
Editado: Vale, ya sé el problema, tenía que poner
Hola,
Si te inserta es que la tabla existe, en eso no hay lugar a dudas
Para recuperar los valores haz:
SELECT gameName from Games;
Sinsa edita los datos anda, corre
A ver, tengo nuevos problemas:
[quote] $send = “INSERT INTO bd_5.opiniones(texto) VALUES (‘$_POST[firstname]’)”;
mysql_query($send, $db);
[/quote]
Se crea un nuevo registro con la correspondiente id, pero el texto no se añade ($_POST[firstname]). Si en vez de eso pongo ‘hola’ sí se ve :S
Hola,
Estás enviando la cadena, no el valor del objeto texto. Prueba a hacerlo sin comillas. Seguramente tendrás que concatenar el valor con la cadena del insert.
Estás avanzando mucho. busca un tuto con un ejemplo que te guíe.
Probé a hacerlo sin las comillas, pero me da error.
Sacado de un ejemplo de W3Schools.com
[quote]$sql=”INSERT INTO Persons (FirstName, LastName, Age)
VALUES
(‘$_POST[firstname]’,’$_POST[lastname]’,’$_POST[age]’)”;[/quote]
Y se supone que ahí debe funcionar.
Hola,
Me estás haciendo aprender php
No te fíes de ese ejemplo, tampoco usa bbdd.tabla y tú sí lo necesitas.
has probado a volcar antes en alguna otra variable auxiliar?
yo nunca uso los $_POST directamente porque a veces me dan problemas, entonces hago:
y luego en la query:
de todas formas voy a mirar entre mis archivos de webs a ver si veo una consulta similar para guiarte…
PD: Bueno, mirando entre archivos, aunque he perdido de vista multitud de borradores que tengo en php, creo recordare que las comillas dentro de [] son necesarias, seguramente por eso no te va. La opción puede ser la que te digo de copiar a otra variable primero, o si tu server tiene activado register_globals, entonces puedes usar directamente la variable sin post como $firstname.
Voy a probar, gracias
Editado: Nada, igual :S
Editado: No funciona nada, me caguen diez
Si el script está en el mismo archivo que el <form>, funciona, si enlaza a otro .php, no. ¿Hay alguna manera de que ese otro .php “coja” los datos del otro archivo?
Hola,
Claro, pasa los parámetros como variables en la función javascript que invocas.
No entiendo lo que quieres decir :S
Mira esto
[quote]<?
include(“php/logd.php”);
</head>
que hace bastante falta
Editado: https://www.logibit.es/insti/jbustos/prueba.php
prueba algo parecido a esto: (digo parecido, porque hace tiempo que no toco esto, pero me suena que se podía hacer así)
[quote]
$result = mysql_query(“SELECT texto FROM $db5.opiniones”) LIMIT 0, 1”);
$row = mysql_fetch_array($result);
echo $row[‘texto’];
[/quote]
Y si no funciona, al menos te explico lo que hace limit. Si le pones la sentencia “LIMIT a,b”, le estás diciendo que empezando desde la posición “a”, te coja “b” elementos. Ahora bien, no recuerdo claramente si cuando añadías una cosa en la base de datos, si esta acababa en la posición 0, o en la posición final de la tabla.
Si te apareciese en la posición final… lo que puedes hacer es decirle que ordene descendentemente y nuevamente, pedirle el limit 0,1, algo asi:
[quote]
$result = mysql_query(“SELECT texto FROM $db5.opiniones”) ORDER BY id DESC LIMIT 0, 1”);
$row = mysql_fetch_array($result);
echo $row[‘texto’];
[/quote]
nuevamente, no sé si la sentencia está bien hecha, porque la estoy montando mas o menos como la recuerdo. Si puedo decir que el DESC es descendente, si no pones desc, el sql interpreta que es ASC automáticamente.
Seguramente sinsa te dirá que nunca hagas un order en una consulta, creo recordar que a mi me lo dijo una vez, creo que es por eficiencia o algo así, pero si simplemente quieres hacer una cosilla simple para prácticas de uni, o algo que te quieras montar en una miniweb, supongo que no pasa nada por hacerlo.
Voy a ir probando a ver. Por cierto, sustituye “prácticas de uni” por “aprender algo nuevo que poder implementarle a la web/proyecto de 1º de bachiller y asi sacar un 11 o 12, en vez de un 10”
EDITO: acabo de encontrar esto en otro foro
EDITO 2: funciona
Editado: [quote] if(isset($_POST[“firstname”]))
{
$text = $_POST[“firstname”];
$send = “INSERT INTO $db5.opiniones(texto) VALUES (‘$text’)”;
verification();
Ahora intento eso, que si ya existe el mismo texto, que no inserte el valor en la base de datos, pero da error en línea 27 ($res = mysql_fetch_array($fila);), pero supongo que por la línea anterior.
Expliquen, hamijos:
[quote] <? $result = mysql_query(“SELECT category, titulo, texto FROM $db5.noticias”);
while($row = mysql_fetch_array($result))
{
echo “Categoría: “ . $row[‘category’] . “
Título: “ . $row[‘titulo’] . “
” . $row[‘texto’];
echo “
”;
}
?>[/quote]
= funciona
Pero….
+
[quote] function get_news()
{
$result = mysql_query(“SELECT category, titulo, texto FROM $db5.noticias”);
while($row = mysql_fetch_array($result))
{
echo “Categoría: “ . $row[‘category’] . “
Título: “ . $row[‘titulo’] . “
” . $row[‘texto’];
echo “
”;
}
}[/quote]
= error :S
Editado: https://www.logibit.es/insti/jbustos/php/add_news.php
He hecho un pequeño script inspirado en el de Call of Duty (isDefined => if(isDefined(tal)))
creo que si has abierto una conexión con la bbdd, a menos que le envies los datos de esa conexión por variable a la función, la función no puede ejecutar así como asi la consulta. O le envias los datos por parámetro, o creas la conexión dentro de la función.
Gracias Flash-Hack. Arreglado con > <? get_news($db, $db5); ?>
de nadap
me alegro de que te haya sido de ayuda
Una cosa, ¿puedo poner en un action=”” una función? Es decir, esto action=”send_news($db, $db5);”?
creo que php no puede hacer eso, es solo la programación del lado del servidor. Para eso necesitarías usar el javascript
¿Cómo puedo hacer para que con LIMIT escoja los números desde una posición hasta el “infinito”? En concreto desde la posición 4 en adelante.
LIMIT 4 no funciona, pero no puedo concretar un valor como “tope” :S
PD: https://www.logibit.es/insti/jbustos/php/add_news.php ya va tomando forma
hay un par de formas. La primera, y la que mas me gusta a mi es esta:
Esa es la que conocía yo, aparte, mientras buscaba el nombre de la función que no recordaba, he encontrado tmb esta otra forma:
creo que es mas sencilla de comprender la primera y también mas corta de programar, aunque no sé si será mas eficiente…
Prefiero utilizar la primera, que la segunda no la entiendo
Por cierto, funciona perfectamente.
El script que estoy utilizando es este
Y aquí el HTML
Editado: A lo mejor suena una tontería, pero es que aún no me imagino cómo puede estar hecho.
Hay foros (como en phpBB), que los foros y los temas se ven con “viewforum.php?f=50”
Cambiar ‘f’ y ‘50’ por cualquier valor. Por ejemplo, para ver las páginas en GM, se usa el “&page=1”. Eso haría que sólo haya un único archivo .php, y el contenido de éste se modifique con ese tipo de “variables”, ¿no? Me gustaría ver cómo está hecha GM por dentro
Quería comentaros que ya he hecho un sistema completamente automatizado de registro de usuarios.
https://www.logibit.es/insti/jbustos/php/register.php
Admite muchas posibilidades al registrarse (campos requeridos vacíos, longitud de la contraseña, si la verificación de la contraseña es correcta, si ya existe un usuario con el mismo nombre o con el mismo email, etc.). También envía un e-mail de activación al correo para activar la cuenta, y cuando se activa, se te envía otro correo con tus datos.
Ah, y la contraseña se encripta al meterla en la base de datos
Ahora me falta el sistema de login, y qué se puede hacer mientras estás logeado, que creo que es algo más difícil
Si queréis darme algún consejo o comentario lo agredeceré 
PD: de momento ya llevo unas 454 líneas de código PHP y SQL.
Hola,
Enhorabuena, veo que lo has pillado con ganas

Sobre métodos de mantenimiento de sesión poco puedo ayudarte, desconozco cómo se gestionan con php y mysql. Sólo conozco cómo lo hace .net y la famosa bbdd sessionstate.
Ahora es cuando te toca pasar ratos largos leyendo a san google
gw
AJAJAJAJAJAJAJAJAJAJAJJ no me lo creo ni yo, pero ya he creado el sistema de login, de mantenerte logeado, de cookies, de sesiones. Vamos, como si fuera GM
Hazme el favor, regístrate y pruébalo SinSa, o quien quiera
https://www.logibit.es/insti/jbustos/index.php
PD: también he hecho un sistema de envío de contenidos parecido al de GM. He conseguido el editor WYSIWYG para el contenido en https://www.openwebware.com/ muy buena web, buenísima diría yo. Aún no está puesto para usarlo, pero ya está implementado.
Por cierto, SinSa y Flash-Hack, gracias por vuestra ayuda, sin ella no habría podido empezar en esto
de nada chico
en realidad casi todo el mérito es tuyo ya que veo que entiendes todo bastante a la primera jeje
que makina reavencillo!
Ya programé un sistema de envío de contenidos con editor WYSIWYG.
https://www.logibit.es/insti/jbustos/internet.php
Pinchad en cualquier contenido y ved como está hecho el viewcontent.php (o viewdownload.php). Me gusta más que el internet.php. Los usuarios con más permiso (en este caso, sólo yo) tienen botones en cada contenido para editarlo o eliminarlo, lo que hace que pueda controlarlos
Por cierto, en el internet.php intenté poner que cada enlace tuviese un color, como el de viewcontent.php, pero es que no consigo hacerlo. A ver si me invento algo para solucionarlo.
esos botones made in gamersmafia…
mola
ajajajajaj intenté hacer el de Nueva descarga lo más parecido posible, pero no me salía igual x’D
Editado: Ya conseguí hacer lo de los colores en la página de internet.php, primero estuve probando en un .html normal para ver como hacerlo, y luego todo fue más sencillo
Aquí vuelvo, a ver si me podéis ayudar. Tengo una lista en la que se muestran títulos de contenidos, y sólo se muestran 5. Quiero hacer un botón de ‘Ver más’ y que cuando se le de, se muestren del 7 al 15 seguidos.
Tengo este código, pero no me funciona:
functions.php
[quote] function get_content_hidden($category, $type)
{
if($category != ‘Descargas’){$contents = mysql_query(“SELECT * FROM mc_internet_content WHERE type=’$type’ AND category=’$category’”);}else{$contents = mysql_query(“SELECT * FROM mc_internet_downloads”);}
if($contents){$results = mysql_num_rows($contents);}
internet.php
internet.php - Código que llama a la función
https://www.logibit.es/insti/jbustos/internet.php