AllSeoHelp.com
Search the Entire Site
  • PHP
  • JavaScript
  • CSS
  • HTML
Learn VBA & Macros in 1 Week!

PHP - Critique My Email Class

Full Excel VBA Course - Beginner to Expert

Critique My Email Class

View Content
I am in the process of building my own MVC framework (just to learn the concepts) and I decided to throw some libraries and helpers in the mix to make things more convenient. Below is my email helper in which I want to be able to use an array as the "to" part of the mail() function. I was wondering what everyone thought of my class and if I can improve upon it. Thanks!

Code: [Select]
<?php 
/**
 * To use this email class in it's most basic form:
 * 
 *  $to must be an array even if you are sending to only one recipient.
 *  You declare it like so:
 *  $to = array('recipient');
 *  or
 *  $to = array('one', 'two', 'three');
 * $sendMail = new Email($to, 'subject', 'message');
 *  if ($sendMail->send()) {
 *  // success
 *  } else {
 *  // failure
 *  }
 * 
 * To add various features (declare these before using $sendMail-send()):
 *  To add a CC address:
 *  $sendMail->setCC('email address');
 *  To add a BCC address:
 *  $sendMail->setBCC('email address');
 *  To set the from name:
 *  $sendMail->setFromName('name of sender');
 *  To set the from email:
 *  $sendMail->setFromEmail('email of sender');
 *  To set a content type (default is text/html):
 *  $sendMail->setContentType('content type');
 *  To set a charset (default is iso-8859-1):
 *  $sendMail->setCharset('charset');
 */

class Email
{

public $to = array();
public $subject;
public $message;
public $fromName;
public $fromEmail;
public $cc;
public $bcc;
public $contentType;
public $charset;
private $_headers;

public function __construct($to, $subject, $message) {
if (!is_null($to) && !is_array($to)) {
throw new Exception('The recipient names must be an array, even if there is only one recipient.');
}
if (is_null($to) || is_null($subject) || is_null($message)) {
throw new Exception('There must be at least one recipient, a subject, and a message.');
}
$this->to = $to;
$this->subject = $subject;
$this->message = $message;
}

public function setCC($cc = NULL) {
$this->cc = $cc;
}

public function setBCC($bcc = NULL) {
$this->bcc = $bcc;
}

public function setFromName($fromName = 'Website Name') {
$this->fromName = $fromName;
}

public function setFromEmail($fromEmail = 'admin@website.com') {
$this->fromEmail = $fromEmail;
}

public function setContentType($contentType = 'text/html') {
$this->contentType = $contentType;
}

public function setCharset($charset = 'iso-8859-1') {
$this->charset = $charset;
}

private function _setHeaders() {
$this->_headers = "Content-type: " . $this->contentType . "charset=" . $this->charset . "\r\n";
$this->_headers .= "From: " . $this->fromName . "<" . $this->fromEmail . "> \r\n";
if ($this->cc != NULL) {
$this->_headers .= "CC: " . $this->cc . "\r\n";
}
if ($this->bcc != NULL) {
$this->_headers .= "BCC: " . $this->bcc . "\r\n";
}
}

public function send() {
$this->_setHeaders();
$this->setFromName();
$this->setFromName();
$sent = FALSE;
foreach ($this->to as $recipient) {
if (mail($recipient, $this->subject, $this->message, $this->_headers)) {
$sent = TRUE;
continue;
}
}
if ($sent = TRUE) {
return TRUE;
} else {
return FALSE;
}
}

}



Full Excel VBA Course - Beginner to Expert

Similar Tutorials

Critique And Help Improve My Uri Class
Code Critique: Using $_get. Critique Bashing Welcome!
Email With Xampp Pear Email Class
Help With My Email Class.
Code Critique
Website Critique
My Php Assesment - Need Experienced Advice/critique
Isset Issue And Coding Critique
Getting Very Good I Think At Understanding Oop Critique Advice Needed Though!
Critique My Code Please. Say Nasty Things I Don't Care.
Critique My Php Scripts | All Criticism/sggestions/improvements Appreciated
Update Users Email Check If New Email Address Exist Expect For Current Email
How To Access Method Object In Base Class From Derived Class? Error In My Solut
Does A Class's Constructor Run When I Call A Static Method From Outside The Class?
Calling A Preexisting Instance Of A Class Inside Of Another Class?
Calling Class Properties / Methods From A Different Class' Method?
Ways Of Calling A Class's Method Inside Another Class
Calling Class When Class Name Is Build From Variables.
Call Method In Class B From Within Class A
Using One Class Method Inside Another Class... Not Sure On This Way I Have...



Learn VBA & Macros for Excel in 1 Week!



Critique And Help Improve My Uri Class

Similar Tutorials View Content
I am fairly comfortable with procedural PHP but when it comes to classes and OO I am learning.

I have written a small class to get all of the information from the URL. I am sure I have added my own style and broken about a million rules. I have already found places to improve this but I thought I would bounce it off everyone here before I started to make changes and started expanding it. I am also aware that there are classes that I can download that do this much better but I am trying to better understand how they work so I think this is a good start.

Can you just look it over and point out things that I have done wrong and give me some general pointers on how to improve it.
class uri extends mainframe{

	
private $path = null;
	
private $pathParse = array();
	
private $component = null;
	
private $view = null;
	
private $host = null;
	
private $dirDepth = null;
	
public  $queryString = array();
	

	
function __construct() {
	
	
$this->getHost();
	
	
$this->getPath();
	
	
$this->getView();
	
	
$this->getQueryString();
       
	

	
}
	
/*
	
 * Check to see if we are in the base folder
	
 */
	
function dirDepth($base) {
	
	
$this->dirDepth = config::DDEPTH + $base;
	
	

	
	
return $this->dirDepth;
	
}
	
/*
	
 * return the host address
	
 */
	
function getHost() {
	
	
$this->host = $_SERVER['HTTP_HOST'];
	
	

	
	
return $this->host;
	
}
	
/*
	
 * return the path information
	
 */
	
function getPath() {
	
	
$this->path = $_SERVER['REQUEST_URI'];
	
	

	
	
return $this->path;
	
}
	
/*
	
 * returns the query string in an array
	
 * 
	
 * I am sure this isn't the right way to do this
	
 * but it is working.
	
 */
	
function getQueryString() {
	
	
$this->getPath();
	
	
preg_match('/\?(.*)/', $this->path, $queryString);
	
	
if ($queryString == true) {
	
	
	
$queryPairs = array();
	
	
	
$queryString = (isset($queryString['1']) ? $queryString['1'] : null);
	
	
	
$queryPairs = explode('&', $queryString);
	
	
	
$queryStrings = array();
	
	
	
$pairs = array();
	
	
	
foreach ($queryPairs as $queryPairs) {
	
	
	
	
preg_match('/(.*)=(.*)/', $queryPairs, $pairs);
	
	
	
	
array_push($queryStrings, $pairs);
	
	
	
}
	
	
	
$key = array();
	
	
	
$value = array();
	
	
	
foreach ($queryStrings as $queryStrings) {
	
	
	
	
array_push($value, (isset($queryStrings['2']) ? $queryStrings['2'] : null));
	
	
	
	
array_push($key, (isset($queryStrings['1']) ? $queryStrings['1'] : null));
	
	
	
	

	
	
	
}
	
	
	
$this->queryString = array_combine($key, $value);
	
	
	

	
	
	
return $this->queryString;
	
	
}else{
	
	
	
unset($this->queryString);
	
	
}
	
}
	
/*
	
 * returns the path in an array and removes the query string
	
 */
	
function pathParse() {
	
	
self::getPath();
	
	
$this->pathParse = explode('/', $this->path);
	
	
$endCheck = preg_replace('/\?(.*)/','', array_pop($this->pathParse));
	
	
array_push($this->pathParse, $endCheck);
	
	
$this->pathParse = array_filter($this->pathParse);
	
	
if(!empty($this->pathParse)) {
	
	
	
return $this->pathParse;
	
	
}else{
	
	
	
unset($this->pathParse);
	
	
}
	
}
	
/*
	
 * returns the first part of the path
	
 */
	
function getComponent() {
	
	
self::pathParse();
	
	
self::dirDepth('1');
	
	
if(!empty($this->pathParse[$this->dirDepth])) {
	
	
	
$this->component = $this->pathParse[$this->dirDepth];
	
	

	
	
	
return $this->component;
	
	
}else{
	
	
	
unset($this->component);
	
	
}
	
}
	
/*
	
 * returns the second part of the path
	
 */
	
function getView() {
	
	

	
	
self::pathParse();
	
	
self::dirDepth('2');
	
	
if(!empty($this->pathParse[$this->dirDepth])) {
	
	
	
$this->view = $this->pathParse[$this->dirDepth];
	
	
	

	
	
	
return $this->view;
	
	
}else{
	
	
	
unset($this->view);
	
	
}
	
}
	
/*
	
 * Ummmmm need some help here for sure.
	
 */
	
function __destruct() {
	
}
}

$uri = new uri();

Thank you in advance for your help!



Code Critique: Using $_get. Critique Bashing Welcome!

Similar Tutorials View Content
As some of you know, I am still learning the fundamentals of good php code practice and have been working on a custom application for my own practice and personal schooling. My below code IS working as expected, but I wanted any ideas or critique on better, more secure, faster, etc methods of it.. Thanks for any input:

<?php
  
  $id = mysqli_real_escape_string($cxn, $_GET['id']);
  
  $city_name = mysqli_real_escape_string($cxn, $_GET['city_name']);
  
  $posts_by_city_sql = "SELECT id, city_id, title FROM postings WHERE city_id='$id'";
  
  $posts_by_city_results = (mysqli_query($cxn, $posts_by_city_sql)) or die("Was not able to grab the Postings!");
  
  $row_cnt = mysqli_num_rows($posts_by_city_results);
  if ($row_cnt == 0) {
      printf("We're sorry. There are %d postings in: <strong>$city_name</strong>", $row_cnt);
  } else {
      printf("Congratulations! There are %d postings in: <strong>$city_name</strong>", $row_cnt);
      echo "<ul>";
      while ($posts_by_city_row = mysqli_fetch_array($posts_by_city_results)) {
          echo "<li><a href='posting_details.php?id=$posts_by_city_row[id]'>$posts_by_city_row[title]</a></li>";
      }
      // end while loop
      echo "</ul>";
  }
  // end row_cnt if
  mysqli_free_result($posts_by_city_results);
  mysqli_close($cxn);
?>



Email With Xampp Pear Email Class

Similar Tutorials View Content
Hi,

I am working on php email functionality using pear with the help of below article.

http://www.cyberciti.biz/tips/howto-php-send-email-via-smtp-authentication.html

It is working fine.

But when I change "From" address other than my domain email address then it stop working.

for example

$headers["From"] = 'myname@mydomain.com'; --  working

$headers["From"] = 'myname@otherdomain.com'; - not working.

myname@otherdomain.com is working and I am able to send email separately.

Any idea about this problem.

-  Thanks


Help With My Email Class.

Similar Tutorials View Content
I am currently working on my email class, it works but I am do slight modifications to make it a little better.
Here is the function I am working on:

function addAccount($name, $email, $username, $password, $protocol, $port, $server){
if(!empty($name) && !empty($email) && !empty($username) && !empty($password) && !empty($protocol) && !empty($port) && !empty($server)){
echo $this->db->select(TBL_SMTP, "email", "email = '$email'")->numRows();// This line here returns -1
if($this->db->select(TBL_SMTP, "email", "email = '$email'")->numRows() == 0){
$name = ucwords(strtolower($name));
$email = strtolower($email);
$this->db->execute("INSERT INTO ".TBL_SMTP." (name, email, username, password, protocol, port, server) VALUES ('$name', '$email', '$username', '$password', '$protocol', '$port', '$server')");
return true;
}else
return false;
}
return false;
}


Notice the line I marked that said, this returns -1. Well I thought if it did not exist in the database, that it was suppose to return 0? Any help?

Oh here is my database class:
<?php
    class Database{
        var $mysqli, $result, $q, $affectedRows;
        function __construct($host, $user, $pass, $db){
            $this->mysqli = new MySQLi($host, $user, $pass, $db);
        }
        function execute($query, $error = false, $mode = MYSQLI_STORE_RESULT){
            $this->q = $query;
            if(!$error)
                $result = $this->mysqli->query($query, $mode);
            else
                $result = $this->mysqli->query($query, $mode) or die($this->mysqli->error);
                
            if(is_object($result) && $result instanceof MySQLi_Result){//if result is a object and is part of the mysqli class?
                $this->result = $result;
                $this->affectedRows = $this->result->num_rows;
            }else
                $this->affectedRows = $this->mysqli->affected_rows;
            return $this;
        }
        function fetchRow($mode = MYSQLI_ASSOC){
            return $this->result->fetch_assoc($mode);
        }
        function fetchAll($mode = MYSQLI_ASSOC){
            $row = $this->result->fetch_all($mode);
            return !empty($row) ? $row : array();//if not empty return row, else return an array?
        }
        function numRows(){
            return $this->affectedRows;
        }
        function delete($table, $where){
            return $this->execute("DELETE FROM ".$table." WHERE ".$where);
        }
        function deleteAll($table){
            return $this->execute("TRUNCATE ".$table);
        }
        function update($table, $set, $where){
            return $this->execute("UPDATE ".$table." SET ".$set." WHERE ".$where);
        }
        function select($table, $select = "*", $where = NULL){
            if(is_null($where))
                $where = "";
            return $this->execute("SELECT ".$select." FROM ".$table." ".$where);
        }
        function resetInc($table, $inc){
            $this->execute("ALTER TABLE ".$table." AUTO_INCREMENT = ".$inc);
        }
    }
    $db = new Database(DB_HOST, DB_USER, DB_PASS, DB_DB);
?>

Hey, Thanks guys!


Code Critique

Similar Tutorials View Content
Hi, I hope this is still a relevant topic here. I don't have a lot of coding experience and haven't studied it a college -- I'm just self taught hobbyist. I was wondering what your opinion is of the way I have structured my code and solved what I needed to do.

Any tips or feedback is greatly appreciated. Thanks.

Code: [Select]
<?php
$form_submission=$_POST["query"];
$lines = file('eo_dic.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); 
preg_match_all('/[\w\'\&#349;\&#265;\&#309;\&#365;\&#293;\&#348;\&#264;\&#308;\&#364;\&#292;]+|[,.;!"?-\s\\(\\)]/', $form_submission, $matches);

foreach ($matches[0] as $value){ 
  // Check if $value is a word or something else.
  if ($value == " " || $value == "," || $value == "." || $value == "(" || $value ==  ")" || $value == "!" || $value == "?" || $value == "-" || $value == ";" || $value == '"'){
    echo $value;
  }
  else { // $value is a word.
    $titleText = array(); // store results in array.
    foreach ($lines as $line){
      list($field1, $field2) = explode('=', $line);
      if (strcasecmp($field1, $value) == 0 || strcasecmp($field2, $value) == 0){ // Found string in DB.
        array_push($titleText, "$field1 = $field2"); // Store all finds in array before outputting.
      }
    }
    if (empty($titleText)) { // $value was not found -- array is empty.
      echo '<a name="translated" class="translated" title="Not found.">' . $value . '</a>';
    }
    else {
      $arrayOut = implode(" / ", $titleText); // output the results found in the search.
      echo '<a name="translated" class="translated" title="' . $arrayOut . '">' . $value . '</a>';
    }
  }
}
unset($value);
?>



Website Critique

Similar Tutorials View Content
Hi,   I have a built a website and I want to get some feedback from the members at this forum. I can't seem to post this topic in the Website Critique forum.   Thanks   Moved by Ch0cu3r
Edited by Ch0cu3r, 10 December 2014 - 06:25 AM.

My Php Assesment - Need Experienced Advice/critique

Similar Tutorials View Content
This is just my software assignment. We have to create a functioning vending machine. How does it look so far?



Code: [Select]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Vending Machine Assignment</title>
<link href="vending.css" rel="stylesheet" type="text/css" />
</head>
<body>

<div id="vending_machine_base">
<img src="vending_machine_base.gif" alt="Vending Machine Base" title="Vending Machine Base" />
</div>

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">

<p>Coke<input type="radio" name="item" value="Coke" /></p>
<p>Sprite<input type="radio" name="item" value="Sprite" /></p>
<p>Fanta<input type="radio" name="item" value="Fanta" /></p>
<input type="text" size="15" name="quantity" value="Enter quantity here" />
$<input type="text" value="Enter your financial balance." name="credit_input" size="23" />
<input type="submit" value="Submit" />

</form>

<?php
error_reporting(E_ALL);

// Cost of items
$coke_price = "1.25";
$sprite_price = "1.50";
$fanta_price = "1.75";

// Quantity of items
$coke_quantity = "7";
$sprite_quantity = "5";
$fanta_quantity = "3";

// Selected radio button into variable
$selected_item = $_POST['item'];

// Credit into variable
$credit = $_POST['credit_input'];

// If funds are less than price, dispay error message
if (($_POST['submit']) && ($selected_radio = 'coke') && ($credit >= $coke_price))
{ echo "You have purchased a $selected_item!"; } else { echo "You do not have sufficient funds to purchase a $selected_item."; }

if (($_POST['submit']) && ($selected_radio = 'sprite') && ($credit >= $sprite_price))
{ echo "You have purchased a $selected_item!"; } else { echo "You do not have sufficient funds to purchase a $selected_item."; }

if (($_POST['submit']) && ($selected_radio = 'fanta') && ($credit >= $fanta_price))
{ echo "You have purchased a $selected_item!"; } else { echo "You do not have sufficient funds to purchase a $selected_item."; }

// Item quantity
if (($_POST['submit']) && ($coke_quantity = 0))
{ echo ""; } else { echo "Coke resources depleted."; }

if (($_POST['submit']) && ($sprite_quantity = 0))
{ echo ""; } else { echo "Sprite resources depleted."; }

if (($_POST['submit']) && ($fanta_quantity = 0))
{ echo ""; } else { echo "Fanta resources depleted."; }

// Item cost subtracted from credit
if (($coke_quantity >= 1) && ($credit >= $coke_price))
{ $coke_price - $credit; } 

if (($sprite_quantity >= 1) && ($credit >= $sprite_price))
{ $sprite_price - $credit; } 

if (($fanta_quantity >= 1) && ($credit >= $fanta_price))
{ $fanta_price - $credit; } 

// Funds available
echo "Your current funds accumlate to $credit ";

?>

</body>
</html>



Isset Issue And Coding Critique

Similar Tutorials View Content
I'm developing my own CMS with a few functions and wanted to know how things are looking right now because I can't find a board for strickly CODING CRITIQUE so I put it in this board. There isn't a whole lot to go through. I know there is something wrong with my issets line but other than that just a general critique of how its shaping up?

manager.php

<?php
        session_start();

        require "dbconfig.php";
        require "functions.php";

        if ((isset($_POST['username'])) && (isset($_POST['password'])))
        {
                $username = $_POST{'username'};
                $password = SHA1($_POST{'password'});
                validate($username, $password);
        }
        elseif ((!(isset('username'))) && (!(isset('password'))))
        {
                require_once "login.php";
        }
        
        $username = stripslashes($username);
        $password = stripslashes($password);
        $username = mysql_real_escape_string($username);
        $password = mysql_real_escape_string($password);
        
        $sql="SELECT * FROM dbusers WHERE username='$username' and password='$password'";
        $result = mysql_query($sql);
?>




functions.php

<?php

// This page defines functions used by the login/logout process

function validate($username, $password)
{
    
}

?>


login.php

<?php
include_once ("globals.php");
?>

<html>
<head>
<title><?php echo $shortsitename; ?> EW Manager</title>
<link rel="stylesheet" type="text/css" href="<?php echo "$stylesheet"; ?>" />
</head>
<body>

<p id="backtosite"><a href="#" title="Are you lost?">&larr;&nbsp;Back to <?php echo $fedname ?></a></p>

<div id="login">
    <h1><?php echo $shortsitename; ?> Manager</h1>
    <form id="loginform" action="" method="POST">
        <p><label>Username<br /><input type="text" name="username" id="user_login" class="input" size="15"  /></label></p>
        <p><label>Password<br /><input type="password" name="password" id="user_pass" class="input" size="15" /></label></p>
        <p class="forgetmenot"><label><input name="rememberme" type="checkbox" id="rememberme" />&nbsp;Remember Me</label></p>
        <p class="submit">
        <input type="submit" value="Login" class="button-primary" />
        </p>
    </form>
</div>

</body></html>





Getting Very Good I Think At Understanding Oop Critique Advice Needed Though!

Similar Tutorials View Content
I am after some advice about doing some rather basic things that wouldnt really be done in OOP and see if there's a better way of doing this.

As I just said though I know this is not the required system just one displaying of a form but I think its really cool for just simplying OOP ( ), and I actually understand it, I always need to start off small, understand it all, before I start waffling will show you my code (in no way finished yet, as you can tell from some of the html elements but its principle works:

<?php
ini_set('display_errors',1);

class Form{

public $to;
public $user;
public $email;
public $subject;
public $comment;

function showForm(){
// displaying of form to the user:
echo <<<userform
<html>
<head>
<title>Jez's Contact Form</title>
</head>
<body>
<form id="contact" name="contact" method="post" action="{$_SERVER['PHP_SELF']}">
<label for="">Enter something:</label><input type="text" id="user"
</form>
</body>
</html>
userform;
}
}

if(!array_key_exists('submit',$_POST)) {

$myForm = new Form;

// now we construct the form:
$myForm->showForm();

// print_r($myForm);
}

?>

If a submit button in the form hasnt been hit, then show form, later on going to do and try out some validation, just wanted some advice before I get too big for my boots as such.

Any advice on improving it (obviously finishing my form off of course which is what I will do), but any further advice is greatly appreciated,
Jez.


Critique My Code Please. Say Nasty Things I Don't Care.

Similar Tutorials View Content
Hello,
My script below IS finally working, but I was hoping for some aggressive, anal comments for critique.

Keep in mind, I am developing for a php4 platform otherwise I would have used a newer php5 validation function.

<?php
  if (isset($_POST['btnSubmit'])) {
      $first_name = mysql_real_escape_string($_POST['fname']);
      $last_name = mysql_real_escape_string($_POST['lname']);
      $title = mysql_real_escape_string($_POST['title']);
      $company = mysql_real_escape_string($_POST['company']);
      $address1 = mysql_real_escape_string($_POST['address1']);
      $address2 = mysql_real_escape_string($_POST['address2']);
      $city = mysql_real_escape_string($_POST['city']);
      $zip = mysql_real_escape_string($_POST['zip']);
      $phone = mysql_real_escape_string($_POST['phone']);
      $fax = mysql_real_escape_string($_POST['fax']);
      $email = mysql_real_escape_string($_POST['email']);
      
      if (!preg_match("/^[A-Za-z' -]{1,75}$/", $first_name)) {
          $error[] = "Please enter a valid first name.";
      }
      
      if (!preg_match("/^[A-Za-z' -]{1,75}$/", $last_name)) {
          $error[] = "Please enter a valid last name.";
      }
  
  if ($first_name === $last_name && $first_name != "") {
          $error[] = "First Name and Last Name cannot be the same.";
      }
      
      if (!preg_match("/^[A-Za-z' -]{1,150}$/", $company)) {
          $error[] = "Please enter a valid company name.";
      }
      
      if (!preg_match("/^[A-Za-z' -.]{1,150}$/", $title)) {
          $error[] = "Please enter a valid Title.";
      }
      
      if (!preg_match("/^[A-Za-z0-9' - . ]{1,150}$/", $address1)) {
          $error[] = "Please enter a valid mailing address.";
      }
  
  if (!preg_match("/^[A-Za-z0-9' - . ]{1,150}$/", $city)) {
          $error[] = "Please enter a valid city.";
      }
  
  if (!preg_match("/^[0-9' - . ( ) ]{1,150}$/", $phone)) {
          $error[] = "Please enter a valid phone number.";
      }
  
  if (!preg_match("/^[0-9' - . ( ) ]{1,150}$/", $fax)) {
          $error[] = "Please enter a valid fax number.";
      }
      
      if (!preg_match("/([a-z][a-z0-9_.-\/]*@[^\s\"\)\?<>]+\.[a-z]{2,6})/i", $email)) {
          $error[] = "Please enter a valid email address in the format: start@middle.end.";
      }
      
      if (is_array($error)) {
          echo "<div id='errorWrapper'><h2>There are errors in your input. Please correct the following fields:</h2>";
          foreach ($error as $err_message) {
              echo "<span class='errorText'> >> $err_message" . "</span><br />";
          }
          echo "</div>";
          
          include('../includes/attendee_registration_form.php'); // this is the form
          exit();
      }
      
      else {
          include('../includes/attendee_registration_mailer.php'); // this send the email and populates the table
      }
  } else {
      include('../includes/attendee_registration_form.php'); // this is the form
      exit();
  }
?>


Critique My Php Scripts | All Criticism/sggestions/improvements Appreciated

Similar Tutorials View Content
All criticism/suggestions/improvements appreciated

Registration.php
Code: [Select]
<?php
$con = mysql_connect("localhost","","") or die(mysql_error());
mysql_select_db('Users');

if(isset($_COOKIE['ID_my_site'])) {
$cookie_username = mysql_real_escape_string(filter_input(INPUT_COOKIE, 'ID_', FILTER_SANITIZE_FULL_SPECIAL_CHARS));
$cookie_password = sha1($_COOKIE['Key_']);
$cookie_check = mysql_query("SELECT * FROM Users WHERE username = '$cookie_username'") or die(mysql_error());
$cookie_results = mysql_fetch_array($cookie_check);

if ($cookie_password == $cookie_results['Password']) {
echo "<div id=\"login_msg\">You are already logged on. Redirecting...</div><br />" && header("location:/index.php");
}
}

if(isset($_POST['submit'])) {
$Username = mysql_real_escape_string(filter_input(INPUT_POST, 'Username', FILTER_SANITIZE_FULL_SPECIAL_CHARS));
$Email = mysql_real_escape_string(filter_input(INPUT_POST, 'Email', FILTER_SANITIZE_FULL_SPECIAL_CHARS));
$Password = sha1($_POST['Password']);
$Password2 = sha1($_POST['Password2']);

if (!$Username | !$Email | !$Password | !$Passord2) {
echo "<div id=\"error_msg\">You did not complete all of the required fields, please try again.</div><br />";
}

if ($Password != $Password2) {
echo "<div id=\"error_msg\">Your passwords do not match, please try again.</div><br />";
}

$check_username = mysql_query("SELECT * FROM Users WHERE (Username = $Username)");
$result_username = mysql_fetch_row($check_username);
$check_email = mysql_query("SELECT * FROM Users WHERE (Email = $Email)");
$result_email = mysql_fetch_row($check_email);

if ($result_username == true) {
echo "<div id=\"error_msg\">The Username: '$Username', already exists. Please enter another username.</div><br />";
}

if ($result_email == true) {
echo "<div id=\"error_msg\">The Email Adress: '$Email', is already in our Database.</div><br />";
}

$sql = "INSERT INTO Users (Id, Username, Email, Password) VALUES ('', '$Username','$Email','$Password')";
$add_member = mysql_query($sql) or die(mysql_error());

if (mysql_query($add_member)) {
$week = time() + 604800; 
setcookie(ID_, $_POST['Username'], $week); 
setcookie(Key_, $_POST['Password'], $week);
echo "<div id=\"login_msg\">Successfully added to our Database.</div><br />"  &&  header ("location:/Login.php"); 
}

else {
echo "<div id=\"error_msg\">Invalid input.</div><br />"; 
}
}
?>

Login.php
Code: [Select]
<?php
include("db.php");

if(isset($_COOKIE['ID_my_site'])) {
$cookie_username = mysql_real_escape_string(filter_input(INPUT_COOKIE, 'ID_', FILTER_SANITIZE_FULL_SPECIAL_CHARS));
$cookie_password = sha1($_COOKIE['Key_']);
$cookie_check = mysql_query("SELECT * FROM Users WHERE username = '$cookie_username'") or die(mysql_error());
$cookie_results = mysql_fetch_array($cookie_check);

if ($cookie_password == $cookie_results['Password']) {
echo "<div id=\"login_msg\">You are already logged on. Redirecting...</div><br />" && header("location:/index.php");
}
}

if(isset($_POST['submit'])) { 
$Username = mysql_real_escape_string(filter_input(INPUT_POST, 'Username', FILTER_SANITIZE_FULL_SPECIAL_CHARS));
$Password = sha1($_POST['Password']);

if (!$Username | !$Password) {
echo "<div id=\"error_msg\">You did not complete all of the required fields, please try again.</div><br />";
}

$sql = "SELECT * FROM Users WHERE (Username, Password) = ('$Username', '$Password')";
$db_check = mysql_num_rows($sql) or die(mysql_error());

if (mysql_query($db_check)) {
$week = time() + 604800; 
setcookie(ID_, $cookie_username, $week); 
setcookie(Key_, $cookie_password, $week);
echo "<div id=\"login_msg\">Successfully Logged In.</div><br />"  &&  header ("location:/index.php");
}

elseif (($Username | $Password) != $db_check) {
echo "<div id=\"error_msg\">Invalid username or password, please try again.</div><br />";
}
}
?>

Logout.php
Code: [Select]
<?php
include("db.php");

if(isset($_COOKIE['ID_my_site'])) {
$cookie_username = mysql_real_escape_string(filter_input(INPUT_COOKIE, 'ID_', FILTER_SANITIZE_FULL_SPECIAL_CHARS));
$cookie_password = sha1($_COOKIE['Key_']);
$cookie_check = mysql_query("SELECT * FROM Users WHERE username = '$cookie_username'") or die(mysql_error());
$cookie_results = mysql_fetch_array($cookie_check);

if ($cookie_password != $cookie_results['Password']) {
header("location:/login.php");
}
else {
$past = time() - 604800; 
setcookie(ID_, gone, $past); 
setcookie(Key_, gone, $past); 
echo "<div id=\"error_msg\">Sucessfully logged out. Good Bye!</div><br />" && header ("location:/login.php");
}
} 

?>



Update Users Email Check If New Email Address Exist Expect For Current Email

Similar Tutorials View Content
i wanting users to be able to update there email address and check to see if the new email already exists. if the email is the same as current email ignore the check.
i have no errors showing up but if I enter a email already in the db it still accepts the new email instead of bringing the back the error message.
Code: [Select]
// email enterd from form //
$email=$_POST['email'];


$queryuser=mysql_query("SELECT * FROM members WHERE inv='$ivn' ") or die (mysql_error());
 while($info = mysql_fetch_array( $queryuser )) {
  $check=$info['email'];
 // gets current email //
}


if($check!=$email){
// if check not equal to $email check the new email address already exists//
$queryuser=mysql_query("SELECT * FROM members WHERE email='$email' ");
//$result=mysql_query($sql);
$checkuser=mysql_num_rows($queryuser);
if($checkuser != 0)
{
$error= "0";
header('LOCATION:../pages/myprofile.php?id='.$error.'');


}
}

cheers


How To Access Method Object In Base Class From Derived Class? Error In My Solut

Similar Tutorials View Content
I have mysqli object in Database class base:

[color=]database class:[/color]

class Database {
  private $dbLink = null;
  
  public function __construct() {
    if (is_null($this->dbLink)) {
      // load db information  to connect
      $init_array = parse_ini_file("../init.ini.inc", true);
      $this->dbLink = new mysqli($init_array['database']['host'],
                           $init_array['database']['usr'],
                           $init_array['database']['pwd'],
                           $init_array['database']['db']);
  
      if (mysqli_connect_errno()) {
        $this->dbLink = null;
      }
    }
  }

  public function __destruct() {
    $this->dbLink->close();
  }
}


Class derived is Articles where I use object dBLink in base (or parent) class and I can't access to mysqli methods (dbLink member of base class):

Articles class:

require_once ('./includes/db.inc');

class Articles extends Database{
  private $id,
              ....
              ....
             $visible = null;
  
  public function __construct() {
    // Set date as 2009-07-08 07:35:00
    $this->lastUpdDate = date('Y-m-d H:i:s');
    $this->creationDate = date('Y-m-d H:i:s');
  }
  
  // Setter
  ....
  ....

  // Getter
  ....
  ....

  public function getArticlesByPosition($numArticles) {
    if ($result = $this->dbLink->query('SELECT * FROM articles ORDER BY position LIMIT '.$numArticles)) {
      $i = 0;
      while ($ret = $result->fetch_array(MYSQLI_ASSOC)) {
        $arts[$i] = $ret;
      }
      $result->close();
      return $arts;
    }
  }
}


In my front page php I use article class:


include_once('./includes/articles.inc');
$articlesObj = new articles();
$articles = $articlesObj->getArticlesByPosition(1);
var_dump($articles);


[color=]Error that go out is follow[/color]

Notice: Undefined property: Articles::$dbLink in articles.inc  on line 89

Fatal error: Call to a member function query() on a non-object in articles.inc on line 89

If I remove constructor on derived class Articles result don't change 
Please help me


Does A Class's Constructor Run When I Call A Static Method From Outside The Class?

Similar Tutorials View Content

If a class has a constructor but also has a static method, if I call the static method does the constructor run so that I can use an output from the constructor in my static method?

--Kenoli


Calling A Preexisting Instance Of A Class Inside Of Another Class?

Similar Tutorials View Content
I have an existing instance of my class Database, now I want to call that instance in my Session class, how would I go about doing this?


Calling Class Properties / Methods From A Different Class' Method?

Similar Tutorials View Content
Hi

Can you call Class A's methods or properties from Class B's methods?

Thanks.


Ways Of Calling A Class's Method Inside Another Class

Similar Tutorials View Content
Ok. I know you can pass the object of a class as an argument. Example:


class A {
    function test() {
        echo "This is TEST from class A";
    }
}


class B {
    function __construct( $obj ) {
        $this->a = $obj;
    }

    function test() {
       $this->a->test();
    }

}


Then you could do:

$a = new A();
$b = new B($a);


Ok so that's one way i know of.

I also thought that you could make a method static, and do this: (assuming class A's test is 'static')

class B {
    function test() {
       A::test(); 
   }
}


But that is not working.


I'd like to know all possible ways of accomplishing this. Any hints are appreciated. thanks


Calling Class When Class Name Is Build From Variables.

Similar Tutorials View Content
Hi,

I need to be able to call a class based on variables.  E.G.

I would normally do:
Code: [Select]
$action = new pattern1()
but i would like to be able to do it dynamicaly:
Code: [Select]
$patNum = 1;
$action = new pattern.$patNum.()
Im wondering if that's possible?  If so what would the correct syntax be?

Many Thanks.


Call Method In Class B From Within Class A

Similar Tutorials View Content
I have two classes:

## Admin.php

<?php
class Admin
{
public function __construct()
{
include("Config.php");
}

/**
* deletes a client
* @returns true or false
*/
function deleteClient($id)
{
return mysql_query("DELETE FROM usernames WHERE id = '$id'");
}
}
?>


## Projects.php

<?php
class Projects
{
public function __construct()
{
include("Config.php");
$this->admin = $admin;
$this->dataFolder = $dataFolder;
}

/**
* Deletes a project
* @returns true or false
*/
function deleteProject($id)
{
$root  = $_SERVER['DOCUMENT_ROOT'];
$theDir  = $root . $this->dataFolder;
$sql  = mysql_query("SELECT * FROM projectData WHERE proj_id = '$id'");
while ($row = mysql_fetch_array($sql))
{
$mainFile = $row['path'];
$thumb = $row['thumbnail'];
if ($thumb != 'null')
{
unlink($theDir . "/" . substr($thumb,13));
}
unlink($theDir . "/" . substr($mainFile,13));
}
$delete = mysql_query("DELETE FROM projectData WHERE proj_id = '$id'");
$getDir = mysql_query("SELECT proj_path FROM projects WHERE id = '$id'");
$res = mysql_fetch_array($getDir);
rmdir($theDir . "/" . $res['proj_path']);
return mysql_query("DELETE FROM projects WHERE id = '$id'");
}
}
?>


How can I call deleteProject() from within Admin.php?


Using One Class Method Inside Another Class... Not Sure On This Way I Have...

Similar Tutorials View Content
Hi people!

class FirstOne{

public function FunctionOne($FirstInput){
//do stuff and output value
return $value1;
}

}


Then:-


class SecondOne{

public function FunctionTwo($AnotherInput){
//do stuff and output value
return $value2;
}

}


What I want to know is this, if I want to use FunctionOne() in Class SecondOne do I do it like this:-

(Assume as I have instantiated the first class using $Test = new FirstOne(); )


class SecondOne{

function SecondedFunction(){
global $Test;
return $Test->FunctionOne();
}

public function FunctionTwo($AnotherInput){
//do stuff and output value
return $value2;
}

public function FunctionThree(){

//some code here
$this->Test->SecondedFunction();<--I think as I can omit the $this-> reference
}
}


My point is: Do I have to do it this way or is there way of having this done through __construct() that would negate the need for a third party function?

I have a version working, I just think that it is a little convoluted in the way as I have done it, so I thought I would ask you guys.

Any help/advice is appreciated.

Cheers
Rw


Privacy