I have a form where user insert their names, once they submit the form, the page should check if the name provided already exists, if so, should return with an error, other wise, proceed normally.
How do I check if my input value exists and stop the form if this exists?
<?php
$array = get_meta_values( 'user_submit_name' );
// Array to search:
// Temp array so we don't find the same key multipule times:
$temp = array();
// Iterate through the array:
foreach ($array as $key)
{
// Check the key hasn't already been found:
if (!in_array($key, $temp))
{
// Get an array of all the positions of the key:
$keys = array_keys($array, $key);
// Check if there is more than one position:
if (count($keys)>0)
{
// Add the key to the temp array so its not found again:
$temp[] = $key;
// Do something...
echo '<li>Name already used';
}
}
}
?>
html
<form class="form-horizontal" role="form" id="usp_form" method="post" data-validate="parsley" enctype="multipart/form-data" novalidate>
<div class="form-group">
<label class="col-lg-2 control-label" for="user-submitted-name">Il tuo nome</label>
<div class="col-lg-10">
<input name="user-submitted-name" type="text" value="" data-required="true" required placeholder="Your name" class="form-control input-lg usp-input">
</div>
</div>
<div class="form-group">
<div class="col-lg-offset-2 col-lg-10">
<input class="submit btn btn-lg btn-primary" name="user-submitted-post" id="user-submitted-post" type="submit" value="<?php _e('Submit', 'usp'); ?>">
</div>
</div>
I got it from your comments that you have the following:
Then it looks like the easy way:
Just make use of a multi-level
break
statement and come out of the loop.Something like