ugrás a tartalomhoz

Hírlevél

rober · 2007. Szep. 25. (K), 15.30
Egy mysql adatbázisba szeretnék email címeket gyűjteni feliratkozással. A gondom az, hogy nem íródnak be a táblába az email címek. Csak sorszámot kapnak, de az email mező üres marad. Mi lehet az oka? Ha a $email helyére csak egy sima szót írok az beíródik, tehát valamiért nem tudja olvasni a szövegdobozt.

Az elkul.php:

<?php

$kapcsolat = mysql_connect("localhost","felhasznalonev","jelszo");
mysql_select_db("adatbazisnev",$kapcsolat);

$parancs = "INSERT INTO belepes (email) VALUE ('$email')";
mysql_query($parancs,$kapcsolat);

mysql_close($kapcsolat);

?>

És a weboldalban a form:

<td><form action="elkuld.php" method="post">
<table width="100%" border="0" cellpadding="0" cellspacing="0" id="formhatter">
<tr>
<td id="emailszoveg">az &Ouml;n e-mail c&iacute;me: </td>
<td><input type="text" name="email" class="mezo" size="25" maxlength="30"></td>
</tr>
<tr>
<td>&nbsp;</td>
<td id="elkuld"><input name="elkuld" type="submit" id="inputelkuld" onClick="MM_validateForm('email','','NisEmail');return document.MM_returnValue" value="Elküld"></td>
</tr>
</table>
</form></td>
 
1

debug...

gex · 2007. Szep. 25. (K), 15.46
na mégis mi lehetne az oka. vegyük sorban visszafelé:
1. a mysql_query hibát ad vissza, gondolom nem nézted meg, hogy sikeres-e
2. az insert parancs rosszul van összeállítva, gondolom nem írattad ki
3. az $email változó nem tartalmaz semmit, gondolom nem írattad ki
4. ha az $email nem tartalmaz semmit, akkor mi tartalmazhatja az elküldött e-mail címet?

innentől rádbízom, hogy ezeket a lépéseket sorban megcsináld. ha lesz még kérdésed szívesen segítünk.
2

register globals

zila · 2007. Szep. 25. (K), 15.58
Próbáld meg a $_POST['email'] tömbelemmel elérni a formod által küldött adatot, ránézésre a register_globals=on beállításra számít a scripted, ami vélhetően a szerveren tiltva van (nagyon helyesen).
3

Megnéztem

rober · 2007. Szep. 25. (K), 16.24
Szia! Megnéztem. Valóban a register_globals=off beállítás van a szerveremen. Ez számomra egy nagyon hasznos infó volt. Nagyon köszönöm. Még csak most ismerkedem a php-val. Amit írtál megoldási javaslatot, azt pontosan hogyan tehetem meg? Kösz a segítséget!
5

rtfm

zila · 2007. Szep. 25. (K), 16.43
Olvasd el a manualt.
7

Köszönöm

rober · 2007. Szep. 25. (K), 16.52
Köszönöm a segítséged!
6

pontosan így

gex · 2007. Szep. 25. (K), 16.47
ha már úgyis megmondták a megoldást:

$parancs = "INSERT INTO belepes (email) VALUE ('" . mysql_real_escape_string($_POST['email']) . "')";
(a mysql_real_escape_string az sql injection-ök ellen véd, erről sokat olvashatsz itt a fórumban)

(szerk: miért színezi ilyen furcsán a kódot? mit írtam el?)
8

Köszönöm

rober · 2007. Szep. 25. (K), 16.57
Köszönöm ezt a nagyon is konkrét segítséget! Igyekszem többet megtudni erről a témáról itt a fórumban is. Még egyszer köszönöm!
4

lelőtted...

gex · 2007. Szep. 25. (K), 16.39
...a poént :(