Kezdőoldal » Számítástechnika » Weblapkészítés » Mi a hiba? Miért kapom mindig...

Petike75 kérdése:

Mi a hiba? Miért kapom mindig ezt az üzenetet: "Minden mező kitöltése kötelező"

Figyelt kérdés

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>


2012. jan. 28. 19:17
 1/3 anonim ***** válasza:

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ó.

2012. jan. 28. 19:40
Hasznos számodra ez a válasz?
 2/3 anonim ***** válasza:

Megoldás:

if($_REQUEST['reg'] = 1) helyett

if($_REQUEST['reg'] == 1) kell

2012. jan. 28. 21:59
Hasznos számodra ez a válasz?
 3/3 A kérdező kommentje:
Az első válasz az tökéletes köszönöm (ez eszembe se jutott), a második válasz az nem jó, én is próbáltam már és ugyanúgy nem működött, de azért köszönöm.
2012. jan. 29. 19:58

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!