¿Como hacer un test de personalidad complejillo?

B

Buenas.

No tengo mucha idea de programación:
-HTML basico (formateo de texto, imagenes, tablas y formularios)
-MATLAB (calculadora, funciones y condicionales, bucles, vectores, entrada y salida con formato, matrices y algortmos)

Estoy haciendo un test de personalidad que depende de 4 variables dicotomizadas. A/B C/D E/F G/H

Seria una tanda de preguntas para definir si eres A o B, otra tanda para C o D, etc

El resultado son 4 letras, 1 por cada dicotomia. pj: ADEG

Con MATLAB me seria muy sencillo pero lo necesito para una web.

He buscado en una veintena de paginas que hacen test, quiz ,etc . Ninguna ofrece la opción que preciso.

He buscado en algunos widgets y tampoco.

Si alguien pudiera indicarme donde mirar, como se hace o donde puedo hacerlo se lo agradeceria.

Gracias, un saludo!

RaymaN

Si pones el algoritmo que usas en matlab podemos ayudarte a pasarlo a javascript.

B

No lo tnego hecho en MATLAB, pero tengo el esquema a desarrollar en logica de matlab

Evaluacion de cuanto A (Suma de las respuestas de la evaluacion)

1ª pregunta
(Opcion 1 +0 pts)  (Opcion 2 +1 pts)  (Opcion 3 +2 pts)  (Opcion 4 +3 pts)  (Opcion 5 +4 pts)

2ª pregunta
(Opcion 1 +0 pts)  (Opcion 2 +1 pts)  (Opcion 3 +2 pts)  (Opcion 4 +3 pts)  (Opcion 5 +4 pts)

3º pregunta
(Opcion 1 +0 pts)  (Opcion 2 +1 pts)  (Opcion 3 +2 pts)  (Opcion 4 +3 pts)  (Opcion 5 +4 pts)

4º pregunta
(Opcion 1 +0 pts)  (Opcion 2 +1 pts)  (Opcion 3 +2 pts)  (Opcion 4 +3 pts)  (Opcion 5 +4 pts)

5º pregunta
(Opcion 1 +0 pts)  (Opcion 2 +1 pts)  (Opcion 3 +2 pts)  (Opcion 4 +3 pts)  (Opcion 5 +4 pts)


Evaluacion de cuanto B (Suma de las respuestas de la evaluacion)

1ª pregunta
(Opcion 1 +0 pts)  (Opcion 2 +1 pts)  (Opcion 3 +2 pts)  (Opcion 4 +3 pts)  (Opcion 5 +4 pts)

2ª pregunta
(Opcion 1 +0 pts)  (Opcion 2 +1 pts)  (Opcion 3 +2 pts)  (Opcion 4 +3 pts)  (Opcion 5 +4 pts)

3º pregunta
(Opcion 1 +0 pts)  (Opcion 2 +1 pts)  (Opcion 3 +2 pts)  (Opcion 4 +3 pts)  (Opcion 5 +4 pts)

4º pregunta
(Opcion 1 +0 pts)  (Opcion 2 +1 pts)  (Opcion 3 +2 pts)  (Opcion 4 +3 pts)  (Opcion 5 +4 pts)

5º pregunta
(Opcion 1 +0 pts)  (Opcion 2 +1 pts)  (Opcion 3 +2 pts)  (Opcion 4 +3 pts)  (Opcion 5 +4 pts)


Evaluacion de cuanto C (Suma de las respuestas de la evaluacion)

1ª pregunta
(Opcion 1 +0 pts)  (Opcion 2 +1 pts)  (Opcion 3 +2 pts)  (Opcion 4 +3 pts)  (Opcion 5 +4 pts)

2ª pregunta
(Opcion 1 +0 pts)  (Opcion 2 +1 pts)  (Opcion 3 +2 pts)  (Opcion 4 +3 pts)  (Opcion 5 +4 pts)

3º pregunta
(Opcion 1 +0 pts)  (Opcion 2 +1 pts)  (Opcion 3 +2 pts)  (Opcion 4 +3 pts)  (Opcion 5 +4 pts)

4º pregunta
(Opcion 1 +0 pts)  (Opcion 2 +1 pts)  (Opcion 3 +2 pts)  (Opcion 4 +3 pts)  (Opcion 5 +4 pts)

5º pregunta
(Opcion 1 +0 pts)  (Opcion 2 +1 pts)  (Opcion 3 +2 pts)  (Opcion 4 +3 pts)  (Opcion 5 +4 pts)


Evaluacion de cuanto D (Suma de las respuestas de la evaluacion)

1ª pregunta
(Opcion 1 +0 pts)  (Opcion 2 +1 pts)  (Opcion 3 +2 pts)  (Opcion 4 +3 pts)  (Opcion 5 +4 pts)

2ª pregunta
(Opcion 1 +0 pts)  (Opcion 2 +1 pts)  (Opcion 3 +2 pts)  (Opcion 4 +3 pts)  (Opcion 5 +4 pts)

3º pregunta
(Opcion 1 +0 pts)  (Opcion 2 +1 pts)  (Opcion 3 +2 pts)  (Opcion 4 +3 pts)  (Opcion 5 +4 pts)

4º pregunta
(Opcion 1 +0 pts)  (Opcion 2 +1 pts)  (Opcion 3 +2 pts)  (Opcion 4 +3 pts)  (Opcion 5 +4 pts)

5º pregunta
(Opcion 1 +0 pts)  (Opcion 2 +1 pts)  (Opcion 3 +2 pts)  (Opcion 4 +3 pts)  (Opcion 5 +4 pts)


Evaluacion de cuanto E (Suma de las respuestas de la evaluacion)

1ª pregunta
(Opcion 1 +0 pts)  (Opcion 2 +1 pts)  (Opcion 3 +2 pts)  (Opcion 4 +3 pts)  (Opcion 5 +4 pts)

2ª pregunta
(Opcion 1 +0 pts)  (Opcion 2 +1 pts)  (Opcion 3 +2 pts)  (Opcion 4 +3 pts)  (Opcion 5 +4 pts)

3º pregunta
(Opcion 1 +0 pts)  (Opcion 2 +1 pts)  (Opcion 3 +2 pts)  (Opcion 4 +3 pts)  (Opcion 5 +4 pts)

4º pregunta
(Opcion 1 +0 pts)  (Opcion 2 +1 pts)  (Opcion 3 +2 pts)  (Opcion 4 +3 pts)  (Opcion 5 +4 pts)

5º pregunta
(Opcion 1 +0 pts)  (Opcion 2 +1 pts)  (Opcion 3 +2 pts)  (Opcion 4 +3 pts)  (Opcion 5 +4 pts)


Evaluacion de cuanto F (Suma de las respuestas de la evaluacion)

1ª pregunta
(Opcion 1 +0 pts)  (Opcion 2 +1 pts)  (Opcion 3 +2 pts)  (Opcion 4 +3 pts)  (Opcion 5 +4 pts)

2ª pregunta
(Opcion 1 +0 pts)  (Opcion 2 +1 pts)  (Opcion 3 +2 pts)  (Opcion 4 +3 pts)  (Opcion 5 +4 pts)

3º pregunta
(Opcion 1 +0 pts)  (Opcion 2 +1 pts)  (Opcion 3 +2 pts)  (Opcion 4 +3 pts)  (Opcion 5 +4 pts)

4º pregunta
(Opcion 1 +0 pts)  (Opcion 2 +1 pts)  (Opcion 3 +2 pts)  (Opcion 4 +3 pts)  (Opcion 5 +4 pts)

5º pregunta
(Opcion 1 +0 pts)  (Opcion 2 +1 pts)  (Opcion 3 +2 pts)  (Opcion 4 +3 pts)  (Opcion 5 +4 pts)


Evaluacion de cuanto G (Suma de las respuestas de la evaluacion)

1ª pregunta
(Opcion 1 +0 pts)  (Opcion 2 +1 pts)  (Opcion 3 +2 pts)  (Opcion 4 +3 pts)  (Opcion 5 +4 pts)

2ª pregunta
(Opcion 1 +0 pts)  (Opcion 2 +1 pts)  (Opcion 3 +2 pts)  (Opcion 4 +3 pts)  (Opcion 5 +4 pts)

3º pregunta
(Opcion 1 +0 pts)  (Opcion 2 +1 pts)  (Opcion 3 +2 pts)  (Opcion 4 +3 pts)  (Opcion 5 +4 pts)

4º pregunta
(Opcion 1 +0 pts)  (Opcion 2 +1 pts)  (Opcion 3 +2 pts)  (Opcion 4 +3 pts)  (Opcion 5 +4 pts)

5º pregunta
(Opcion 1 +0 pts)  (Opcion 2 +1 pts)  (Opcion 3 +2 pts)  (Opcion 4 +3 pts)  (Opcion 5 +4 pts)


Evaluacion de cuanto H (Suma de las respuestas de la evaluacion)

1ª pregunta
(Opcion 1 +0 pts)  (Opcion 2 +1 pts)  (Opcion 3 +2 pts)  (Opcion 4 +3 pts)  (Opcion 5 +4 pts)

2ª pregunta
(Opcion 1 +0 pts)  (Opcion 2 +1 pts)  (Opcion 3 +2 pts)  (Opcion 4 +3 pts)  (Opcion 5 +4 pts)

3º pregunta
(Opcion 1 +0 pts)  (Opcion 2 +1 pts)  (Opcion 3 +2 pts)  (Opcion 4 +3 pts)  (Opcion 5 +4 pts)

4º pregunta
(Opcion 1 +0 pts)  (Opcion 2 +1 pts)  (Opcion 3 +2 pts)  (Opcion 4 +3 pts)  (Opcion 5 +4 pts)

5º pregunta
(Opcion 1 +0 pts)  (Opcion 2 +1 pts)  (Opcion 3 +2 pts)  (Opcion 4 +3 pts)  (Opcion 5 +4 pts)


Si evaluacion de A > evaluacion de B entonces A, sino B
Si evaluacion de C > evaluacion de D entonces C, sino D
Si evaluacion de E > evaluacion de F entonces E, sino F
Si evaluacion de G > evaluacion de H entonces g, sino H

Si ACEG ir a pagina "ACEG pagina"
Si ACEH ir a pagina "ACEH pagina"
etc

Fin

Las opciones son un INPUT type=radio

Deoxys

Puedes crear un objeto respuestas

respuestas={"a":0,"b":0,"c":0,"d":0}

Y luego escribir las preguntas e ir sumando a la respuesta que toque. Al fnal hacer un conteo, y los comparas.

B

No entiendo ^, supongo que sera facil.

Creo que lo mas rapido sera que me ponga a aprender JavaScript.

Gracias, Saludos!

1 respuesta
Deoxys

#5 Por ejemplo, contestan en el bloque A a una pregunta que suma dos puntos, no tienes más que hacer respuestas.a+=2.

Para escribir las preguntas podrías tener un array con todas las preguntas que quieras hacer en forma de objeto también ("pregunta":"texto de la pregunta, "A":["respuesta A",puntos], "B":["respuesta B",puntos]), meterlos en un array y luego con un for hacer toda la ronda de preguntas y sumar los resultados en unas pocas líneas sin tener que escribir todo a mano.

No sé si quieres hacerlo en web normal (Todo lo que he tocado de JS ha sido dentro de un canvas HTML5) o de alguna otra manera así que no podría decirte exactamente cómo hacerlo, pero por ir dando ideas. Aprender JS para lo que quieres hacer te costaría una tarde, así que inténtalo y si tienes alguna duda preguntas aquí.

B

Hola otra vez, le he estado dando a JavaScript y a Php todita la tarde.

No me funciona un formulario y no se porque

Pongo el codigo y abajo explico el problema.

<HTML>
<HEAD>
<TITLE>Test ColoresJunguianos</TITLE>
</HEAD>
<BODY>
Test de prueba <br><br>
<FORM ACTION="archivosprocesador.html" METHOD="POST"> 
Variabledicotomizada 1 parte A.<br>
Pregunta1.<br>
Opcion1: <INPUT TYPE="radio" NAME="VD1P1" VALUE="0"> Opcion2: <INPUT TYPE="radio" NAME="VD1P1" VALUE="1"> Opcion3:<INPUT TYPE="radio" NAME="VD1P1" VALUE="2"> Opcion4:<INPUT TYPE="radio" NAME="VD1P1" VALUE="3"> Opcion5:<INPUT TYPE="radio" NAME="VD1P1" VALUE="4"><br>
Pregunta2 <br>
Opcion1: <INPUT TYPE="radio" NAME="VD1P2" VALUE="0"> Opcion2: <INPUT TYPE="radio" NAME="VD1P2" VALUE="1"> Opcion3:<INPUT TYPE="radio" NAME="VD1P2" VALUE="2"> Opcion4:<INPUT TYPE="radio" NAME="VD1P2" VALUE="3"> Opcion5:<INPUT TYPE="radio" NAME="VD1P2" VALUE="4"><br>
<br>
<INPUT TYPE=submit value="Enviar"><INPUT TYPE=Reset value="Restablecer""> 
</BODY>
</HTML>


archivosprocesador.html
<html> 
<head> 
<title>CJ Archivoprocesador</title> 
</head> 
<body> 
<H1>Archivo procesador</H1> <br>
Opcionpregunta1 <?php echo $_GET["VD1P1"] ?> <br>
Opcionpregunta2 <?php echo $_GET["VD1P2"] ?>
<br> 
</body> 
</html>

Cuando le doy a enviar, el resultado es
"Archivo procesador
Opcionpregunta1
Opcionpregunta2"

Lo que quiero es que despues de "Opcionpregunta1" me salga la opcion elegida en la pregunta 1 (si ha sido la primera, que aparezca un 1)

1 respuesta
RaymaN

#7 estás enviando el formulario mediante POST y recogiendo los datos mediante GET. O bien cambias el form a method="get" o las variables a $_POST. Además, el action del form debe ser un archivo php y has puesto un html. Te dejo cómo sería en plan rápido:

test.html

<form method="post" action="test.php">
    <h2>Variable A</h2>
    <h3>Pregunta 1</h3>
    <input type="radio" name="data[va][p1]" id="va-p1-o1" value="0"> <label for="va-p1-o1">Opción 1</label>
    <input type="radio" name="data[va][p1]" id="va-p1-o2" value="1"> <label for="va-p1-o2">Opción 2</label>
    ...
    <h2>Variable H</h2>
    <h3>Pregunta 5</h3>
    <input type="radio" name="data[vh][p5]" id="vh-p5-o1" value="0"> <label for="vh-p5-o1">Opción 1</label>
    ...
    <input type="submit" value="Enviar">
</form>

test.php

<?php
    $data = $_POST['data'];
    $ab = (array_sum($data['va']) > array_sum($data['vb'])) ? 'A' : 'B';
    $cd = (array_sum($data['vc']) > array_sum($data['vd'])) ? 'C' : 'D';
    $ef = (array_sum($data['ve']) > array_sum($data['vf'])) ? 'E' : 'F';
    $gh = (array_sum($data['vg']) > array_sum($data['vh'])) ? 'G' : 'H';
    $ev = $ab . $cd . $ef . $gh;
    echo '<a href="test-' . $ev . '.html">Ir al resultado ' . $ev . '</a>';
?>
B

Soy un desgraciado, crei que lo habia comprobado y lo tenia bien puesto. Joe.

Muchas gracias!

B

Posteo porque si no voy a perder la cabeza.

Por favor ¿Por que no funciona esto?

Test1.html

<HTML>
<HEAD>
<TITLE>Test</TITLE>
</HEAD>
<BODY>
Test <br><br>
<FORM ACTION="Test2.php" METHOD="POST"> 
Pregunta1.<br>
Opcion1: <INPUT TYPE="radio" NAME="VD1P1" VALUE="0"> Opcion2: <INPUT TYPE="radio" NAME="VD1P1" VALUE="1"> Opcion3:<INPUT TYPE="radio" NAME="VD1P1" VALUE="2"> Opcion4:<INPUT TYPE="radio" NAME="VD1P1" VALUE="3"> Opcion5:<INPUT TYPE="radio" NAME="VD1P1" VALUE="4"><br>
Pregunta2 <br>
Opcion1: <INPUT TYPE="radio" NAME="VD1P2" VALUE="0"> Opcion2: <INPUT TYPE="radio" NAME="VD1P2" VALUE="1"> Opcion3:<INPUT TYPE="radio" NAME="VD1P2" VALUE="2"> Opcion4:<INPUT TYPE="radio" NAME="VD1P2" VALUE="3"> Opcion5:<INPUT TYPE="radio" NAME="VD1P2" VALUE="4"><br>
<INPUT TYPE=submit value="Enviar"><INPUT TYPE=Reset value="Restablecer""> 
</form>
</BODY>
</HTML>


Test2.php

<html>
<head>
</head>
<body>
<?php echo $_POST["VD1P1"]; 
echo $_POST["VD1P2"]; ?>
</body>
</html>

Lo que quiero es que devuelva los valores que has elegido cuando le das a enviar
pj 1 y 4

Pero no devuelve nada

Tengo instalado el apache, ¿los archivos deben estar en alguna carpeta especial para abrirlos? estan en htdocs

Saludos

edito: me cago en mi vida, depsues de 2 dias intentando encontrar 1 slución, no hago mas que postear y lo arreglo. Ya esta solucionado ^. Talues!

1 respuesta
eXtreM3

#10 postear en mv es magia, nos ha pasado a muchos usuarios estar rayados mucho tiempo con un problema, postear y autosolucionarlo xD

B

Todo Ok ;)

Usuarios habituales