Menú

Mostrar Mensajes

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

Mostrar Mensajes Menú

Mensajes - gAb1

#431
Acaba de instalar y configurar un servidor Lamp en Linux Mint 17.1 siguiendo una guia reciente que encontré en google, pero los archivos de las webs que tengo no funcionan.

Los hice cuando trabajaba en Windows, con notepad++ todos con codificación "utf-8 without BOM". He probado a añadir codigo html y funciona solo si lo pongo antes o entre los tags <?php ?> y los echo tambien funcionan, pero no me carga la web (includes, etcs).

Los permisos creo que los he puesto bien:
Código (bash) [Seleccionar]

chazy@1337-h4x0r /var/www $ sudo chown -R chazy html
chazy@1337-h4x0r /var/www $ sudo chgrp -R www-data html
chazy@1337-h4x0r /var/www $ sudo chmod -R 750 html
chazy@1337-h4x0r /var/www $ sudo chmod g+s html
chazy@1337-h4x0r /var/www $ ls -l
total 4
drwxr-s--- 10 chazy www-data 4096 Dec 19 13:30 html


Porque www-data es el usuario de apache, ¿no?

En la consola de firefox me sale el siguiente error al cargar, la pagina en blanco:

CitarGET http://localhost/ [HTTP/1.0 500 Internal Server Error 1ms]
GET http://localhost/ [HTTP/1.0 500 Internal Server Error 0ms]
GET http://localhost/ [HTTP/1.0 500 Internal Server Error 0ms]
GET http://localhost/ [HTTP/1.0 500 Internal Server Error 1ms]
GET http://127.0.0.1/ [HTTP/1.0 500 Internal Server Error 0ms]

Sin embargo, si que funciona si entro a "localhost/info.php" (phpinfo();)

Ahora utilizo el Sublime Text (sin registrar) para editar los archivos, pero no se si es problema de la codificación o algo.

Cuando configuraba apache y php (no recuerdo que archivo fue) cambie el mime type a utf-8, o la codificación por defecto. ¿Puede ser ese el problema?

Este es el .htaccess (en windows funcionaba bien):
Options -Indexes

DirectoryIndex index.php

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>


Gracias.

Añado el link: http://84.120.219.199/info.php
#432
PHP / Re: controlar hardware de acceso desde php
19 Diciembre 2014, 14:15 PM
Gracias Gh057, eso no lo sabía. Debe ser algo que maneja directamente el sistema operativo.

Ahora falta el torno... como hacer que se abra o se cierre hehehe.
#433
PHP / Re: controlar hardware de acceso desde php
19 Diciembre 2014, 13:06 PM
Lo único que hay es una aplicación (que venia con el programa de gestión de acceso) que lee de MS Access (Base de datos).

Había pensado en crear una aplicación de escritorio pero de todas formas necesitaria una libreria o una API para controlarlos.

Buscando el fabricante y el modelo, ¿es posible encontrar una api para trabajar? ¿O este tipo de cosas suelen venir compiladas al comprarlas?

Gracias.
#434
Hola, he estado buscando por google pero no he podido encontrar mucha información util (o no he buscado bien...).

Tengo un torniquete de acceso y una pistola laser lectora de codigos de barra. Necesito saber si es posible controlarlos desde el cliente navegador: Desde el ordenador donde estan conectados se accederá a la web y se controlarán desde una interfáz de usuario. Actualmente funcionan con una aplicacion de escritorio.

Nunca he trabajado con nada parecido y me gustaría saber como se hace y si es necesaria una libreria o algo para controlar estos aparatos.

Gracias.
#435
PHP / comprobar variables de db
2 Diciembre 2014, 01:44 AM
Hola, siento que el titulo no sea muy intuitivo pero no encuentro manera de nombrar el problema que tengo.

Estoy reescribiendo un código que imprime una lista con datos de una tabla, pero con ciertas condiciones:

Código (php) [Seleccionar]
if ($stmt = $mysqli->prepare("  SELECT members.*, account_type.*, friends.*, friendsCount.*,
                                       COUNT(friendsCount.friendID) AS num_f
                                FROM members
                                INNER JOIN account_type ON account_type.id = ?
                                INNER JOIN friends ON friends.friendID = ?
                                INNER JOIN friends AS friendsCount ON friendsCount.userID = ?
                                WHERE members.id = ?")) {

    $stmt->bind_param('iiii', $_SESSION['acc_type'], $_GET['id'], $_SESSION['user_id'], $_GET['id']);
    $stmt->execute();

    $result = $stmt->get_result();
    $row = $result->fetch_array();

    $monthNames = array("Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre");
    $paid = array(); //Placeholder for paid months.

    for ($i = 1; $i < 13; $i++) {

        $month = 'month' . $i;
        $bonus_month = 'bonus_month' . $i;

        // check if the user received the monthly bonus
        if ($row[$bonus_month] == 0) {

            // check if the friend's member account is active
            if ($row['status'] == 1) {

                // check if the friend paid the month
                if ($row[$month] == 1) {

                    $paid[] = 'Pagado';

                    // check the user account type
                    if ($row['type'] == 'Base') {

                        // TODO: check if the friend is one of the three first (special promotion)
                        // (user gets double bonus for the first three invited friends)
                        if ($row['extra'] == 1) {
                            $extra = $row['bonus'] + 5;
                            $bonus[] = $extra . '€';
                        }

                        else {
                            $bonus[] = $row['bonus'] . '€';
                        }
                    }

                    else {
                        $bonus[] = $row['bonus'] . '€';
                    }

                    $cashed[] = 'No';
                    //$non_cashed[] = $bonus[];
                }

                else {
                    $paid[] = 'No Pagado';
                    $bonus[] = 'n/a';
                    $cashed[] = 'n/a';
                }
            }

            else {
                $paid[] = 'n/a';
                $bonus[] = 'n/a';
                $cashed[] = 'n/a';
            }
        }

        else {
            $paid[] = 'Pagado';
            $bonus[] = $row[$bonus_month] . '€';

            // TODO: find a way to check if user already received the bonus
            // 12 new columns? (bonus_received_month1-12)
            if (1 == 0) {
                $cashed[] = 'Si';
                //$total_cashed[] = $row[$bonus_month];
            }

            else {
                $cashed[] = 'No';
                //$non_cashed[] = $row[$bonus_month];
            }
        }
    }

    //Now make the HTML list

    foreach ($monthNames as $key => $month) {

        echo '
                <div class="list">
                    <ul>
                        <li><a class="month">' . $month . '</a></li>
                        <li><a class="status">' . $paid[$key] .'</a></li>
                        <li><a class="bonus">' . $bonus[$key] . '</a></li>
                        <li><a class="cashed">' . $cashed[$key] . '</a></li>
                    </ul>
                </div>';
    }
} else echo $mysqli->error;


Basicamente son esos 2 "TODOs". Las relaciones de las tablas son muy sencillas:

1º members: contiene informacion de todos los usuarios y en este caso obtiene los datos del amigo ($_GET['id']) del usuario. Las columnas utilizadas son -> "id", "status" (0 or 1; inactive/active), "name" and "month1-12" (12 columns: 0 or 1; not paid / paid month).

2º account_type: contiene los diferentes tipos de cuenta (actualmente solo sirve para asignar bonificaciones segun el tipo). Las columnas utilizadas son -> "id" (members.acc_type), "type" (the type name) and "bonus" (5, 10, 15 etc...).

3º friends: contiene información acerca del usuario y las bonificaciones referentes a un amigo. Las columnas utilizadas son -> "friendID" (members.id, el usuario/amigo invitado), "userID" (members.id, el usuario que ha invitado a un amigo), "extra" (1 para los 3 primeros usuarios invitados y 0 para el resto; 1 es bonus doble, 0 es bonus normal. columna temporal), "bonus_month1-12" (12 columns; 0 is para este o un futuro mes, 1+ es el bonus que el usuario ha ganado este mes(el de la tabla: 1-12), referente al amigo)

Primero me gustaría poder reemplazar la columna friends.extra que indica si el usuario obtiene doble bonus o no, algo así como:

Código (php) [Seleccionar]
// the number of friends
$count = $row['num_f'];
// the current friendID
$f_id = $_GET['id'];
$match = 'the first 3 ids (with acc status 1)';

if ($count > 2 && $f_id == $match) {
    $extra = $row['bonus'] + 5;
    $bonus[] = $extra . '€';
} else $bonus[] = $row['bonus'] . '€';


La idea es que los usuarios con tipo de cuenta "Base" obtengan doble beneficio por los tres primeros amigos invitados, teniendo en cuenta que una de las tres primeras cuentas este desactivada (status 0) entonces la siguiente deberia incluirse, un ejemplo:

Si la cuenta número 1 no esta activa pero la 2 y la 3 si, entonces la 4 debería incluirse en $match.

Pero no se como hacer esto, aunque tengo una ligera idea, ¿sería como crear un array con las ids que solo tengan status 1?

Lo otro debería ser más sencillo: una manera de comprobar si el usuario ya recibió la bonificación. Creo que lo mejor es hacer lo mismo que para saber si la mensualidad ha sido pagada, month1-12 usando 0 y 1, en este caso algo como bonus_received_month1-12. Y contar lo que tiene pendiente por recibir y el total recibido:

Código (php) [Seleccionar]
$non_cashed[] = $bonus[];
$total_cashed[] = $row[$bonus_month];
$non_cashed[] = $row[$bonus_month];

// not received
echo '<p>Total acumulado: ' . array_sum($non_cashed[]) . '€</p>';
// total received
echo '<p>Total recibido: ' . array_sum($total_cashed[]) . '€</p>';


Creo que lo que falla aqui son las variables / arrays que no esta bien puestos...

Sinceramente, lo que mas agradecería serían los consejos, si hay fallos en el código y la manera de estructurar la DB (me han dicho que no se deben usar números en los nombres de las columnas por algo llamado normalización).

Gracias!
#436
Ya he instalado MATE y va perfectamente, a la primera, sin tener que tocar ningún driver he podido configurar las pantallas y los gráficos van fluidos.

De todas formas ya habia instalado los drivers propietarios varias veces, manualmente descargandolos desde amd.com y desde el driver manager y nada.

Parece ser que era problema de cinnamon. Si no tengo ningún problema dejare los drivers open source.

Gracias!
#437
Voy a probar con MATE a ver que tal.
#438
Pues no pienso complicarme la vida, si no funciona pruebo con otra distro... será porque no hay esperando a ser probadas.

La primera en ser compatible con mi hardware será la que use.

¿Tienes alguna buena surgerencia? :)
#439
Me refería al archivo xorg.conf (el de los drivers), supongo que en algún archivo estará el estado actual y si hay problemas, para corregirlos.

Adicionalente, instale el nuevo kernel (tengo el 3.16, el ultimo que se muestra en la lista, leí que habian mejoras en las gráficas AMD y otras).

¿Esta guia sirve para instalarlos o esta desactualizada? https://help.ubuntu.com/community/BinaryDriverHowto/AMD#line-44 (Step 2.1)
#440
Bueno, si he podido correr el comamdo es que esta instalado. Nada mas llegar a casa me pongo a ello.

Los drivers open source, los que sale recomendados, son con los que estoy teniendo problemas, hay alguna manera de arreglarlos? Aunque primero habra que ver donde esta el problema. Como accedo al archivo de configuracion para copiarlo y pegarlo aqui?? Supongo que ese es el que hay que mirar.

Gracias