не работает форма jscript

эти формы работали до того, как я написал систему динамических включений. Я проверял jscripts dir, но кажется, что он не работает … CSS-стили работают, PHP-скрипты также работают.

Это index.php:

include_once 'themes/default/views/layouts/main.php';

function showContent() {
//this is working fine
}

Это main.php обычный html5 документ с включенными css и jscript и вызовом функции showContent ():

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html" charset="UTF-8">

<title>Tittle</title>

<link rel="stylesheet" type="text/css" media="all" href="themes/default/css/cool_menu.css">

<script type="text/JavaScript" src="js/sha512.js"></script>
<script type="text/JavaScript" src="js/forms.js"></script>
</head>

<body>
<header>
<div>
<p>Logo here</p>
</div>
<div>
<p>Nav menu here</p>
<ul>
<li><a href="home">Home</a></li>
<li><a href="login">login</a></li>
<li><a href="register">register</a></li>
<li><a href="about">About</a></li>
</ul>
</div>
</header>

<section>
<article>
<div>
<p>Home and views content are called here</p>
<?php
$path = $_SERVER['DOCUMENT_ROOT'];
include_once($path . '/index.php');
showContent();
?>
</div>
</article>
</section>

<footer>
<p>copyright here</p>
</footer>
</body>
</html>

И, наконец, просмотр страницы: login.php (регистрация тоже не работает)

<?php

include_once 'includes/functions.php';

sec_session_start();    // no error so functions.php is included

if (login_check($mysqli) == true) {
$logged = 'in';
} else {
$logged = 'out';
}
?>

<!DOCTYPE html>
<html>
<header>
</header>
<section>
<?php
if (isset($_GET['error'])) {
echo '<p class="error">Error Logging In!</p>';
}
?>
<form action="includes/process_login.php" method="post" name="login_form">
Email: <input type="text" name="email" />
Password: <input type="password"name="password"id="password"/>
<input type="button"value="Login"onclick="formhash(this.form, this.form.password);" />
</form>
<p>If you don't have a login, please <a href="register">register</a></p>
<p>If you are done, please <a href="logout">log out</a>.</p>
<p>You are currently logged <?php echo $logged ?>.</p>
</section>
</html>

Кнопки не работают … так что это проблема с jscript, верно? Но это просто работало, прежде чем я реализовал динамическое включает «localhost / login» … Используя обычные ссылки, такие как «localhost / views / site / login.php», и это работало, но это не проблема …

Эти папки (темы, включает в себя и JS) находятся в корне (htdocs). Стили CSS работают нормально, также работают функции из «includes / functions.php», но jscripts не ….

Все просмотренные страницы имели css и js include, но я просто переместил их в main.php, потому что это не проблема.

Я действительно не знаю, в чем проблема … Любая помощь?

Спасибо!

Редактировать: Добавить форм.js jscript:

function formhash(form, password) {
// Create a new element input, this will be our hashed password field.
var p = document.createElement("input");

// Add the new element to our form.
form.appendChild(p);
p.name = "p";
p.type = "hidden";
p.value = hex_sha512(password.value);

// Make sure the plaintext password doesn't get sent.
password.value = "";

// Finally submit the form.
form.submit();
}

function regformhash(form, uid, email, password, conf) {
// Check each field has a value
if (uid.value == ''         ||
email.value == ''     ||
password.value == ''  ||
conf.value == '') {

alert('You must provide all the requested details. Please try again');
return false;
}

// Check the username

re = /^\w+$+/b;
if(!re.test(form.username.value)) {
alert("Username must contain only letters, numbers and underscores. Please try again");
form.username.focus();
return false;
}

// Check that the password is sufficiently long (min 6 chars)
// The check is duplicated below, but this is included to give more
// specific guidance to the user
if (password.value.length < 6) {
alert('Passwords must be at least 6 characters long.  Please try again');
form.password.focus();
return false;
}

// At least one number, one lowercase and one uppercase letter
// At least six characters

var re = /(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{6,}/;
if (!re.test(password.value)) {
alert('Passwords must contain at least one number, one lowercase and one uppercase letter.  Please try again');
return false;
}

// Check password and confirmation are the same
if (password.value != conf.value) {
alert('Your password and confirmation do not match. Please try again');
form.password.focus();
return false;
}

// Create a new element input, this will be our hashed password field.
var p = document.createElement("input");

// Add the new element to our form.
form.appendChild(p);
p.name = "p";
p.type = "hidden";
p.value = hex_sha512(password.value);

// Make sure the plaintext password doesn't get sent.
password.value = "";
conf.value = "";

// Finally submit the form.
form.submit();
return true;
}

//End of Script

2

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]