Ja, jag har fått ett litet problem med mina if satser. De är till för att kontrollera ett par formulär innan informationen sparas.
Ibland fungerar dem men ibland verkar det som att dem bara hoppas över på något vis. De ser ut så här:
if ($_POST['y'] == "0")
{
header("Location:index.php?section=regga&y=fel");
}
if ($_POST['m'] == "0")
{
header("Location:index.php?section=regga&m=fel");
}
if ($_POST['d'] == "0")
{
header("Location:index.php?section=regga&d=fel");
}
if ($_POST['lan'] == "0")
{
header("Location:index.php?section=regga&lan=fel");
}
jag håller nog med snakes... just nu kolla scriptet ifall man skrivit 0 inte ifall den är "noll"...
Om du upplever problem med att den fortsätter och reggar datan i databasen kan du ju köra en exit för att vara på säkra sidan att den inte utför något mer...
Asså det är ett sånt är Select formulär där value = 0 om man inte har ändrat. Kotrollen funkar ibland och man kommer tillbaka och får ett felmeddelande men inte alltid.
Snakes snackar du i nattmössan nu eller? :P
<select name="y">
<option value="0">År
<option value="1990">1990
Ja osv...Så default blir det ju 0 om man inte ändrat. Men varför fungerar det ibland?
Ska vi se nu...Hela koden som ska spara sakerna ser ut så här:
if ($_POST['pass'] != $_POST['pass2'])
{
header("Location:index.php?section=regga&pass=fel");
}
if ($_POST['y'] == "noll")
{
header("Location:index.php?section=regga&y=fel");
}
if ($_POST['m'] == "noll")
{
header("Location:index.php?section=regga&m=fel");
}
if ($_POST['d'] == "noll")
{
header("Location:index.php?section=regga&d=fel");
}
if ($_POST['lan'] == "noll")
{
header("Location:index.php?section=regga&lan=fel");
}
else
{
$link = mysql_connect("XXXXX", "XXXXX", "XXXX");
mysql_select_db("free58819", $link);
$reg_y = date('Y');
$reg_m = date('m');
$reg_d = date('d');
$sql = "SELECT nick FROM members WHERE nick = '". $_POST['nick'] ."'";
$resultat = mysql_query($sql, $link) or die (mysql_error());
if(mysql_num_rows($resultat)==0)
{
$insert="INSERT INTO members (nick, pass, fnamn, enamn, y, m, d, lan, epost, visa_epost, reg_y, reg_m, reg_d) VALUES
('" . $_POST['nick'] ."', '" . $_POST['pass'] ."', '" . $_POST['fnamn'] ."', '" . $_POST['enamn'] ."',
'" . $_POST['y'] ."', '" . $_POST['m'] ."', '" . $_POST['d'] ."', '" . $_POST['lan'] ."',
'" . $_POST['epost'] ."', '" . $_POST['visa_epost'] . "', '" . $reg_y . "', '" . $reg_m ."', '" . $reg_d . "')";
$resultat2 = mysql_query($insert, $link) or die (mysql_error());
header("Location: index.php?section=regga®=true");
}
else
{
header("Location: index.php?section=regga&anv=fel");
}
}
Kontrollen av lösenorden fungerar alltid, ibland också någon av de andra if satserna, men ibland verkar den hoppa över dem och gå direkt dit där det sparas.