Hey les gars, je ne sais pas pourquoi cela ne marchera pas ... Il ne semble pas vouloir prendre les valeurs POST .... Je ne peux pas le comprendrephp smarty vraiment besoin d'aide
Cette est Loginbox
<div class="loginbox">
<form action="processlogin.php" method="post">
<table width="100%" border="0" cellspacing="0" cellpadding="5">
<tr>
<td>Username</td>
<td><input type="text" name="UserName" /></td>
</tr>
<tr>
<td>Password</td>
<td><input type="text" name="Password" /></td>
</tr>
<tr>
<td> </td>
<td><input type="submit" value="Login" /></td>
</tr>
<tr>
<td> </td>
<td><span style="font-size:12px;"><a href="adduser.php">Click here to register</a></span></td>
</tr>
</table>
</form>
Ceci est juste une boîte que j'intégrer dans mon modèle d'index.
<div class="header">
{if loggedin == false}
<h1>welcome</h1>
{else}
{include file="loginbox.tpl"}
{/if}
</div>
Loginbox quand submited va processlogin.php qui est ce
<?php
include '/usr/local/Smarty/libs/Smarty.class.php';
require "includes/defs.php";
$smarty = new Smarty;
if ($_SERVER['REQUEST_METHOD'] == 'GET') {
// Get any error message
$error = @$_GET['error'];
} else
{
$UserName = @$_POST['UserName'];
$Password = @$_POST['Password'];
echo $UserName;
}
processlogin($UserName, $Password);
?>
Cette appelle la fonction processlogin ... mais avant même que je teste pour voir si je pouvais même obtenir UserName et je ne peut pas ...
function processlogin($UserName, $Password){
echo $UserName;
session_start();
$UserName = mysql_escape_string($UserName);
$Password = md5($Password);
echo $UserName;
$connection = mysql_open();
$SQL = "SELECT * FROM tblUsers WHERE UserName = '$UserName' AND UserPass = '$Password'";
$Result = @ mysql_query($SQL)
or showerror();
if(mysql_num_rows($Result) > 0)
{
$DATA = mysql_fetch_assoc($Result);
$_SESSION['userID'] = $DATA['ID'];
$_SESSION['Loggedin'] = "true";
echo 'true';
//header("Location:index.php");
}
else
{
$_SESSION['Loggedin'] = "false";
echo 'trdddde';
//header("Location:index.php");
}
}
Ceci est la fonction ... vous verrez que j'ai juste des tests aléatoires qui n'ont aucun sens. J'essaie juste de montrer les choses en cours de route pour que je puisse comprendre ce qui ne va pas
Désolé pour mes mauvaises compétences de codage. Je n'ai appris que depuis deux mois.
En fait, le bit sur les attaques par injection SQL est faux - désolé! – Robin
Ça ne marche toujours pas. Je pense qu'il a des problèmes quelque part obtenir les variables du formulaire. Car avant même que le login du processus ne soit exécuté, il devrait afficher l'écho de UserName ... Je supprime le contrôle d'erreur et l'écho ne fonctionne toujours pas. Ce qui apparaît est "traddde" ce qui est ma façon de dire si loggedin == false. –
Je l'ai réparé ... mais je n'ai aucune idée de comment ... ça a juste commencé à fonctionner ... Je n'ai rien changé et tout à coup ça a marché. –