[GUIA]Scripts para web's
-
Bueno, viendo que hoy postearon unos scripts para ser utilizados en paginas webs decidi hacer esta guía explicando algunas cosas sobre como crear los scripts y hacerlo de la manera mas eficiente ahorrando lineas y que por tanto cargue a una mayor velocidad la pagina.
Scripts de conexión
Empezaremos con los archivos mas necesaiors, que son los archivos de conexión, seguro habran visto que las paginas traen archivos con nombre como config.php , conexta.php, entre otros , estos archivos nos permiten ahorrarnos lineas en los scripts cuando necesitamos conectar a la base de datos.
Aca les mostrare algonus ejemplos de estos archivos :
Config.php
este archivo como lo vemos aca, nos permite conextar a la base de datos account de nuestro server si en los "Detalles de Conexion a la Base de Datos" introducimos los datos de nuestro server, esto nos sirve para modificar y crear cuentas.
Conecta.php
No se puede conectar con la base de datos\n\n"); ?>
este script nos sirve para lo mismo que el config.php, pero aca nosotros debemos especificar la base de datos a la que queremos acceder(eso lo explicare mas adelante).
Los nombres no tienen nada que ver con la función del script, solo puse esos 2 porque son los nombres mas comunes, para una pagina web podemos usar el Conecta.php para que conecte a todos los script y en cada script especificamos hacia qeu db debe conectar, o podemos tener varios archivos tipo Congif.php y que cada uno nos conecte a una db diferente.
Ahora pasare a explicar la forma en qeu trabajan estos scripts:
1.-Al principio de cada script, sea cual sea su función debe llevar "
2.-Todo lo que comience con el signo $ (dolar)seguido de una palabra es una variable, a la que le asignamos a la cual se le agrega un valor con el signo = seguido del valor.por ejemplo: en el script de conecta.php vemos la variable $link a la que se le asigna el valor de mysql_connect que sirve para conectar a la base de datos, y para que mysql_connect pueda entrar a la base de datos se deben poner los datos de la conexión al lado dentro de un parentesis en orden ("ip terminada en 100", "usuario de la conexión(root)", "contraseña mysql").
3.-El "or die" que esat despues de los datos de la conexión envia el mensaje de error que se le asigne si la conexión falla.
4.-Noten qeu al final de cada linea hay un ; que separa cada variable o función dentro del script.
4.- Al final de cada script debe ir ?> que denota el fin del script, sino ponen esto el scrip no funcionara
Nota: Analicen un poco esto para que comprendan a la perfección los scripts que les deje anteriormente.
Script de Registro
Este es el script mas necesario para todo aquel que tenga un servidor de metin o de cualquier otro juego en linea, no obstante es para mi el mas complicado de realizar y entender, ya que aparte del script debemos crearle un cuerpo donde se puedan introducir los datos para registrarse.
registro.php(script solamente)
Lo primero qeu vemos en este scrip es el include ('config.php') , la función include lo qeu hace es que el archivo qeu se coloqeu dentro del parentesis sea incluido valga la redundancia dentro del script como si los scripts que ahi se encuentran estuvieran escritos en el lugar donde se coloque.
Luego vemos esta linea if(isset($_POST['submit']) && $_POST['submit'] == 'Register') { , la función if significa qeu ejecutara todo lo que este dentro, y el " isset($_POST['submit']) && $_POST['submit'] == 'Register' "tiene la función de revisar si los datos que se quieren enviar ya existen, en caso de que no existan pasa a enviarlos, pero esto solo lo hara si se ejecuta register desde algun boton alq ue nosotros le daremos el correspondiente valor para que lo haga.
Las lineas que siguen abajo son variables donde se utiliza la función mysql_real_escape_string para enviar los datos que se inserten en ellas dentro de la db, y el "($_POST['username'])" indica que que el valor introducido aca sera enviado a la db cuando se ejecute register, y debe llevar el $_POST porque en la función isset se dijo que se enviarian solo las variables $_POST, si en la primera linea se hubiera identificado a la variable con otro nombre ese seria el nombre que habria de colocarse ahi para qeu envie ese dato.
Mas abajo vemos la variable $sql, donde colocamos la función INSERT INTO que como lo dice inserta los datos en la tabla que indiquemos , en este casi fue la tabla account , y SET indica los campos de dicha tabla donde se insertara cada variable, tomando en cuenta que primero se coloca el campo y luego se señala por medio del signo = cual sera la variable introducida.
Luego la variable $result la vemos denotada con la función mysql_query, la cual introduce una query en la db y tabla que hallamso seleccionado con los datos que le hemos proporcionado.
y en esta linea : if($result) { echo 'Cuenta Creada con exito'; } else { echo 'No se ha creado la cuenta'; } el if nos dice que se la función del a variable result se ejecuta correctamente mostrara el primer mensaje, y else nos dice que de no ser asi mostrara el segundo mensaje.
Nota: fijense bien que al final de la segunda linea hay una llave { que agrupa todo loq eu este dentro de ella, con esto denotamos de donde hasta donde se cumplira la función de dicha linea, y para cerrar se utiliza } , y recuerden terminar el script con ?> y recuerden que pueden agregarle mas variables para qeu pida mas datos el registro, si se aplican un poco entenderan facil como hacerlo.
Cuerpo del Registro
ya hecho el script necesitamos un lugar donde podamos introducir los datos de la cuenta y que los envie por medio del script, para crear el cuerpo del registro haremos lo siguiente :
//denota le principio de codigo html
// esto denota el principio del cuerpodiv denota una función, en este caso tenemos class que sería para seleccionar la fuente, color y tamaño de la letra , e id que aca nos dice qeu este cuerpo sera contenedor de algun dato que queramos.
// esto indica que los datos qeu contendra seran de texto.
//form indica que comienza un formulario , action nos dice que el archivo que realiza el proceso es registro.php y method indica el metodo mediante el cual se enviaran los datos, solo dejen el "post" y listo.ahora pasamos a "crear" los lugares donde se insertara cada dato para su correspondiente variable.
- // li nos indica que lo que este dentro de el es una linea, y con la función class se puede denotar el estilo de dicha linea
Usuario-Usser: //aca ponemos la frase qeu se quiere mostrar, y con
centramos
//indica el final de la linea- //indica el inicio de otra linea
//centra lo qeu este dentro de el
//esto es importante entenderlo bien imput indica que aca se introducira algo, type no indica que se introducira texto y name le da un valor a la hora de enviarlo, eso lo enviara a la variable que se le asigne en name, y en size indicamos cuantos caracteres se podran introducir.todo junto y ordenado se veria asi:
Usuario-Usser:
esto seria el cuerpo del registro con solo el campo para introducir el id, los otros campos los crean copiando lo mismo desde la linea
- hasta y solo cambian el valor de name para qeu se envie a la variable que quieran.
por ultimo hay que crear el boton que envie los datos, no es muy diferente de como crear los campos, para el boton se cambiaria el tipo de entrada de text a submit, se asocia a la variable submit y para que se vea el nombre en el boton se le coloca de Value="aca lo que quieras que diga el boton.
ejemplo:
y para finalizar debemos cerrar el cuerpo escribiendo esto:
esto son solo los comandos de cierre de algunas funciones que hemos utilizado antes en el cuerpo.
si se hace todo bien el resultado seria un registro asi :
Recuerden que solo estamos haciendo lso scripts, el diseño de la web ya es otra cosa y talvez haga una guía despues.
Script de Ranking
Pues este es otro de los scripts principales qeu todos buscamos en nuestra pagina web, y ahora sabremos como crearnos en nuestro propio.
****"; echo " $i $row->name $row->level $row->exp $row->playtime ";} ?>
este es un ejemplo de un ranking sencillo, a la variable $i le asignamos el valor 0 porqeu desde este numero es que se enumeran las cuentas, y mas abajo ven qeu decimos qeu $i=$i+1 para qeu tome los datos desde el 0 pero en el ranking muestre anumerado desde el 1.
en la variable $sql ponemos SELECT * from player que selecciona los datos de la tabla player, y el WHERE name NOT LIKE '[GM]%' quiere decir donde el nombre no sea [GM] [SGM] [GA] o cualquiera que ustedes quieran, pero recuerden ponerle al lado el signo % que es como poner una variable del nombre, osea cualquier nombreq ue antes tenga [GM] no sera tomado por el ranking, y para agregar mas excepciones se coloca "and name NOT LIKE '[GA]%' asi hasta que tengas todas las exepciones y al final pones "order by level desc" que quiere decir ordenar por nivel en orden decreciente, y si quieres que el ranking solo sea de los primeros 100 pj agregas limit 100.
la variable $result le colocamso la función mysql_query que envia la consulta sql que elijamos, en este caso la elejida es la de la variable $sql que tiene como valor lo que ven mas arriba.
while si todos los datos son correctos ejecuta als sentencias/funciones qeu se le indiquen, y aca vemos la sentencia $row=mysql_fetch_object($result), el mysql_fetch_object busca un obejto/dato y nos lo devuelve, la linea completa lo que nos dice es que la variable $row buscara un o unos datos segun la consulta sql/query que ejecute la variable $result.
La parte que le sigue sirve para crear una tabla donde se mostraran y ordenaran los datos obtenidos.
Lo primero que vemos es que todo lo referente a la tabla debe ir enserado por unas llaves { } , luego la linea $i = $i+1; la variable $i solo esta ahi para anumerar, abajo vemos que dice echo, esta sentencia sirve para mostrar los datos, para qeu puedan ser visibles.
El primer echo nos dice el estilo del contenido de la tabla, por ejemplo el qeu tenemos aqui sera blanco la fuente time news roman y el tamaño 3(estos tamaños no son como los del word).
El segundo echo nos dice que habra una tabla y que le borde sera de ancho 1, de la siguiente forma si el numero de borde es 0 no habra bordes.
Luego mas abajo tenemos los codigos para cada columna, el primero solo es para enumerar no tiene mucha ciencia, deben poder entenderlo facil, las demas son practicamente los mismo, pero ellas tienen la variable $row a la cual se le asociara un dato, como puede ser el nombre el nivel la experiencia tiempo de juego u otro.$row->name
en esto podemos ver que la variable $row ejecutara lo antes ya dicho, y el dato que se le asocie sera el qeu muestre de la respectiva tabla, haces lo mismo con todos los datos que quieras que de el ranking y al final de todo debes poner para sentenciar el final de la tabla.
Etiquetar las columnas
Esto es para ponerle nombre a cada columna, osea para que al principio de cada columna diga el nombre de la columna, si es de nombre, nivel u otra cosa.
primero que nada, esto debe ir arriba de el script.
//esto solo etiqueta el nombre de la tabla Posicion Nombre Nivel Experiencia Tiempo de juego
esto es muy parecido a como se crea la tabla en el script, la diferencia es que en este no necesitamos identificar que ira texto y podemos elejir un color para cada etiqueta, es facil de entender y de modificar.
Scripts contadores de cuentas/jugadores /gremios
Algo que muchos usuarios quieren saber cuando entran a un server, es mas o menos cuanta gente hay jugando, para saber si tendran con quien comercias hablar y hacer boludeses como diria un amigo mio, pues que mejor manera que mostrandoselo.
Los sigueintes scripts son muy sencillos, simplemente muestran el numero de cuentas, jugadores y gremios que hay registrados en el server, mas adelantes haremos un contador que diga cuantos users hay en este momento en el juego.
He aca el primer ejemplo:
si ya han entendido lso scripts anteriores este no tiene mayor dificiltad, el conecta.php no conecta a mysql, mysql_select_db noe lleva a la base de datos account, la primera variable $query ejecuta la consulta sql/query de seleccionar los objetos de la tabla account, y al segunda variable $num hace la función de contabilizar la cantidad de objetos encontrados y devolvernos la información, el echo "Cuentas: $num"; nos muestra el numero de cuentas.
He aca 2 ejemplos más, esta vez con los gremios y jugadores:
[br].[/br]
Son escensialmente lo mismo, solo cambia la db y la tabla de donde obtienen los datos, y el nombre de la ultima variable tambien cambia para evitar confuciones, y notaran que entre los 2 scripts hay un
esto lo que hace es cambiar de linea, osea ponerlo uno abajo del otro, sino pongo esto, todo quedaria en al misma linea.
Script del Staff
Aca vamos con otro script muy sencillo, esto sirve para qeu cargue automaticamente el nombre de cualquier perdonaje que sea gm sgm ga adm, es muy simple y facil de entender en este punto.
********"; echo " $i $row->mName "; } ?>
es basicamente lo mismoq eu el ranking, utilizamos las mismas variable, solo qeu ahora los datos los obtenemos de la db common y de la tabla gmlist, y la tabla a crear es mucho mas sencilla, si leyeron la parte del ranking entenderan a la perfección de qeu va este.
Esto se puede hacer un poco dificil de entender, les recomiendo que no solo copien y peguen los scripts, intenten entenderlos y saber para qeu sirven, asi mas adelante podrna trabajar con scripts mas complejos.
Despues explicare otros scripts, pero por hoy me canse, me costo pensar como explicarles los scripts, talvez el de registro no se entienda muy bien pero se me hizo complicado explicarlo, si no entienden pregunten, y recuerdne esto solo crea los scripts, el diseño de la web donde se alojaran y visualizaran mas elegantes los scripts es otra historia.
-
excelentemente explicado , pero muy ligero.
da la impresion que sabemos todos php ( :bienvenido: )
(yo aprendi modificando las paginas : de FeDeX ,de lucy, de caes y por ultimo la de porn & ecstasy)
si se fijan bien en los scripts, veran para que son cada uno.
yo os aconsejo, que cojais las webs que aqui hay colgadas, y las analiceis.
aparte de, para usarlas en vuestros servidores, para aprender un poco la estructura, el uso y la finalidad
Aquiles ponles ejemplos sencillos, que se conecten a la db y les den datos , para que vean el funcionamiento
ya les pongo yo un trozo de tu script para ver el estado del servidor :### Estado Servidor mysql_connect ("tu ip hamachi/internet acabada en .100", "root", "123456") or die ("No se puede conectar con la base de datos\n\n"); ==>> esto conecta la pagina al server $serverip = 'tu ip hamachi/internet acabada en .100'; $dbhost = 'tu ip hamachi/internet acabada en .100'; $dbuser = 'root'; $dbpw = '123456'; $ip = gethostbyname($serverip); $portlist=array(3306 ,11002, 13000, 13001); $onliner=array(" **Base de datos**", " Entrada al Servidor", " Personajes", " Servidor"); $i=0; foreach ($portlist as $port){ echo $onliner[$i]; $online = @fsockopen($ip, $port, $errno, $errstr, 1); if (!$online) { echo " ![\"Offline\"/](\"./images/offline.gif\") "; } else { echo " ![\"Online\"](\"./images/online.gif\") "; } @fclose($online); ==> esto pone los img (offline & online) $i++; } ?> esto muestra las cuentas echas/activas $num = mysql_num_rows($query); ?> esto muestra los jugadores $num2 = mysql_num_rows($query); ?> esto muestra los gremios $num3 = mysql_num_rows($query); ?> Cuentas: [br].[/br]; Jugadores: [br].[/br]; Gremios: [br].[/br]
(necesitais imagenes para el offline y el online a vuestra eleccion)
con copiar esto en un index.php visualizais el estado del servidor (si lo habeis encendido claro), si no pondra el tipico error de mysql (10060 creo ) -
XD dbiste ponerlo como code porque no se entidne muy bien, de todos modos ya voy a poner los scripts de estado del server, yo antes tenia los de el estado de las cuentas como tu, pero ya vi la forma de ahorrar lineas y hacerlo ams eficiente.
-
pues estas tardando, para ver esas obras de arte
por cierto se puede hacer un recuadro fijo para meter estos datos ?
y que sea una parte fija en determinada posicion de la pagina ?
es que si no a mi me queda muy sucio, y no se como meterle un marco -
pues crearle el recuador ya es parte del diseño web, aca solo trato los scripts porque el diseño no se me da muy bien aun, lo que si puedes hacer es meter los datos del estado en una tabla, asi sea sin borde se vera más ordenado.
-
¡QUIERO LOS TRÉS DE ABAJO!(?) xD Muy bueno tío lo andaba buscando. Falta saber si mi página web me trolleará como aquella vez que te comenté con la página de registro.. Ya verás qué gracia me dará xDDDD Muchas gracias, me lo llevo. :mem11:
-
Buen aporte