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 - Arm144

#11
PHP / Re: Inserción de datos en formulario
11 Noviembre 2016, 21:52 PM
Saludos. Al final tras mucho ahínco conseguí una resolución. Seguro que no es la mejor ni la más bonita, pero pude salir del paso jajajajaja actualmente le estoy añadiendo algunas comprobaciones. Gracias a todos por todo. Saludos¡¡¡

P.D: dejo el código por si a alguno le interesa.

Código (php) [Seleccionar]
<html>
<head>
<title>Agenda</title>
</head>
<body>
<?php
if($_POST){
$nombre=$_POST['nomTf'];
$telefono=$_POST['telTf'];
$nom =$_POST["nombres"];
$tel=$_POST["telefonos"];
$salidaNom$nom.",".$nombre;
$salidaTel$tel.",".$telefono;

$contactoNomExp explode(","$salidaNom);
$contactoTelExp explode(","$salidaTel);
//Comprobación de que se introdujo un nombre
if ($_POST['nomTf']==""){
//No introdujo nombre
}
//Insercción de datos
if((in_array($_POST['nomTf'], $contactoNomExp)==false) && ($_POST['telTf']!="")){
echo '<table border="10" align="center" >
                 <tr color="#c0c0c0"><td>Nombre</td><td>Telefono</td></tr>'
;
echo '<tr>';
for ($i 1$i count($contactoNomExp); $i++) {
echo '<td align="center">'$contactoNomExp[$i].'</td>';
echo '<td align="center">'$contactoTelExp[$i].'</td>';
echo '</tr>';
}
echo '</table>';
}
//Sustitución de numero telefono
if((in_array($_POST['nomTf'], $contactoNomExp)==true) && ($_POST['telTf']!="")){
for ($i 1$i count($contactoNomExp); $i++) {
echo '<td align="center">'$contactoNomExp[$i].'</td>';
echo '<td align="center">'$contactoTelExp[$i].'</td>';
echo '</tr>';
}
echo '</table>';
}
//Eliminación de registro
if((in_array($_POST['nomTf'], $contactoNomExp)==true) && ($_POST['telTf']=="")){
for ($i 1$i count($contactoNomExp); $i++) {
unset($contactoNomExp[$i]);
unset($contactoTelExp[$i]);
echo '</tr>';
}
echo '</table>';
}
}

?>

<h1 align="center">Agenda de Contactos</h1>
<form method="post" action="Agenda.php">
Nombre <input type="text" name="nomTf"><br>
Telefono <input type="text" name="telTf"><br>
<input type="submit" value="Guardar" name="Guardar">
<input type="hidden" name="nombres" value=<?php  $salidaNom?>>
<input type="hidden" name="telefonos" value=<?php  $salidaTel?>>
</form>
</body>
</html>



Mod: Los códigos deben ir en etiquetas GeSHi
#12
PHP / Inserción de datos en formulario
11 Noviembre 2016, 20:38 PM
Buenas, presento el siguiente problema con el que me topo, la cuestión es que tendría que hacer una agenda telefónica("en plan cutre"), en el cual me tiene que mostrar una tabla con los datos que voy introduciendo que son nombre y teléfono. Para ello me apoyo en el input type hidden para que me guarde los valores, ya que al volver a introducir un valor la pagina hace un refresh y me borra lo escrito, es decir se sobreescribe. Mi problema se presenta con esto último, todo el rato se esta sobreescribiendo y no consigo que en la tabla se muestren mas registros. Alguna sugerencia o resolución. Además se presenta el problema que no puedo utilizar JQuery ni Ajax ni javascript, solo Html y PHP. :(

Aqui dejo mi código que evidentemente está defectuoso xD.

Código (php) [Seleccionar]
<html>
<head>
<title>Agenda</title>
</head>
<body>
<h1 align="center">Agenda de Contactos</h1>
<form method="post" action="Agenda.php">
Nombre <input type="text" name="nomTf" ><br>
Telefono <input type="tel" name="telTf"><br>
<input type="submit" value="Guardar" name="Guardar">
<input type="hidden" name="datosGuardados" value=<?php $datosGuardados?>>

</form>
<?php
if($_POST){
$nombre=$_POST['nomTf'];
$telefono=$_POST['telTf'];
$datosGuardados=$_POST['datosGuardados'];

$datosGuardadosNom[]=$nombre;
$datosGuardadosTel[]=$telefono;

$contactoNom=implode(','$datosGuardadosNom);
$contactoTel=implode(','$datosGuardadosTel);

if($nombre==""){
echo "El nombre está vacio";
}
if(!is_numeric($telefono)){
echo "El teléfono tiene que ser un número";
}

echo "Tu contacto se ha guardado que es: " $contactoNom.','.$contactoTel;
echo '<table border="10" align="center" >
                <tr><td>Nombre</td><td>Teléfono</td></tr>'
;
echo '<tr>';
echo '<td align="center">'$nombre.'</td>';
echo '<td align="center">'$telefono.'</td>';
echo '</tr>';
echo '<tr>';
for ($i 1$i count($datosGuardados); $i++) {
echo '<td align="center">'$contactoNom.'</td>';
echo '<td align="center">'$contactoTel.'</td>';
}
echo '</tr>';
echo '</table>';
}
?>

</body>
</html>


Gracias de antemano por tomaros la molestia de mirarlo.


Mod: Los códigos deben ir en etiquetas GeSHi
#13
Hola. Buenos días.

Estoy aprendiendo a programar en php y me he topado con un ejercicio que por más que lo intento no logro encontrarle la solución y seguro que fallo el alguna boberia de logica.

El ejercicio manda decir si en las lineas de un fichero hay o no caracteres repetidos, es decir la salida por pantalla debería de ser esta:

La línea "hola" NO tiene caracteres repetidos.

La línea "aca aca aca" SI tiene caracteres repetidos.

La línea "alla alla alla" SI tiene caracteres repetidos.

La línea "fichero" NO tiene caracteres repetidos.

Yo tengo esto programado:

<HTML>
<HEAD>
   <TITLE>Repetición de Caracteres</TITLE>
</HEAD>
<BODY>
     <?php
      define("FICH_DATOS", 'FicheroEj3.txt'); 
      $fich = @fopen(FICH_DATOS, 'r') or die("ERROR al abrir el fichero");
      $sRepetidos=0;
      while(!feof($fich)){
         $linea=fgets($fich);
         for($i=0;$i<strlen($linea);$i++){
            for($j=$i+1;$j<strlen($linea);$j++){
               if($linea[$i]==$linea[$j]){
                  $sRepetidos++;
               }
            }
         }
         if($sRepetidos!=0){
            echo "La linea ".$linea." SI tiene caracteres repetidos <br>";
         }else if($sRepetidos==0){
            echo "La linea ".$linea." NO tiene caracteres repetidos <br>";
         }
      } 
   
      fclose ($fich);
?>
</BODY>
</HTML>


Pero me da error ya que la ultima linea me sale que SI tiene caracteres repetidos.

¿Alguna ayuda para este novato? Gracias de antemano.