Search code examples
phpmysqlcamelcasing

Date entry for first_name, lastname, and job title should be in camel case format even if the user enters all capitalized letters


So this is my code for the first_name. I have no clue why it does not work whenever I add an entry.

First Name: <input type="text" name="first_name" value="<?php function convertString($first_name){
$first_name=htmlentities(strip_tags($first_name));
$lowercaseFName = strtolower($first_name);
$ucFName = ucwords($lowercaseFName);
return $ucFName;} ?>"/> // I changed it with echo but nothing changed.

My code doesn't change the format of the text.I tried inputting in all caps and it will show as is. Am I missing something or doing it wrong?

The inputted text if all in capital must still be shown as Camel Case format in the table, like this:

First Name: MARIA YLONA (in the form)

First Name: Maria Ylona (in the table) - this is another .php file for viewing of the data entries


Solution

  • Seeing you didn't post your html form or how it's used, am submitting the following as a successful piece of code and using !empty() against a POST array with form tags and an isset() for the submit input.

    Btw, functions and variables assignments should be used seperately than in inputs/form elements.

    Create a function, then pass it inside the input with the parameter.

    <?php
    function convertString($first_name){
      $first_name=htmlentities(strip_tags($first_name));
      $lowercaseFName = strtolower($first_name);
      $ucFName = ucwords($lowercaseFName);
      return $ucFName;
    }
    
    
    if(isset($_POST['submit'])){
    
        if(!empty($_POST['first_name'])){
    
           $first_name = $_POST['first_name'];
    
        }
    
    }
    
    // here initialize $first_name to something meaningful
    ?>
    
    <form method="post">
    First Name: <input type="text" name="first_name" value="<?php echo(convertString($first_name)) ?>"/>
    
    <input type="submit" name="submit" value="Submit">
    
    </form>
    

    Footnotes:

    In regards to what Marc mentioned about McDonald's -> mcdonald's -> Mcdonald's and my MacDonald in comments...

    Consult the following here on Stack which may prove to be useful:

    You mention the use of a database, but haven't posted relative code and would be beyond the scope of the question.