[Php-avanzado] Ejercicio 1

Javier Alvarez neiker en gmail.com
Mar Abr 28 22:41:02 ART 2009


Primero, Ezequiel Mujica gracias por los ejercicios.. pero no iba a 
mandar un mail por un "gracias" porque mas de uno me iba a putear.. :P

Acá dejo mi solucion del 1er ejercicio (y el 2do ya que estaba lo mande 
en el mismo).... solo el body, el nombre del archivo es uno.php
Siempre muestra el formulario. Si se envió el formulario 
if(isset($_POST["enviar"])), abajo muestra el resultado y el formulario 
guarda el texto y la seleccion...

<body>
<form action="uno.php" method="post">
<textarea name="texto" cols="50" rows="10"><?PHP print($_POST["texto"]); 
?></textarea> <!-- recuerda el texto si el formulario ya fue enviado -->
<br    />
Mostrar <SELECT name="val"> <!-- recuerda la seleccion si el formulario 
ya fue enviado -->
  <option value="1" <?PHP if($_POST["val"]==1){print SELECTED;} ?>>todo 
en mayusculas</option>
  <option value="2" <?PHP if($_POST["val"]==2){print SELECTED;} ?>>todo 
en minusculas</option>
  <option value="3" <?PHP if($_POST["val"]==3){print SELECTED;} ?>>solo 
primer letra en mayusculas</option>
  <option value="4" <?PHP if($_POST["val"]==4){print SELECTED;} ?>>solo 
primer papabra en mayusculas</option>
<input value="enviar" name="enviar" type="submit" />
</SELECT>
</form>
<br />

<?PHP
if(isset($_POST["enviar"])){
    $texto=trim($_POST[texto]);
    print ("<b>Resultado:</b><br    />");
    if(strlen($texto)>0){
        switch ($_POST["val"]) {
            case 1:
                print strtoupper("$texto");//todo en mayusculas
                break;
            case 2:
                print strtolower("$texto");//todo en minusculas
                break;
            case 3:
                print(strtoupper(substr($texto, 0, 
1)).strtolower(substr($texto, 1)));  //Muestra la primera letra en 
minusculas y el resto en mayusculas sin importar si el texto original 
está en minusculas o mayusculas
                break;
            case 4:
                print(strtoupper(substr($texto, 0, strpos($texto, ' 
'))).strtolower(substr($texto, strpos($texto, ' '))));
                /*Primera palabra en mayusculas, el resto en minusculas
                lo unico que se me ocurrio es separar la cadena en el 
primer espacio
                */
                break;
            default:
                break;
        }
    } else {
    print ("No se introdujo ningun texto");
    }
} ?>
</body>


Más información sobre la lista de distribución Php-avanzado