PHP Profil? Kérem valaki segítsen mert elakadtam?
Nos van nekem egy ilyen kódom és nemtudom elképzelni miért nem tárolja el az adatbázisban a bevitt adatokat. Így néz ki: [link] és ha ráböktem a mentésre akkor az sql-ben ez történik: [link]
(azaz szinte semmi mert nem tárol el bele semmit )
1. Nem kritikát kérek hanem segítséget!
2. Nem kell a kinézetet nézni mert csak ha jól működik utána csicsázom.
Köszönöm szépen a lehetséges megoldásokat előre is! Tudom hogy nem nagy a hiba mert minden elérési út jól van megadva és csatlakozik is az adatbázishoz de valami mégsem jó pls help.
<form method="post" action="">
<table>
<tr>
<td><b>Felhasználónév</b></td>
<td><input type="text" name="nev" /></td>
</tr>
<tr>
<td><b>E-mail cím:</b></td>
<td><input type="text" name="email" /></td>
</tr>
<tr>
<td><b>Város</b></td>
<td><input type="text" name="varos" /></td>
</tr>
<tr>
<td><b>Irányítószám</b></td>
<td><input type="text" name="irszam" /></td>
</tr>
<tr>
<td colspan="2"><input type="submit" name="elkuld" value="Mentés" />
</td>
<center>Felhasználóneved, E-mail címed és jelszavad megadása kötelező! Mivel így regisztrálsz az oldalra és így fog téged azonosítani.<br>Jelszavad mégegyszer azért kérjük hogy biztos nem ütötted-e el ( megadása mégegyszer kötelező!)</b></center>
</tr>
</table>
</center>
</form>
<?php
$felhasznalo = "root";
$jelszo = "";
$adatbazis = "sajat";
$kapcsolat = mysql_connect ("localhost",$felhasznalo,$jelszo );
if ( ! $kapcsolat )
die ( "Nem lehet kapcsolódni a kiszolgálóhoz! " );
mysql_select_db ($adatbazis, $kapcsolat )
or die ( "Nem lehet megnyitni a $adatbazist: ".mysql_error () );
$parancs = "INSERT INTO profil (nev,email,varos )
VALUES ( '','','' )";
mysql_query ( $parancs, $kapcsolat )
or die ( "Nem lehet adatot hozzáadni a "profil" táblához: "
.mysql_error () );
mysql_close ( $kapcsolat );
?>
Szia!
A MySQL lekérésből hiányoznak a változók!
$parancs = "INSERT INTO profil (nev,email,varos )
VALUES ( '','','' )";
A VALUES után megkell adni, hogy mit tegyek az egyes oszlopokba. Nálad üres helyek vannak. Oda kell beírni a változókat!
INSERT INTO profil (nev,email,varos )
VALUES ( '','','' )"
Ez nem pont azt jelenti, hogy üres adatsorokat raksz be? ''
"VALUES ( '','','' )"; "
Ő csak pontosan azt csinálja amit mondasz neki: beletárolja az adatbázisba a semmit :) Itt a VALUES-nál kéne megadni, hogy mit tároljon bele. Mivel te ''-t adsz meg, ez a "semmi". Valami ilyesmi kéne:
"INSERT INTO profil ('nev','email','varos') VALUES ($nev, $email, $varos)"
Persze ehhez a $nev, $email és $varos változókban benne kell lennie a megfelelő változóknak.
Egyébként az alján a PHP részlet mindig le fog futni, gombnyomástól függetlenül, tehát az adatok NEM gombnyomásra fognak az adatbázisba bekerülni.
<center>
<body background="abstract.jpg">
<form method="post" action="">
<table>
<tr>
<td><b><font color="#FF0000">Beceneved</font></b></td>
<td><input type="text" name="nev" /></td>
</tr>
<tr>
<td><b><font color="#FF0000">E-mail cím:</font></b></td>
<td><input type="text" name="email" /></td>
</tr>
<tr>
<td><b><font color="#FF0000">Város</font></b></td>
<td><input type="text" name="varos" /></td>
</tr>
<tr>
<td><b><font color="#FF0000">Teljes neved</font></b></td>
<td><input type="text" name="teljesnev" /></td>
</tr>
<tr>
<td><b><font color="#FF0000">MSN Címed</font></b></td>
<td><input type="text" name="msn" /></td>
</tr>
<tr>
<td><b><font color="#FF0000">Ezt csinálod szivesen szabadidődben</font></b></td>
<td><input type="text" name="szabadido" /></td>
</tr>
<tr>
<td colspan="2"><input type="submit" name="elkuld" value="Mentés" />
</td>
</tr>
</table>
</center>
</form>
<?php
$felhasznalo = "root";
$jelszo = "";
$adatbazis = "sajat";
$kapcsolat = mysql_connect ("localhost",$felhasznalo,$jelszo );
if ( ! $kapcsolat )
die ( "Nem lehet kapcsolódni a kiszolgálóhoz!" );
mysql_select_db ( $adatbazis, $kapcsolat )
or die ( "Nem lehet megnyitni a $adatbazist: ".mysql_error () );
$parancs = "INSERT INTO profil ( nev,email,varos,teljesnev,msn,szabadido )
VALUES ( '$nev','$email','$varos','$teljesnev','$msn','$szabadido' )";
mysql_query ( $parancs, $kapcsolat )
or die ( "Nem lehet adatot hozzáadni a tablahoz:" .mysql_error () );
mysql_close ($kapcsolat);
?>
</body>
</html>
Ez már a javított de ezzel sem akar jól működni... Sejtem hogy azért nem mert pl meg kéne adni neki hogy $nev="$nick" vagy nemtudom teljesen elakatam és tök káosz van a fejemben.
<form method="post" action="phpfileod.php">
$parancs = "INSERT INTO profil ( nev,email,varos,teljesnev,msn,szabadido )
VALUES ( $nev,$email,$varos,$teljesnev,$msn,$szabadido )";
?>
<form method="post" action="phpfileod.php">
Itt meg kell adni, hogy melyik php fájlnak küldje, vagy beírod a php fájlodnak a nevét, vagy használod ezt:
$_SERVER['PHP_SELF']
Ebből a sorból el kell tüntetned az aposztrófokat, változóknál nem kell:
$nev,$email,$varos,$teljesnev,$msn,$szabadido
Illetve jól sejted, értéket kell nekik adni, ezt így teheted meg:
$nev = $_POST['nev'];
$email = $_POST['email']
...
Ezt csináld végig, a post-ban pedig a nevei kellenek a megadott mezőnek (<form name="nev"> tehát name kell, hogy ott legyen, most nem néztem, meg, hogy ez van e nálad névnek, ezt majd írd át, úgy, hogy helyes legyen)
A többi első ránézésre jónak tűnik.
Nagyon szépen köszönöm a segítséged!!! Örök hálám! Nagyon sokat segítettél előre lépni!És rájöttem hogy azért kell értéket adni a változóknak mert ha a register_globals ki van kapcsolva a php.ini-ben , akkor az adott változók nem kapnak értéket, és csak üres string-ek iródnak az adatbázisba...:S Igen nos az aposztrófok kellenek feltétlen mert ezt a hibát kaptam: [link]
De aztán mégiscsak visszatettem az aposztrófokat így már végre: [link]
Azaz semmi hibát nem jelez a kód pedig így néz ki: [link]
De sajnos így sem kerül az adatbázisba semmi mert ahogy írtad megváltoztattam az action=$_SERVER['PHP_SELF']-re és mikor rámegyek h mentés akkor ezt kapom: [link] ( azaz nem találja a megadott file-t ) szal már csak ici-pici hibája van és agyalok rajta, azért linkeltem egy csomót hogy ne szemeteljem tele a mondandómat. Továbbra is várom a segítséget de neked barátom jár a megoldásért járó szavazat!
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!