How to treat the value field?

0

I have a form in my html, in it I have a field described this way:

<option value="sao-gabriel-da-palha">São Gabriel da Palha</option>

In my database I have to put the value equal to value , so I wanted the value to come different, come as São Gabriel da Palha and not sao-gabriel-da-palha . Can anyone tell me how I can do this?

Here is my form:

<h3>O que você esta procurando? Digite aqui:</h3>
        <form class="form-inline" action="busca.php" method="post">
            <div class="form-group">
                <input type="text" class="form-control" id="palavra" placeholder="Digite aqui..." name="palavra">
            </div>
            <div class="form-group">
                <label for="cidade">Selecione a cidade:</label>
                <select name="cidade" class="form-control" id="cidade">
                    <option value="sao-gabriel-da-palha">São Gabriel da Palha</option>
                    <option value="São Domingos do Norte">São Domingos do Norte</option>
                    <option value="Vila Valério">Vila Valério</option>
                </select>
            </div>
            <button type="submit" class="btn btn-default">Buscar</button>
        </form>
    
asked by anonymous 10.08.2017 / 04:26

3 answers

2

I recommend doing what Rovann Linhalis mentioned in your comment, but if you want to continue with the idea, you can do it as follows:

//Vamos supor que você colocou o valor do option na variável $cidade
$cidade = ucwords(str_replace('-', ' ', $cidade));

The code is replacing hyphens with whitespace and capitalizing the initial of each word.

Now just write the value of $cidade to the database.

Some tests:

Entrada: "sao-gabriel-da-palha"    Saída: "Sao Gabriel Da Palha"

Entrada: "rio-de-janeiro"          Saída: "Rio De Janeiro"

See working at Ideone .

    
10.08.2017 / 04:47
1
<?php
// Troca 'fromPerson' pelo nome do seu campo html
if( isset($_POST['fromPerson']) && $_POST['fromPerson'] === 'sao-gabriel-da-palha' ) {
    $fromPerson = 'São Gabriel da Palha';
    echo $fromPerson;
}
    
10.08.2017 / 04:47
0

Is your form generated through PHP or do you have it written in a static HTML page?

If you are generating the form through PHP it is better to generate it with values the way they should go to the database ...

<select>
<?php 
// imaginando que o nome das cidades venham de algum array parecido com este
$cidades = array( 'São Paulo', 'Rio de Janeiro', 'Goiania');
foreach( $cidades as $cidade ){
    echo '<option value"'. $cidade .'">'. $cidade .'</option>
}
?>
</select>
    
10.08.2017 / 04:57