/
ejercicio_ortografia_bv_descargable.php
183 lines (128 loc) · 4.58 KB
/
ejercicio_ortografia_bv_descargable.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es">
<head>
<title>PHP ejemplo para APIS de APIcultur. Ejercicios de ortografía B - V</title>
<meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1" />
<style type="text/css">
body {
font-family: Coda, Georgia, "Times New Roman",
Times, serif }
h1 {
color: purple;
font-family: Coda Helvetica, Geneva, Arial,
SunSans-Regular, sans-serif }
.NEGATIVA {
color:red }
.POSITIVA {
color:green }
.NEUTRA {
color:grey }
.PROCESABLE {
color:purple }
</style>
<script type="text/javascript">
function corregir(cuestion,solucion,isOkey){
element = document.getElementById(cuestion);
element.innerHTML = solucion;
if (isOkey){
element.setAttribute("class","POSITIVA");
} else {
element.setAttribute("class","NEGATIVA");
}
}
</script>
</head>
<body>
<div>
<h1>Ejercicios de ortografía B - V</h1>
<p>Contesta a las siguientes preguntas con B o V según corresponda pulsando sobre la letra que creas correcta</p>
<p>Si la respuesta es correcta, aparecerá en verde. Si es incorrecta, aparecerá en rojo corregido.</p>
<p></p>
<?php
//recogemos los parámetros
if (isset($_REQUEST['dificultad'])){
$dificultad = $_REQUEST['dificultad'];
} else {
$dificultad = 0;
}
if (isset($_REQUEST['nivel'])){
$nivel= $_REQUEST['nivel'];
} else {
$nivel = 0;
}
$numPreguntas = 10;
if ($dificultad>0 && $nivel>0){
$preguntas = obtenerPreguntas($numPreguntas,$dificultad,$nivel);
if (isset($preguntas)){
$i=1;
foreach ($preguntas as $cuestion){
echo "<p>";
$pregunta = $cuestion->{'pregunta'};
$correcta = $cuestion->{'correcta'};
$respuestas = $cuestion->{'respuestas'};
echo "<div class='pregunta' id='pregunta".$i."'>".$i."." .$pregunta."</div>";
foreach ($respuestas as $respuesta){
if ($respuesta==$correcta){
echo"<input type='button' value='".$respuesta."' onclick='corregir(\"pregunta".$i."\",\"".str_replace("_",$correcta,$pregunta)."\",true)' />";
} else {
echo"<input type='button' value='".$respuesta."' onclick='corregir(\"pregunta".$i."\",\"".str_replace("_",$correcta,$pregunta)."\",false)' />";
}
}
$i++;
echo "</p>";
}
?><div class="volver"><a href="ejercicio_ortografia.php">Volver</a></div><?
}
} else {
?>
<p>
<form action="ejercicio_ortografia_bv.php" method="POST" name="theform">
Tengo un nivel de español: <input type="text" name="nivel" />
<h6>1: nivel bajo; 2: nivel medio; 3: nivel alto; 4: soy nativo</h6><br/>
Quiero palabras de una dificultad: <input type="text" name="dificultad" />
<h6>1: Fáciles; 2: Intermedias; 3: Difíciles; 4: Muy difíciles</h6><br/>
<input type="submit" value="¡Dame ejercicios!" />
</form>
</p>
<div>
<?php
}
?>
</div>
</body>
</html>
<?php
/**
* Obtiene a través de la api GET un número de preguntas de la dificultad y nivel solicitados por parámetro
*
* @returns un objeto JSON con un array de preguntas que indica por cada uno de ellos: la pregunta ("pregunta"), la respuesta correcta ("correcta") y las posibles respuestas ("respuestas[]")
*/
function obtenerPreguntas($numPreguntas,$dificultad,$nivel) {
#API Key de nuestra aplicación en APICultur. Para más informacion: http://www.apicultur.com/instrucciones/
#$access_key = "PON_TU_ACCESS_KEY_AQUI";
$url="http://store.apicultur.com/api/ejercicioortografiabv/1.0.0/".$numPreguntas."/".$dificultad."/".$nivel;
#Iniciamos curl
$ch = curl_init();
#Pasamos nuestro API Key y señalamos que lo que nos van a devolver es JSON
curl_setopt($ch,CURLOPT_HTTPHEADER,array( 'Accept: application/json', 'Authorization: Bearer ' . $access_key ));
#Pasamos la url de la api
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
#Introducimos en una variable el valor que nos devuelve la api
$respuesta = curl_exec($ch);
$http_status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
#Cerrar el recurso cURL y liberar recursos
curl_close($ch);
#Comprobamos el código devuelto por la API para ver que todo ha salido correctamente y en caso positivo devolvemos ok
switch ($http_status) {
case '200':
$obj = json_decode($respuesta);
break;
default:
echo "<br/>error al obtener las preguntas.";
echo "<br/>Error:" .$http_status ;
break;
}
return $obj;
}
?>