πρόβλημα με newsletter

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
Άβαταρ μέλους
stevebat
Script Master
Δημοσιεύσεις: 307
Εγγραφή: 05 Αύγ 2009 15:54
Επικοινωνία:

πρόβλημα με newsletter

Δημοσίευση από stevebat » 28 Μαρ 2010 23:33

Γεια σας εχω το εξής πρόβλημά εχω αυτον τον κωδικα για να στειλνω newsletter αλλα οταν στελνω e-mail μου ερχετε ετσι πχ

Κώδικας: Επιλογή όλων

<h1 style="text-align&#58; center; "><a href="http&#58;//bouzouste.info"><span style="color&#58; rgb&#40;255, 0, 0&#41;; ">dffhdf</span></a></h1>
 
<p style="text-align&#58; center; "><img alt="" src="http&#58;//bouzouste.info/news/editor/images/smiley/msn/regular_smile.gif" /></p>
 
<p>&nbsp;</p>
 
<p>&nbsp;</p>

τι μπορεί να φταίει?? Παρακάτω το αρχείο
admin.php

Κώδικας: Επιλογή όλων

<?php
  //load configuration
  require&#40;"config.php"&#41;;
  include 'fckeditor.php';
  //connect to database
  @mysql_connect&#40;$db_server,$db_user,$db_password&#41; or die&#40;"Database server connection failed. Check variables \$db_server, \$db_user and \$db_password in config.php"&#41;;
  @mysql_select_db&#40;$db_name&#41; or die&#40;"Selecting database failed. Check variable \$db_name in config.php"&#41;;
  
  //print header
  echo $header;
?>
<h1><?php echo $title; ?> - Administration</h1>
<hr>
<?php 
  $pwd = $_GET&#91;"pwd"&#93;;

  //simple login
  if&#40;isset&#40;$pwd&#41; && &#40;$pwd == $password&#41;&#41;&#123;
    $submit = $_POST&#91;"submit"&#93;;
    $submit_newsletter = $_POST&#91;"submit_newsletter"&#93;;
    $del = $_GET&#91;"del"&#93;;
	  
    //insert new address
    if&#40;isset&#40;$submit&#41;&#41;&#123;
      $name = $_POST&#91;"name"&#93;;
      $email = $_POST&#91;"email"&#93;;
      
      @mysql_query&#40;"INSERT INTO $db_table &#40;email,name&#41; VALUES &#40;'$email','$name'&#41;;"&#41;;
      
      //error occurred
      if&#40;@mysql_error&#40;&#41;&#41;&#123;
        ?><p>Inserting entry failed&#58; <?php echo @mysql_error&#40;&#41;; ?></p>
	<p><a href="javascript&#58;history.back&#40;&#41;;">Click here to go back.</a></p><?php
      //successful
      &#125;else&#123;
        ?><p>Entry has been inserted successfully. <a href="admin.php?pwd=<?php echo $pwd; ?>">Click here to continue.</a></p><?php
      &#125;
    //delete an entry
    &#125;else if&#40;isset&#40;$del&#41;&#41;&#123;
      @mysql_query&#40;"DELETE FROM $db_table WHERE id=$del;"&#41;;
      
      //error occurred
      if&#40;@mysql_error&#40;&#41;&#41;&#123;
        ?><p>Deleting entry failed&#58; <?php echo @mysql_error&#40;&#41;; ?></p>
	<p><a href="javascript&#58;history.back&#40;&#41;;">Click here to go back.</a></p><?php
      //successful
      &#125;else&#123;
        ?><p>Entry has been deleted successfully. <a href="admin.php?pwd=<?php echo $pwd; ?>">Click here to continue.</a></p><?php
      &#125;
    //send newsletter
    &#125;else if&#40;isset&#40;$submit_newsletter&#41;&#41;&#123;
      $sent = 0;
      $result = @mysql_query&#40;"SELECT name,email FROM $db_table ORDER BY email ASC;"&#41;;
      $subject = $_POST&#91;subject&#93;;
      $message = $_POST&#91;message&#93;;
      
      ?><p>Sending emails to ...</p>
      <ul><?php
      
      //send emails one by one
      while&#40;$row=@mysql_fetch_array&#40;$result&#41;&#41;&#123;
        $name = $row&#91;"name"&#93;;
        $email = $row&#91;"email"&#93;;
	
        ?><li><?php echo $name; ?> &#40;<?php echo $email; ?>&#41; ... <?php

        if&#40;@mail&#40;$email,$subject,$message,"From&#58; $admin \n"&#41;&#41;&#123;
          ?>sent<?php
          $sent++;
        &#125;else&#123;
          ?>failed<?php
	&#125;
	
	?></li><?php
      &#125;
      
      ?></ul>
      <p><strong><?php echo $sent; ?> emails sent.</strong> <a href="admin.php?pwd=<?php echo $pwd; ?>">Click here to continue.</a></p><?php
    //print forms
    &#125;else&#123;
       ?><h2>Send newsletter</h2>
       <form method="post" action="<?php echo $_SERVER&#91;"PHP_SELF"&#93;; ?>?pwd=<?php echo $pwd; ?>">
         <table>
           <tr>
             <td>Subject&#58;</td>
             <td><input type="text" name="subject" class="fixedwidth"></td>
           </tr>
           <tr>
             <td valign="top">Message&#58;</td>
             <td><?php

	// Automatically calculates the editor base path based on the _samples directory.
	// This is usefull only for these samples. A real application should use something like this&#58;
	// $oFCKeditor->BasePath = '/fckeditor/' ;	// '/fckeditor/' is the default value.
	$sBasePath = $_SERVER&#91;'PHP_SELF'&#93; ;
	$sBasePath = substr&#40; $sBasePath, 0, strpos&#40; $sBasePath, "_samples" &#41; &#41; ;
	$oFCKeditor = new FCKeditor&#40;'message'&#41; ;
	$oFCKeditor->Height = "500px";
	$oFCKeditor->Width = "730px"; 
	$oFCKeditor->BasePath	= $sBasePath ;
	$oFCKeditor->Value		= $signature ;
	$oFCKeditor->Create&#40;&#41; ;
?><? //<textarea name="message" cols="60" rows="20" class="fixedwidth"><?php //echo $signature; </textarea>?></td>
           </tr>
           <tr>
             <td>&nbsp;</td>
             <td><input type="submit" name="submit_newsletter" value="Send"></td>
           </tr>
         </table>
       </form>

       <h2>Add an email address</h2>
       <form action="<?php echo $_SERVER&#91;"PHP_SELF"&#93;; ?>?pwd=<?php echo $pwd; ?>" method="post">
         <table>
           <tr>
             <td>Name&#58;</td>
             <td><input type="text" name="name" value="" maxlength="255"></td>
           </tr>
           <tr>
             <td>Email address&#58;</td>
             <td><input type="text" name="email" value="" maxlength="255"></td>
           </tr>
           <tr>
             <td>&nbsp;</td>
             <td><input type="submit" name="submit" value="Submit"></td>
           </tr>
         </table>
       </form>

       <h2>Email addresses</h2>
       <table cellpadding="5" cellspacing="2">
         <tr class="header">
           <td><strong>Name</strong></td>
           <td><strong>Email address</strong></td>
           <td>&nbsp;</td>
         </tr>
         <?php
           $result = @mysql_query&#40;"SELECT * FROM $db_table ORDER BY email ASC;"&#41;;
	   $colored = false;

           while&#40;$row=@mysql_fetch_array&#40;$result&#41;&#41;&#123;
             $colored = !$colored;
             ?><tr<?php if&#40;$colored&#41;&#123; ?> class="colored"<?php &#125; ?>>
               <td width="200"><?php echo $row&#91;"name"&#93;; ?></td>
               <td width="200"><?php echo $row&#91;"email"&#93;; ?></td>
               <td><a href="<?php echo $_SERVER&#91;"PHP_SELF"&#93;; ?>?pwd=<?php echo $pwd; ?>&del=<?php echo $row&#91;"id"&#93;; ?>">remove</a></td>
             </tr><?php
	   &#125;
         ?>
       </table>
       <?php
    &#125;
  &#125;else&#123;
    //print login form
    echo $login;
  &#125;
  
  //print link to news
  ?><p align="right"><a href="index.php">Newsletter</a></p><?php
  
  //print footer
  echo $footer;

  //close database connection
  @mysql_close&#40;&#41;;
?>

sxsweb
Δημοσιεύσεις: 33
Εγγραφή: 14 Δεκ 2009 16:24

πρόβλημα με newsletter

Δημοσίευση από sxsweb » 29 Μαρ 2010 12:58

Αν προσπαθείς να στείλεις newsletter σε κώδικα html θα πρέπει να ορίσεις σωστά
τους headers για την συνάρτηση mail. Πρόσθεσε αυτό στους headers της mail:
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
και θα πρέπει να θέσεις το charset που χρησιμοποιείς.

Αν σου βγάλει μήνυμα ότι έχει στείλει ήδη τους headers, πρέπει να ρυθμίσεις το outpout buffering.

Αν πάλι θέλεις να στείλεις το μήνυμα ως απλό κείμενο πέρασε το πρώτα απο strip_tags()

Άβαταρ μέλους
stevebat
Script Master
Δημοσιεύσεις: 307
Εγγραφή: 05 Αύγ 2009 15:54
Επικοινωνία:

πρόβλημα με newsletter

Δημοσίευση από stevebat » 29 Μαρ 2010 13:30

ωχ ναι έχεις δίκιο φίλε τους είχα ξεχάσει τελείως τους headers !!!!
Ευχαριστώ πολύ!!

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες