PHP - Ayuda agenda PHP (De nuevo)

   
Vista:
Imágen de perfil de Coajin

Ayuda agenda PHP (De nuevo)

Publicado por Coajin (8 intervenciones) el 13/02/2017 17:56:04
Otro vez tengo problemas con la agenda, especialmente en la función eliminar el cual no elimina sino que no hace nada, ¿Que problema hay en el codigo?
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
<!DOCTYPE php>
<html lang="es">
<head>
	<meta charset="UTF-8">
	<title>Agenda</title>
	<link rel="stylesheet" type="text/css" href="css/estilos.css">
</head>
<body>
	<fieldset>
		<legend>Insertar Contacto</legend><br>
		<form action="" method="post">
			Nombre: <input type="text" name="nombretxt" /><br><br>
			Apellido: <input type="text" name="apptxt" /><br><br>
			Telefono: <input type="text" name="telefonotxt" /><br><br>
			Correo: <input type="text" name="correotxt" /><br><br>
			<input type="submit" value="Guardar Contacto" name="enviar">
		</form>
	</fieldset>
	<?php
		class Archivo
		{
			public $nombre;
			public $archivo;
 
			function __construct($n){
				$this->nombre = $n;
			}
 
			function insertar($nom,$app,$tel,$corr){
				if (file_exists($this->nombre)) {
					$this->archivo = fopen($this->nombre, "a");
					fwrite($this->archivo, PHP_EOL); //<br>
					fwrite($this->archivo, "$nom/$app/$tel/$corr/");
					fclose($this->archivo);
				}else{
					$this->archivo = fopen($this->nombre, "w");
					fwrite($this->archivo, "$nom/$app/$tel/$corr/");
					fclose($this->archivo);
				}
				echo "Contacto Insertado";
			}
 
			function eliminar($correoE){
				$this->archivo = fopen($this->nombre, "r");
				$contactos = array();
				while (!feof($this->archivo)) {
					$linea=fgets($this->archivo);
					$contactos[]=$linea;
				}
				fclose($this->archivo);
				$this->archivo = fopen($this->nombre, "w");
				foreach ($contactos as $con) {
					$arreglo = explode("/", $con);
					if(count($arreglo)>=4)
					if ($correoE!=$arreglo[3]){
						fwrite($this->archivo, $con);
					}
				}
				fclose($this->archivo);
			}
 
			function consultar(){
				if(file_exists($this->nombre)){
					$this->archivo = fopen($this->nombre, "r+");
					?>
					<table id="tablaAgenda">
						<tr>
							<td class="encabezado">Nombre</td>
							<td class="encabezado">Apellido</td>
							<td class="encabezado">Telefono</td>
							<td class="encabezado">Correo</td>
							<td class="encabezado">Eliminar</td>
						</tr>
				<?php
				while(!feof($this->archivo)){
					$linea = fgets($this->archivo);
					$arreglo = explode("/", $linea);
 
				if(count($arreglo)>=4) {
						echo "<tr>";
						echo "<td>$arreglo[0]</td>";
						echo "<td>$arreglo[1]</td>";
						echo "<td>$arreglo[2]</td>";
						echo "<td>$arreglo[3]</td>";
						echo "<td><form action='' method='post'>
						<input type='hidden' value='$arreglo[3]' name='correoe'>
						<input type='submit' id='btnEliminar' value='Eliminar'></form></td>";
						echo "</tr>";
					}
				}
					echo "</table>";
					fclose($this->archivo);
				}else{
					echo "Agenda Vacía";
				}
			}
		}
		$obj = new Archivo("agenda.txt");
		if (isset($_POST["enviar"])) {
			$nom = $_POST["nombretxt"];
			$app = $_POST["apptxt"];
			$tel = $_POST["telefonotxt"];
			$corr = $_POST["correotxt"];
 
			$obj->insertar($nom,$app,$tel,$corr);
		}
		if (isset($_POST["correoE"])) {
			$obj->eliminar($_POST["correoE"]);
		}
		$obj->consultar();
 
	?>
</body>
</html>
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

Ayuda agenda PHP (De nuevo)

Publicado por xve (6035 intervenciones) el 13/02/2017 20:35:37
Hola Coajin, en la linea 54, tienes un if(...) el cual no abre ni cierra { }... entiendo que ahí esta el problema!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
Imágen de perfil de Coajin

Ayuda agenda PHP (De nuevo)

Publicado por Coajin (8 intervenciones) el 14/02/2017 17:35:17
Pues no, no era ese el problema
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
Imágen de perfil de Co

Ayuda agenda PHP (De nuevo)

Publicado por Co (8 intervenciones) el 14/02/2017 17:38:00
Era un problema con el nombre de "correoE", esta solucionado, gracias igualmente, sin ese if no hubiera funcionado :)
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