PHP - Undefined index

 
Vista:

Undefined index

Publicado por Juan Carlos RL (5 intervenciones) el 28/02/2017 16:59:09
Hola:
soy nuevo en el foro, y también en lo que estoy haciendo. Despues de muchas pruebas tengo el siguiente problema:
quiero hacer un formulario con varias entradas: nombre, apellido, etc. En una de las entradas se tiene que elegir entre dos opciones "Mechatronik" y "GMT". El Localhost dice que:

Notice: Undefined index: mechatronik in C:\xampp\htdocs\schuleABI.php on line 5

Notice: Undefined index: gmt in C:\xampp\htdocs\schuleABI.php on line 6
das Formular wurde geschick (El formulario fue enviado)
La opcion elegida (en este caso "Mechatronik" o "GMT") no pasa a la db y a la tabla.Si solo hay una opcion en cada entrada no hay problema y la db lee el formulario y lo pasa a la tabla correspondiente. Pero no en las entradas con varias opciones. Sabe alguien una solución? Muchas gracias.

El código 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
<?php
$name=$_POST['name'];
$vorname=$_POST['vorname'];
$mathematik=$_POST['mathematik'];
$mechatronik=$_POST['mechatronik'];
$gmt=$_POST['gmt'];
 
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "Schule";
 // Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection fallida: " . $conn->connect_error);
}
 
$sql = "INSERT INTO Schule (name, vorname, mathematik, mechatronik, gmt)
VALUES ('$name', '$vorname','$mathematik','$mechatronik','$gmt')";
 
if ($conn->query($sql) === TRUE) {
    echo "das Formular wurde geschick";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}
 
$conn->close();
?>
.
El código del formulario:
<body>
	<form action="schuleABI.php"method="post">
		<p>
		<label for="name">Name:</label>
		<input type="text" name="name"id="name">
 
		<label for="vorname">Vorname:</label>
		<input type="text" name="vorname"id="vorname">
		<br/><br/>
		<b>Profil:</b>
		<input type="radio" name="profil" id="mechatronik" value="Mechatronik">
		<label for="mechatronik">Mechatronik</label>
		<input type="radio" name="profil" id="gmt" value="GMT">
		<label for="gmt">GMT</label>
		<br/>
 
		</br><b>Mathematisch-naturwissenschaftliches Aufgabenfeld</b>
 
		</br></br>
		<input type="radio" name="mathematik" id="mathematik" value="Mathematik">
		<label for="mathematik">Mathematik</label></br>
 
 
		</br></br>
		<input type="submit" value="Schicken">
		<input type="reset">
		</p>
	</form>
</body>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Undefined index

Publicado por xve (6935 intervenciones) el 28/02/2017 17:40:51
Hola Juan Carlos, el problema lo tienes en esta linea:
1
<input type="radio" name="profil" id="mechatronik" value="Mechatronik">
El name no es "mechatronik" sino que es "profil". prueba a poner:
1
<input type="radio" name="mechatronik" id="mechatronik" value="Mechatronik">
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Undefined index

Publicado por Juan Carlos RL (5 intervenciones) el 28/02/2017 23:13:56
Muchas gracias por la respuesta, pero no funciona.Si cambio "Mechatronik", entra esta respuesta, pero si elijo la otra no.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Undefined index

Publicado por Lrz (26 intervenciones) el 03/03/2017 22:12:09
Hola buen dia,
Tambien estoy iniciando en PHP y me ha generado esto muchos problemas tambien en cuanto al problema de Undefined index, pero espero te sirva mi respuesta

Cuando quieras mandar los valores de tu input los parametros name y id , es mejor dejarlos con el mismo nombre en este caso como quieres llamar gmt , al momento de llamarlo con el metodo POST no encuentra el name GTM

1
<input type="radio" name="profil" id="gmt" value="GMT">

podrias cambiarlo o generar un nuevo input

1
<input type="radio" name="gmt" id="gmt" value="GMT">

de igual manera con el

1
2
3
<input type="radio" name="profil" id="mechatronik" value="Mechatronik">
 
<input type="radio" name="mechatronik" id="mechatronik" value="Mechatronik">

y de hecho lo puedes comparar con el ultimo "radio" que si esta correcto

1
<input type="radio" name="mathematik" id="mathematik" value="Mathematik">

Como puedes ver dentro del metodo POST contiene ese nombre

1
2
3
4
5
$mathematik=$_POST['mathematik'];
 
$mechatronik=$_POST['mechatronik'];
 
$gmt=$_POST['gmt'];


espero Te sirva
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar