Kommentar-Funktion unter den Bildern

  • Themenstarter Themenstarter Blümchen
  • Beginndatum Beginndatum
Re: Kommentar Funktion unter den Bildern!

Hallo,

das habe ich doch gerade gesagt, dass ich das auch schon habe. Ich habe dein Script genommen und die Felder die ich anderes hatte in dem Fomular die habe ich dann so angepasst, dass die gleich sind wie das Script!

Gruß Blümchen
 
Re: Kommentar Funktion unter den Bildern!

Sonst probier mal Folgendes:
PHP:
<?php

	…

	// Einstellungsänderungen zur Erhöhung der Fehlersensibilität
	ini_set('display_errors', 1);
	ini_set('error_reporting', E_ALL);

	define('CRLF', chr(0x0D).chr(0x0A));

	if( isset($_POST['sendmail']) && !empty($_POST['mailto']) && !empty($_POST['subject']) && !empty($_POST['message']) && isset($_POST['bildid'])) {
		$query = "
			SELECT
			        *
			  FROM
			        `bilder`
			  WHERE
			        `id` = '".intval($_POST['bildid'])."'
			";
		$result = mysql_query($query);
		$row = mysql_fetch_assoc($bilder, MYSQL_ASSOC);


		$boundary = md5(uniqid());
		$header_fields = array(
			'MIME-Version: 1.0',
			'Content-Type: multipart/mixed; boundary='.$boundary,
			'From: user@example.net'
		);
		$header = join(CRLF, $header_fields);
		$header .= CRLF.CRLF.'--'.$boundary;

		$header_fields = array(
			'Content-Type: text/plain; charset=iso-8859-1',
			'Content-Transfer-Encoding: quotet-printable'
		);
		$header .= CRLF.CRLF.join(CRLF, $header_fields);
		$header .= CRLF.CRLF.imap_8bit($_POST['message']);
		$header .= CRLF.CRLF.'--'.$boundary;

		$image_mimetype = ( getimagesize($row['dateiname']) !== false )
			? end(getimagesize($row['dateiname']))
			: 'application/octet-stream';
		$header_fields = array(
			'Content-Type: '.$image_mimetype,
			'Content-Transfer-Encoding: base64',
			'Content-Disposition: attachment; filename="'.basename($row['dateiname']).'"'
		);
		$header .= CRLF.CRLF.join(CRLF, $header_fields);
		$header .= CRLF.CRLF.chunk_split(base64_encode(file_get_contents($row['dateiname'])));
		$header .= CRLF.CRLF.'--'.$boundary;

		$header .= '--';

		imap_mail($_POST['mailto'], $_POST['subject'], '', $header);

	}

?>
Ich hoffe, es funktioniert, denn es ist ungetestet.
 
Re: Kommentar Funktion unter den Bildern!

Du hast scheinbar nicht alles identisch angepasst, da ja ansonsten die Bedingungen erfuellt waeren.
Zeig nochmal die Form und das Mailscript.
 
Re: Kommentar Funktion unter den Bildern!

Hallo,

das ist das sendpic Script:

PHP:
<?php
if ((isset($_POST['sendmail'])) && (!empty($_POST['mailto'])) && (!empty($_POST['subject'])) && (!empty($_POST['message'])) && (isset($_POST['bildid'])))
    {
        $bilder=mysql_query("select * from bilder where id='".$_POST['bildid']."'");
        $bild=mysql_fetch_assoc($bilder);
        $message=imap_8bit($_POST['message']);
        $message.="\n\n";
        $message.="\t".imap_8bit("<<".$bild['dateiname'].">>");
        $boundary="----".md5(uniqid());
        $email="";
        $email.="Content-class: urn:content-classes:message";
        $email.="\nUser-Agent: Bildmailer";
        $email.="\nMIME-Version: 1.0";
        $email.="\nContent-Type: multipart/mixed;\n\tboundary=\"".$boundary."\"";
        $email.="\nFrom: ".$fromaddress;
        $email.="\nX-Priority: 3 (Normal)";
        $email.="\nImportance: Normal";
        $email.="\n\n--".$boundary;
        $email.="\nContent-Type: text/plain;\n\tcharset=\"iso-8859-1\"";
        $email.="\nContent-Transfer-Encoding: quotet-printable";
        $email.="\n\n".$message;
        $email.="\n\n--".$boundary;
        $file=fopen("bilder/".$bild['dateiname'],"r");
        $content=fread($file,filesize("bilder/".$bild['dateiname']));
        fclose($file);
        $encodedfile=chunk_split(base64_encode($content));
        $email.="\nContent-Type: application/octet-stream;\n\tname=\"".$bild['dateiname']."\"";
        $email.="\nContent-Transfer-Encoding: base64";
        $email.="\nContent-Description: ".$bild['dateiname'];
        $email.="\nContent-Disposition: attachment;\n\tfilename=\"".$bild['dateiname']."\"";
        $email.="\n\n".$encodedfile."\n\n--".$boundary;
        $email.="--";
        imap_mail($_POST['mailto'],$_POST['subject'],"",$email);echo "Mail wurde verschickt"; 
    }
?>

und dasist das Formular:

PHP:
<th scope="col"><form name="form2" method="post" action="sendpic.php">
    <table width="100%" align="left" cellpadding="0" cellspacing="0">
      <tbody>
        <tr> </tr>
      </tbody>
      <tbody>
        <tr>
          <td colspan="2" height="12"><img src="../img/navigation/info.jpg" height="12" width="128"></td>
        </tr>
      </tbody>
      <tbody>
        <tr>
          <td width="1" background="../img/navigation/pixel.jpg" bgcolor="#A00608"><img src="../img/navigation/fake.gif" height="1" width="1"></td>
          <td width="301" valign="top">
            <table width="100%" height="10" border="0" cellpadding="4" cellspacing="2">
              <tbody>
                <tr>
                  <td width="31%"><p><strong>Empf&auml;nger</strong>:</p></td>
                  <td width="38%"><input name="mailto" id="kommentar22" size="25" class="chatfields" type="text"></td>
                  <td width="31%"><input name="sendmail" type="submit" class="chatfields" id="go23" value="Mail">
                    <input type="hidden" name="gesendet2" value="ok" /></td>
                </tr>
                <tr valign="middle">
                  <td height="33">
                    <p><strong>Nachricht:</strong></p></td>
                  <td height="33" colspan="2"><textarea name="message" cols="37" rows="6" wrap="VIRTUAL" class="chatfields" id="textarea2"></textarea></td>
                </tr>
              </tbody>
          </table></td>
          <td width="4">&nbsp;</td>
        </tr>
        <tr>
          <td colspan="2" background="../img/navigation/pixel.jpg" bgcolor="#A00608" height="1"><img src="../img/navigation/fake.gif" height="1" width="1"></td>
        </tr>
      </tbody>
    </table>
  </form></th>

Gruß Blümchen
 
Re: Kommentar Funktion unter den Bildern!

Das Hidden-Feld "gesendet2" ist ueberfluessig.
Das Hidden-Feld "bildid" fehlt.
Das Text-Feld "subject" fehlt.
 
Re: Kommentar Funktion unter den Bildern!

Hallo,

so hier nochmals er Code:

PHP:
<form name="form2" method="post" action="sendpic.php">
    <table width="100%" align="left" cellpadding="0" cellspacing="0">
      <tbody>
        <tr> </tr>
      </tbody>
      <tbody>
        <tr>
          <td colspan="2" height="12"><img src="../img/navigation/info.jpg" height="12" width="128"></td>
        </tr>
      </tbody>
      <tbody>
        <tr>
          <td width="1" background="../img/navigation/pixel.jpg" bgcolor="#A00608"><img src="../img/navigation/fake.gif" height="1" width="1"></td>
          <td width="301" valign="top">
            <table width="100%" height="10" border="0" cellpadding="4" cellspacing="2">
              <tbody>
                <tr>
                  <td width="31%"><p><strong>Empf&auml;nger</strong>:</p></td>
                  <td width="38%"><input name="mailto" id="kommentar22" size="25" class="chatfields" type="text"></td>
                  <td width="31%"><input name="sendmail" type="submit" class="chatfields" id="go23" value="Mail">
				  <input type="hidden" name="bildid" value="<?php echo $idx_bild; ?>">
                    </td>
                </tr>
                <tr valign="middle">
                  <td height="33">
                    <p><strong>Nachricht:</strong></p></td>
                  <td height="33" colspan="2"><textarea name="message" cols="37" rows="6" wrap="VIRTUAL" class="chatfields" id="textarea2"></textarea></td>
                </tr>
              </tbody>
          </table></td>
          <td width="4">&nbsp;</td>
        </tr>
        <tr>
          <td colspan="2" background="../img/navigation/pixel.jpg" bgcolor="#A00608" height="1"><img src="../img/navigation/fake.gif" height="1" width="1"></td>
        </tr>
      </tbody>
    </table>
  </form>

Das Feld

Das Text-Feld "subject" fehlt.

das stimmt das habe ich raus genommen weil man das nicht braucht für was auch? Man muss ja kein Betreff eingeben, der muss immer gleich sein also der könnte im Hintergrund eingefügt werden.

Gruß Blümchen
 
Re: Kommentar Funktion unter den Bildern!

Wenn Du das Feld "subject" entfernst musst Du im Script auch die Bedingung, dass es nicht leer ist rausnehmen.
Oder mach ein Hidden mit voreingestelltem Wert draus.
 
Re: Kommentar Funktion unter den Bildern!

Hallo,

gut das ganze sieht nun so aus:

PHP:
<?php
if ((isset($_POST['sendmail'])) && (!empty($_POST['mailto']))&& (!empty($_POST['message'])) && (isset($_POST['bildid'])))
    {
        $bilder=mysql_query("select * from bilder where id='".$_POST['bildid']."'");
        $bild=mysql_fetch_assoc($bilder);
        $message=imap_8bit($_POST['message']);
        $message.="\n\n";
        $message.="\t".imap_8bit("<<".$bild['dateiname'].">>");
        $boundary="----".md5(uniqid());
        $email="";
        $email.="Content-class: urn:content-classes:message";
        $email.="\nUser-Agent: Bildmailer";
        $email.="\nMIME-Version: 1.0";
        $email.="\nContent-Type: multipart/mixed;\n\tboundary=\"".$boundary."\"";
        $email.="\nFrom: ".$fromaddress;
        $email.="\nX-Priority: 3 (Normal)";
        $email.="\nImportance: Normal";
        $email.="\n\n--".$boundary;
        $email.="\nContent-Type: text/plain;\n\tcharset=\"iso-8859-1\"";
        $email.="\nContent-Transfer-Encoding: quotet-printable";
        $email.="\n\n".$message;
        $email.="\n\n--".$boundary;
        $file=fopen("bilder/".$bild['dateiname'],"r");
        $content=fread($file,filesize("bilder/".$bild['dateiname']));
        fclose($file);
        $encodedfile=chunk_split(base64_encode($content));
        $email.="\nContent-Type: application/octet-stream;\n\tname=\"".$bild['dateiname']."\"";
        $email.="\nContent-Transfer-Encoding: base64";
        $email.="\nContent-Description: ".$bild['dateiname'];
        $email.="\nContent-Disposition: attachment;\n\tfilename=\"".$bild['dateiname']."\"";
        $email.="\n\n".$encodedfile."\n\n--".$boundary;
        $email.="--";
        imap_mail($_POST['mailto'],"",$email);echo "Mail wurde verschickt"; 
    }
?>

Gruß Blümchen

EDIT: So die Mail wird dennoch nicht verschickt!
 
Zuletzt bearbeitet von einem Moderator:
Re: Kommentar Funktion unter den Bildern!

Du hast imap_mail() verstuemmelt.
Ersetz mal
PHP:
 imap_mail($_POST['mailto'],"",$email);
durch
PHP:
 imap_mail($_POST['mailto'],"Bild","",$email);

Ausserdem kannst Du das echo hinter imap_mail auch ruhig in die naechste Zeile schieben. ;)

Ach ja, am Anfang des Scripts muss noch die Variable $fromaddress belegt werden.
 
Re: Kommentar Funktion unter den Bildern!

Hallo,

er gibt aber dennoch das Echo nicht aus. Das heißt also dass das alles nicht geht oder?

Gruß Blümchen
 
Zurück