Mi a hiba? Miért kapom mindig ezt az üzenetet: "Minden mező kitöltése kötelező"
Ez az egész egy reg.php nevű fájl tartalma
Első látogatásnál nem kéne hogy hibaüzenetet kapja, de valamiért már első alkalomal mikor belépek és még nem postoltam tovább az űrlapot a reg.php?reg=1 re már akkor is kiírja hogy "minden mező kitöltése kötelező"
<html>
<head>
</head>
<body>
<form method="post" action="reg.php?reg=1">
<center>
<table style="text-align: left; width: 283px; height: 250px;" border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td style="vertical-align: top;">Vezetéknév:<br></td>
<td style="vertical-align: top;"><input name="lastname"><br></td>
</tr>
<tr>
<td style="vertical-align: top;">Keresztnév:<br></td>
<td style="vertical-align: top;"><input name="firstname"><br></td>
</tr>
<tr>
<td style="vertical-align: top;">Felhasználónév:<br></td>
<td style="vertical-align: top;"><input name="username"><br></td>
</tr>
<tr>
<td style="vertical-align: top;">Jelszó:<br></td>
<td style="vertical-align: top;"><input name="password" type="password"><br></td>
</tr>
<tr>
<td style="vertical-align: top;">Jelszó megismétlése:<br></td>
<td style="vertical-align: top;"><input name="password2" type="password"><br></td>
</tr>
<tr>
<td style="vertical-align: top;">E-mail:<br></td>
<td style="vertical-align: top;"><input name="email"><br></td>
</tr>
<tr>
<td colspan="2" rowspan="1" style="vertical-align: top; text-align: center;"><button>Regisztrálás</button><br> </td>
</tr>
</tbody>
</table>
</center>
</form>
<?php
if($_REQUEST['reg'] = 1)
{
if(empty($_POST['lastname']) or empty($_POST['firstname']) or empty($_POST['username']) or empty($_POST['password']) or empty($_POST['password2']) or empty($_POST['email']))
{
echo '<center><span style="font-weight: bold; color: red;">Minden mező kitöltése kötelező!</span></center>';
$hiba = 1;
}
else
{
if($_POST['password'] !== $_POST['password2'])
{
echo '<span style="font-weight: bold; color: red;">A két jelszó nem egyezik!</span>';
$hiba = 1;
}
}
}
?>
</body>
</html>
Hát amikor meghívod böngészőből ezt a php-t, akkor a $_GET['reg'] értéke 1 lesz, viszont semmilyen adatot nem postolsz, tehát a $_POST tömb üres.
És pont erre van feltételed az első php-s sorban, tehát logikus, hogy ezt írja ki.
Rakj a formon belül egy <input type='hidden' name='reg' value='1' /> sort, és reg nélkül hívd meg a böngészőben az oldalt. A $_REQUEST['reg'] helyére $_POST['reg']-et írj.
Így csak ha postolják a formot, akkor megy át a reg változó.
Megoldás:
if($_REQUEST['reg'] = 1) helyett
if($_REQUEST['reg'] == 1) kell
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!