Mit ID datenbankabfrage

@bhalili:

Nimm nicht mysql_result, sondern mysql_fetch_array. Dazu brauchst du nichteinmal eine while-Schleife, da du ja nur EINE id übergibst:

PHP:
$emailanzeige=mysql_fetch_array($result);

$to=$emailanzeige['e_mail'];
PS.: wenn du aus der DB nur die e-mail-Adresse haben willst dann schlage ich dir folgenden Query vor:

PHP:
"SELECT `e_mail` FROM `BI_firma` WHERE id = '$id'"

//edit:
Ach ja und mach am Anfang von Script
PHP:
$id=$_GET['id'];
 
Hallo Nero ich hab das jetzt so geändert:

PHP:
$id = $_GET['id'];   
// Verbindung mit Anzeigen
$dbhandle = mysql_connect("localhost","*****","*******"); 
$db = mysql_select_db("******", $dbhandle);
$result = mysql_query ("SELECT e_mail from BI_firma WHERE id = '$id'");  


$emailanzeige = mysql_fetch_array($result,"0","e_mail");	


	$to = "$emailanzeige"; //empfänger e-mail

und erhalte die Fehlermeldung: Warning: Wrong parameter count for mysql_fetch_array() in /home/httpd/vhosts/eventpages.de/httpdocs/mail.php on line 37

Sorry so hab ich es geändert und bekomme keine Fehlermeldung mehr aber auch keine E-Mail. Nur wenn ich die ID eingebe funktioniert es

$emailanzeige=mysql_fetch_array($result);

$to=$emailanzeige['e_mail'];
 
Zuletzt bearbeitet:
Hier noch einmal mein Mailscript. Keine Fehlermeldung mehr aber auch keine E-Mail. Das Script übernimmt einfach nicht die ID im select.

PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
	
	<head>
		<title>E-Mail</title>
	</head>
	
<body bgcolor="#FFFFFF">

<p>
	<b>Kontakt </b>
	<form action="mail.php" method="get">
	   Betreff: <br>
	   <input type="Text" name="subject" value=""><br>
	   Deine E-mail: <br>
	   <input type="Text" name="absender" value=""><br>
	   Mail:<br>
	   <textarea name="message" value="" rows="7" cols="25"></textarea>
	   <br>
	   <br>
	   <input type="Submit" name="send" value="Mail senden">
	</form>
</p>

<p>
	<?php

$id = $_GET['id'];   
// Verbindung mit Anzeigen
$dbhandle = mysql_connect("localhost","xxxxxx","xxxx"); 
$db = mysql_select_db("xxxx", $dbhandle);
$result = mysql_query ("SELECT `e_mail` FROM `BI_firma` WHERE id = '$id'");  


$emailanzeige=mysql_fetch_array($result); 

$to=$emailanzeige['e_mail'];

 //empfänger e-mail
	
	if($send == "Mail senden")
	{
		

		$header = "From: \"".$absender."\" <".$absender.">\n";
		
		if ($send <>"" && eregi("^[_\\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\\.)+[a-z]{2,3}\$", $absender) && $message != "" && $subject != "")
			$res = mail ($to,$subject,$message.'<br><br><br>Absender: '.$absender.'<br> IP: '.$REMOTE_ADDR,$header);
		
		if ($res)
			echo "<font color=green><b>Mail erfolgreich an $to versendet!</b></font>";
		else
			echo "<font color=red><b>Fehler!<br>Bitte füll alle Felder aus und gib eine korreckte E-Mail an!</b></font>";
	
 }

	?>
</p>
</body>
</html>
 
Und sind die register_globals auf "off"?

Lass dir das gesamte $_GET-Array ausgeben:

PHP:
echo "<pre>";
print_r($_GET);

Schreib was dabei rauskam!
 
Ich bekomme

PHP:
Array
(
    [id] => 121
)
raus. Die email wird mit echo angezeigt aber nicht weiter an $to weitergegeben in der IF Anweisung unter
PHP:
$res = mail ($to,$subject,$message.'<br><br><br>Absender: '.$absender.'<br> IP: '.$REMOTE_ADDR,$header);(

register_globals ist auf ON
 
Zuletzt bearbeitet:
machmal nach dem query ein die:

PHP:
mysql_query ("SELECT `e_mail` FROM `BI_firma` WHERE id = '$id'") or die(mysql_error());

Und schau in deiner Datenbank, welche e_mail-Adresse bei ID 121 eingegeben ist!!
 
Zurück