webForumDet fria alternativet

Skumt problem som någon kan hjälpa till med

PHP

3 svar · 285 visningar · startad av jockelw

Medlem sedan sep. 200254 inlägg
Frågan#1

Hejsan!

Jag har ett skumt problem. i koden nedan så ska man fylla i sin e-mail adress och sedan ska den ladda om sidan och ta den adressen du fyllde i och sedan plocka in den i php scriptet. Problemet att de ska ju isset strängen känna av men de händer inget när man skriver in en mail men om man lägger till denna rad "$epost = "mailadress@hetpost.se"; innan if (isset($epost)) denna rad så lägger den till adressen. Ja tror att det är någon inställning på servern som inte funka men vet inte vad den heter. Någon som vet???

Koden:

<?php
# Script

require ("./variablar.php");

function fel($text)
{
echo "<p><b>$text</b>";
echo "<p><a href=javascript:history.back(1)>Tillbaka</a>\n";
}

$conn_nyhetsbrev = mysql_connect ("$server","$anvandare","$losen");
mysql_select_db ("$databas");

if (isset($epost))
{

if ($bort == "on" && $avreg == 0)
{
$query = mysql_query ("SELECT epost FROM adresser WHERE epost='$epost'");
$koll=mysql_fetch_object($query);
	if(!$koll)
	{
	fel("$epost fanns inte i databasen!");
	}
	else
	{
		$tabort = mysql_query("DELETE FROM adresser WHERE epost='$epost'");
		mail ("$avreg", "$amneut", "$messut", "From: $namn <$dinepost>");
		echo "<p><b><b>$epost</b> togs bort ur nyhetsbrevet.</b>";
	}
}
else
{
	if (!eregi("^.+\@.+\..+$",$epost))
	{
	fel("Fyll i din e-postadress!");
	}
	else
	{
	$datum = date("Y-m-d");
	$query = mysql_query("SELECT epost FROM adresser WHERE epost='$epost'");
	$koll=mysql_fetch_object ($query);
		if(!$koll)
		{
		$query = "INSERT INTO adresser (epost, ip, datum) VALUES ('$epost', '$REMOTE_ADDR', '$datum')";
		mysql_query("$query");
		mail ("$epost", "$amnein", "$messin", "From: $namn <$dinepost>");
		echo "<p><br><b>Din registrering är slutförd. Tack!</b><br><br>";
		}
		else
		{
		fel("E-postadressen finns redan i databasen!");
		}
	}
}

}
else
{
?>
<form action="<?=$PHP_SELF?>" method="post">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
	<td><input type="text" name="epost" size="25">
	<input type="submit" value="OK" style="font-weight: bold">
<?php
	if ($visa_avreg == 1)
	{
?>
	</td>
</tr>
<tr>
	<td><input type="checkbox" name="bort"> Avregistrera
<?php
	}
	if ($visa_antal == 1)
	{
	$antal = mysql_num_rows (mysql_query("SELECT * FROM adresser"));
	echo "<center>Med <b>$antal</b> prenumeranter\n";
	}
	echo "</td>
</tr>
</table>
</form>\n";
}

if (isset($avreg))
{
$query = mysql_query ("SELECT epost FROM adresser WHERE epost='$avreg'");
$koll = mysql_fetch_object($query);
	if(!$koll)
	{
	fel("$avreg finns inte i databasen!");
	}
	else
	{
		$tabort = mysql_query("DELETE FROM adresser WHERE epost='$avreg'");
		mail ("$avreg", "$amneut", "$messut", "From: $namn <$dinepost>");
		echo "<p><b>$avreg togs bort ur nyhetsbrevet.</b>";
	}
}

mysql_close($conn_nyhetsbrev);

if ($credit == 1)
{
echo "\n<p><b><font face=\"Verdana\" size=\"1\" color=\"#333333\">© 2001 <a href=\"http://www.niklasson.net/\" target=\"_blank\">Mathias Niklasson</a></font></b></p>\n";
}
?>
Medlem sedan aug. 20002 975 inlägg
#2

Om du har register_globals satt till Off, testa med $_POST['epost'] istället för $epost, $_POST['bort'] istället för $bort samt $_SERVER['PHP_SELF'] istället för $PHP_SELF.

Medlem sedan sep. 200254 inlägg
#3

ha.. de funka. Tackar så mycket. =)

Medlem sedan juni 20006 031 inlägg
#4

Och sen kan du markera tråden som löst. ;) :)

256 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)