Oldal: 1 / 2 12 UtolsóUtolsó
Eredmény: 1 - 10 (17) összesen

Téma: Form küldése sikertelen

  1. #1
    'Say Hello To My Little Friend'
    Csatlakozott
    11-01-02
    Hozzászólás
    172
    Begyűjtött 3 köszönetet
    3 hozzászólásával

    Alapbeállítás Form küldése sikertelen

    Van egy ilyen kódom, és nem megy el mysqlbe nem tudom miért valaki tudna segíteni?

    <form method=post action="adatok.php">

    <table cellpadding=5>
    <tr>

    <td id=username class=form_label nowrap>Felhasználónév</td>
    <td><input size=20 name="username" value"$felhasznalonev=POST["felhasznalonev"]" maxlength=20></td>
    </tr>
    <tr>
    <td id=password class=form_label nowrap>Jelszó</td>
    <td><input size=20 name="password" type=password value="$jelszo=$_POST["jelszo"]" maxlength=20></td>
    </tr>
    <tr>

    <td id=password2 class=form_label nowrap>Jelszó megerősítése</td>
    <td><input size=20 name="password2" type=password value="$jelszomegerositese=$_POST["jelszomegerositese"]" maxlength=20></td>
    </tr>
    <tr>
    <td id=email class=form_label nowrap>Email</td>
    <td><input size=20 name="email" value="$email=$_POST["email"]" maxlength=50></td>
    </tr>
    <tr>

    <td id=gender class=form_label nowrap>Nem</td>
    <td>
    <select name=gender>
    <option value="$ferfi=$_POST["ferfi"]" >Férfi<option value="Nő" selected>Nő</select>
    </td>
    </tr>

    <tr>

    <td class=form_label>Születési dátum</td>
    <td>
    <select name=birthyear><option value="1910" >1910<option value="1911" >1911<option value="1912" >1912<option value="1913" >1913<option value="1914" >1914<option value="1915" >1915<option value="1916" >1916<option value="1917" >1917<option value="1918" >1918<option value="1919" >1919<option value="1920" >1920<option value="1921" >1921<option value="1922" >1922<option value="1923" >1923<option value="1924" >1924<option value="1925" >1925<option value="1926" >1926<option value="1927" >1927<option value="1928" >1928<option value="1929" >1929<option value="1930" >1930<option value="1931" >1931<option value="1932" >1932<option value="1933" >1933<option value="1934" >1934<option value="1935" >1935<option value="1936" >1936<option value="1937" >1937<option value="1938" >1938<option value="1939" >1939<option value="1940" >1940<option value="1941" >1941<option value="1942" >1942<option value="1943" >1943<option value="1944" >1944<option value="1945" >1945<option value="1946" >1946<option value="1947" >1947<option value="1948" >1948<option value="1949" >1949<option value="1950" >1950<option value="1951" >1951<option value="1952" >1952<option value="1953" >1953<option value="1954" >1954<option value="1955" >1955<option value="1956" >1956<option value="1957" >1957<option value="1958" >1958<option value="1959" >1959<option value="1960" >1960<option value="1961" >1961<option value="1962" >1962<option value="1963" >1963<option value="1964" >1964<option value="1965" >1965<option value="1966" >1966<option value="1967" >1967<option value="1968" >1968<option value="1969" >1969<option value="1970" >1970<option value="1971" >1971<option value="1972" >1972<option value="1973" >1973<option value="1974" >1974<option value="1975" >1975<option value="1976" >1976<option value="1977" >1977<option value="1978" >1978<option value="1979" >1979<option value="1980" >1980<option value="1981" >1981<option value="1982" >1982<option value="1983" >1983<option value="1984" >1984<option value="1985" >1985<option value="1986" >1986<option value="1987" >1987<option value="1988" >1988<option value="1989" >1989<option value="1990" >1990<option value="1991" >1991<option value="1992" >1992<option value="1992" >1992<option value="1993" >1993<option value="1994" >1994<option value="1995" >1995</select>

    <select name=birthmonth><option value="1" >1<option value="2" >2<option value="3" >3<option value="4" >4<option value="5" >5<option value="6" >6<option value="7" >7<option value="8" >8<option value="9" >9<option value="10" >10<option value="11" >11<option value="12" >12</select>
    <select name=birthday><option value="1" >1<option value="2" >2<option value="3" >3<option value="4" >4<option value="5" >5<option value="6" >6<option value="7" >7<option value="8" >8<option value="9" >9<option value="10" >10<option value="11" >11<option value="12" >12<option value="13" >13<option value="14" >14<option value="15" >15<option value="16" >16<option value="17" >17<option value="18" >18<option value="19" >19<option value="20" >20<option value="21" >21<option value="22" >22<option value="23" >23<option value="24" >24<option value="25" >25<option value="26" >26<option value="27" >27<option value="28" >28<option value="29" >29<option value="30" >30<option value="31" >31</select>
    </td>

    </tr>

    <!-- city -->
    <tr>
    <td id=city class=form_label>Város</td>
    <td><input size=30 name="city" value="$varos=$_POST["varos"]" maxlength=100></td>
    </tr>

    <!-- state -->
    <tr>

    <td id=state class=form_label>Megye</td>
    <td><input size=30 name="state" value="$megye=$_POST["megye"]" maxlength=100></td>
    </tr>

    <tr>
    <td></td>
    <td><input type=submit value="Küldés" class=button></td>
    </tr>
    </table>

    </form>

    <?php
    require("includes/connect.php");

    $felhasznalonev
    $jelszo
    $jelszomegerositese
    $email
    $szuletesidatum
    $varos
    $megye

    sqlexec("UPDATE SET mailsubject='$felhasznalonev' WHERE 1");
    sqlexec("UPDATE SET mailsubject='$jelszo' WHERE 1");
    sqlexec("UPDATE SET mailsubject='$jelszomegerositese' WHERE 1");
    sqlexec("UPDATE SET mailsubject='$email' WHERE 1");
    sqlexec("UPDATE SET mailsubject='$szuletesidatum' WHERE 1");
    sqlexec("UPDATE SET mailsubject='$varos' WHERE 1");
    sqlexec("UPDATE SET mailsubject='$megye' WHERE 1");

    require("../includes/disconnect.inc.php");
    ?>



  2. #2
    Rubyist Geri logója
    Csatlakozott
    07-12-15
    Hely
    \x90
    Hozzászólás
    5.606
    Begyűjtött 1.332 köszönetet
    828 hozzászólásával

    Alapbeállítás re: Form küldése sikertelen

    Van benne par szintaktikai hiba. Ezenkivul nem szurod a felhasznalotol jovo adatokat, ami biztonsagi kockazatot jelent. Pl valaki torli az egesz adatbazist, vagy kihuzza az osszes emailcimet maganak.
    Szerintem fuss neki megegyszer


    If debugging is the process of removing software bugs, then programming must be the process of putting them in.
    Github Rake tutorial
    Give a man a fish and you feed him for a day. Teach a man to fish and you feed him for a lifetime.
    Respect all, fear none

  3. #3
    'Say Hello To My Little Friend'
    Csatlakozott
    11-01-02
    Hozzászólás
    172
    Begyűjtött 3 köszönetet
    3 hozzászólásával

    Alapbeállítás re: Form küldése sikertelen

    Persze ez még csak teszt verzió, mi az a szintaktikai hiba?



  4. #4
    Tag kléni logója
    Csatlakozott
    13-05-27
    Hely
    Nyíregyháza
    Hozzászólás
    71
    Begyűjtött 10 köszönetet
    10 hozzászólásával

    Alapbeállítás re: Form küldése sikertelen

    A programod azt csinálja, amit mondtál neki. Te pedig azt mondtad neki, hogy a $email változó értékét adja hozzá a query-hez. Mivel $email-nek nem adtál értéket, így a semmit adja hozzá. Szerintem te nagyon régi verziójú PHP leírást olvashattál, amikor még az elküldött mezők nevével megegyező változóba kerültek az értékek. Ez súlyos biztonsági hiba volt, és nagyon régen kivették már. Helyette van a $_POST tömb, amiből az "email" kulcsszóval éred ez az e-mail címet: $email = $_POST["email"]. A fent lévő kiírásos részben lévő "<input size=20 name="email" value="$email=$_POST["email"]" maxlength=50>" semmit sem csinál, csak egy "$email=$_POST["email"]" nevet adtál az inputnak, mivel <?php és ?> nincs, így ez sima HTML, de értelem szerűe ilyen neve nem lehet az inputnak.
    Lassan 2014-et írunk. Ilyen kódot, a kódod siralmas, átláthatatlan, tele van hibákkal, biztonsági résekkel. Mielőtt neki akarsz vágni a programozásnak, ajánlom a PCWorld Weboldalkészítő suli leírását, vagy a W3schools oldalt (mert ma már van HTML5, nem a 20 évvel ezelőtti stílust kell használni), és nem magyar nyelvű, online leírások olvasgatását a PHP használatáról. Többek között nézz rá a a PDO-ra is, mert a PHP mysql_ függvénykönyvtára már ki lett vonva a forgalomból.



  5. Az alábbi felhasználók hálásak a válaszért:

    stvn (2013-09-24)

  6. #5
    'Say Hello To My Little Friend'
    Csatlakozott
    11-01-02
    Hozzászólás
    172
    Begyűjtött 3 köszönetet
    3 hozzászólásával

    Alapbeállítás re: Form küldése sikertelen

    Köszönöm a segítséget 25252525252525252525



  7. #6
    'Say Hello To My Little Friend'
    Csatlakozott
    11-01-02
    Hozzászólás
    172
    Begyűjtött 3 köszönetet
    3 hozzászólásával

    Alapbeállítás re: Form küldése sikertelen

    Még mindig nem jó beírtam ezt: <?php ?>
    Mi lehet a hiba?



  8. #7
    Tag kléni logója
    Csatlakozott
    13-05-27
    Hely
    Nyíregyháza
    Hozzászólás
    71
    Begyűjtött 10 köszönetet
    10 hozzászólásával

    Alapbeállítás re: Form küldése sikertelen

    Jófej voltam, és kijavítottam a kódodat (bár ebből te nem tanultál semmit):
    HTML kód:
    <form method="post" action="adatok.php">
    	<table>
    		<tr>
    			<td>Felhasználónév</td>
    			<td><input name="username" type="text" /></td>
    		</tr>
    		<tr>
    			<td>Jelszó</td>
    			<td><input name="password" type="password" /></td>
    		</tr>
    		<tr>
    			<td>Jelszó megerősítése</td>
    			<td><input name="password2" type="password" /></td>
    		</tr>
    		<tr>
    			<td>Email</td>
    			<td><input name="email" type="email" /></td>
    		</tr>
    		<tr>
    			<td>Nem</td>
    			<td>
    				<select name="gender">
    					<option value="1">Férfi</option>
    					<option value="2"></select>
    				</select>
    			</td>
    		</tr>
    		<tr>
    			<td>Születési dátum</td>
    			<td>
    				<select name="year">
    					<option value="2000">2000</option>
    				</select>
    				<select name="month">
    					<option value="1">Január</option>
    				</select>
    				<select name="day">
    					<option value="1">1</option>
    				</select>
    			</td>
    		</tr>
    		<tr>
    			<td>Város</td>
    			<td><input name="city" type="text" /></td>
    		</tr>
    		<tr>
    			<td>Megye</td>
    			<td><input name="state" type="text" /></td>
    		</tr>
    		<tr>
    			<td colspan="2"><input type="submit" value="Küldés" /></td>
    		</tr>
    	</table>
    </form>
    PHP kód:
    <?php
        $db 
    = new PDO("mysql:dbname=mydb;host=myhost""myuser""mypass");
        
    $dbh $mysql->prepare("
            UPDATE mytable
            SET
                name=?,
                pass=?,
                email=?,
                birth=?,
                city=?,
                state=?,
                gender=?
            WHERE id=?"
        
    );
        
    $dbh->bindParam(1$_POST["name"]);
        
    $dbh->bindParam(2sha1("token"+$_POST["pass"]));
        
    $dbh->bindParam(3$_POST["email"]);
        
    $dbh->bindParam(4$_POST["year"]."-".$_POST["month"]."-".$_POST["day"]);
        
    $dbh->bindParam(5$_POST["city"]);
        
    $dbh->bindParam(6$_POST["state"]);
        
    $dbh->bindParam(6$_POST["gender"]);
        
    $dbh->bindParam(8$_SESSION["userid"]);
        
    $dbh->execute();
    ?>
    Persze ebből még a nélkülözhetetlen ellenörzős hiányzik.



  9. #8
    'Say Hello To My Little Friend'
    Csatlakozott
    11-01-02
    Hozzászólás
    172
    Begyűjtött 3 köszönetet
    3 hozzászólásával

    Alapbeállítás re: Form küldése sikertelen

    Idézet kléni eredeti hozzászólása Hozzászólás megtekintése
    Jófej voltam, és kijavítottam a kódodat (bár ebből te nem tanultál semmit):
    HTML kód:
    <form method="post" action="adatok.php">
    	<table>
    		<tr>
    			<td>Felhasználónév</td>
    			<td><input name="username" type="text" /></td>
    		</tr>
    		<tr>
    			<td>Jelszó</td>
    			<td><input name="password" type="password" /></td>
    		</tr>
    		<tr>
    			<td>Jelszó megerősítése</td>
    			<td><input name="password2" type="password" /></td>
    		</tr>
    		<tr>
    			<td>Email</td>
    			<td><input name="email" type="email" /></td>
    		</tr>
    		<tr>
    			<td>Nem</td>
    			<td>
    				<select name="gender">
    					<option value="1">Férfi</option>
    					<option value="2"></select>
    				</select>
    			</td>
    		</tr>
    		<tr>
    			<td>Születési dátum</td>
    			<td>
    				<select name="year">
    					<option value="2000">2000</option>
    				</select>
    				<select name="month">
    					<option value="1">Január</option>
    				</select>
    				<select name="day">
    					<option value="1">1</option>
    				</select>
    			</td>
    		</tr>
    		<tr>
    			<td>Város</td>
    			<td><input name="city" type="text" /></td>
    		</tr>
    		<tr>
    			<td>Megye</td>
    			<td><input name="state" type="text" /></td>
    		</tr>
    		<tr>
    			<td colspan="2"><input type="submit" value="Küldés" /></td>
    		</tr>
    	</table>
    </form>
    PHP kód:
    <?php
        $db 
    = new PDO("mysql:dbname=mydb;host=myhost""myuser""mypass");
        
    $dbh $mysql->prepare("
            UPDATE mytable
            SET
                name=?,
                pass=?,
                email=?,
                birth=?,
                city=?,
                state=?,
                gender=?
            WHERE id=?"
        
    );
        
    $dbh->bindParam(1$_POST["name"]);
        
    $dbh->bindParam(2sha1("token"+$_POST["pass"]));
        
    $dbh->bindParam(3$_POST["email"]);
        
    $dbh->bindParam(4$_POST["year"]."-".$_POST["month"]."-".$_POST["day"]);
        
    $dbh->bindParam(5$_POST["city"]);
        
    $dbh->bindParam(6$_POST["state"]);
        
    $dbh->bindParam(6$_POST["gender"]);
        
    $dbh->bindParam(8$_SESSION["userid"]);
        
    $dbh->execute();
    ?>
    Persze ebből még a nélkülözhetetlen ellenörzős hiányzik.
    Köszönöm, örök hála. Csak az számít, hogy működjön.



  10. #9
    'Say Hello To My Little Friend'
    Csatlakozott
    11-01-02
    Hozzászólás
    172
    Begyűjtött 3 köszönetet
    3 hozzászólásával

    Alapbeállítás re: Form küldése sikertelen

    Sajnos még most sem, jó, mi lehet vele?



  11. #10
    Tag kléni logója
    Csatlakozott
    13-05-27
    Hely
    Nyíregyháza
    Hozzászólás
    71
    Begyűjtött 10 köszönetet
    10 hozzászólásával

    Alapbeállítás re: Form küldése sikertelen

    n+1 baja lehet. Nem véletlenül mondtam, hogy kezd az alapoktól. Most adhatok még egy kódot, amire nincs most sajnos időm, de lehet, az is rossz lenne. Nem teszteltem, amit mutattam, de jól kellene mennie, hiszen semmi bonyolultság nincs benne. Nézd meg, milyen hibaüzenetet kapsz, keress rá, az alapján meg tudod oldani. Vagy hátha valaki más tud még segíteni.



Oldal: 1 / 2 12 UtolsóUtolsó

Könyvjelzők

Hozzászólás szabályai

  • Új témákat nem hozhatsz létre
  • Válaszokat nem küldhetsz
  • Fájlokat nem csatolhatsz
  • A hozzászólásaidat nem módosíthatod
  •