Jump to content

zhafran

Member
  • Posts

    10
  • Joined

  • Last visited

Posts posted by zhafran

  1. Thanks for your explanation, Ben :clap:

     

    One more thing to clear and this is because I always see the same variable in your code. So I get confuse whether it is same variable or the other one.

     

    Consider this line

     

    $_SESSION[$type][] = $value;

     

    and

     

    foreach($_SESSION[$alert] as $value)

     

    Both variable is same which is $value and both is an assignment to the same session (you mention earlier post). So this is just like confuse me a little bit :P

  2. Really? What I saw in the video you only set the variable like this :

     

    private $alertTypes;

     

    Or maybe I just missed seeing :P

     

    Ok enough for that part. Still not clear but better than before.

     

    I have one more question. This one is about getAlert()

     

    Consider this line :

     

    if (isset($_SESSION[$alert]))

     

    Is it the session come from this line :

     

    $_SESSION[$type][] = $value;

     

    If not, I need your explanation. Sorry to trouble you, Ben.

  3. Thanks for your reply :D Still staring at the codes to understand the real process. Hopefully the thing will clicks soon :P

     

    Ok when we say :

     

    $type = $this->alertTypes[0];

     

    What I understood right now is, we want to replace the $type with $this->alertTypes and put the node 0 to it. Like this :

     

    $type[0]

     

    Am I right?

  4. Hi there,

     

    I'm working on Ben Falk's PHP Login Using OOP & MVC and I need detailed explanation about this function :

     

    	function setAlert($value, $type = null)
    {
    	if ($type == '') 
    	{
    		$type = $this->alertTypes[0];
    	}
    	$_SESSION[$type][] = $value;
    }
    

     

    What really the use of the blank array and how it works really?

     

    Hopefully Ben or anybody can explain it deeply because I just a beginner here. Thanks!

  5. I imagine that it is caused by the empty space just after your renderForm function, but before the start of the next code:

     

    <?php } ?>
    
    <?php

    I believe that empty line is being sent to the browser as a space character, which will cause the header() error when you try to redirect. Try revising those lines to this:

     

    <?php } ?>
    <?php

    or you could just drop the unnecessary closing/opening PHP statements and go with this:

     

    <?php }
    

     

    Nah! The error all fixed now :lol: and I learned something new today :P

     

    Thanks a lot Ben! You're really the legend here :clap:

  6. I believe the line that is causing the issue is here:

     

    if ($firstname == NULL || $lastname = NULL) {

    You need to have two "=" next to that last statement, otherwise you are accidentally setting $lastname to null. Try this and get back to me -- it should fix your problem.

     

    Thanks Ben! The error gone already now :clap:

     

    One more thing, when I try to add new record, I got this error on records.php

     

    Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\test\crud-mysqli\records.php:42) in C:\xampp\htdocs\test\crud-mysqli\records.php on line 64

     

    Is it because the doctype that I use that cause this error?

  7. I'm home - but don't know php, sorry. I'm sure Ben will help you out as soon as he sees your question - unless on of our other PHP experts beats him to it.

     

    Thanks Andrea to spend your time replying my topic. Although you not answering my question but it's great to see some reply from expert in noob's thread like me :D

  8. Hello all,

     

    Currently I'm working with Ben Falk's tutorial on PHP CRUD Videos and I got my head spinning with some errors :blink:

     

    I'm stuck at video part 5 and below is my code (which I did based on the videos) for your reference (to help me :P ):

     

    <?php 
    
    include ('connect-db.php');
    
    function renderForm($first = NULL, $last = NULL, $error = NULL, $id = NULL) { ?>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title><?php if ($id != '') { echo "Edit Record"; } else { echo "New Record"; } ?></title>
    <link href="css/style.css" rel="stylesheet" type="text/css" />
    <script type="text/javascript" src="js/jquery.js"></script>
    <link rel="shortcut icon" href="images/favicon.ico" />
    </head>
    <body>
    <h1><?php if ($id != '') { echo "Edit Record"; } else { echo "New Record"; } ?></h1>
    
    <?php if($error != '') {
    echo "<div style='padding=4px; border=1px solid red; color:red'>" . $error . "</div";
    } ?>
    
    <form action="" method="post">
    <div>
    <?php if (!empty($id)) { ?>
    <input type="hidden" name="id" value="<?php echo $id; ?>" />
    <p>ID: <?php echo $id; ?></p>
    <?php } ?>
    
    <strong>First Name: *</strong> <input type="text" name="firstname" value="<?php echo $first; ?>" />
    <strong>Last Name: *</strong> <input type="text" name="lastname" value="<?php echo $last; ?>" />
    <p>* Required</p>
    <input type="submit" name="submit" value="Submit" />
    </div>
    </form>
    
    </body>
    </html>
    
    <?php } ?>
    
    <?php
    
    if (isset($_GET['id'])) {
    	// editing existing records
    	renderForm(NULL, NULL, NULL, $_GET['id']);
    } else {
    	// create new record
    	if (isset($_POST['submit'])) {		
    		$firstname = htmlentities($_POST['firstname'], ENT_QUOTES);
    		$lastname = htmlentities($_POST['lastname'], ENT_QUOTES);
    
    		if ($firstname == NULL || $lastname = NULL) {
    			$error = 'ERROR: Please fill in all the required field';
    			renderForm($firstname, $lastname, $error);
    		} else {
    			if ($stmt = $mysqli->prepare("INSERT players (firstname, lastname) VALUES (?,?)")) {
    				$stmt->bind_param("ss", $firstname, $lastname);
    				$stmt->execute();
    				$stmt->close();
    			} else {
    				echo "Error: Could not prepare SQL statement.";
    			}
    			header("Location: view.php");
    		}
    	} else {	
    		renderForm();		
    	}	
    }
    
    $mysqli->close();
    ?>

     

    And this is the error message I've got :

     

    Warning: mysqli_stmt::execute() [mysqli-stmt.execute]: (23000/1048): Column 'lastname' cannot be null in C:\xampp\htdocs\test\crud-mysqli\records.php on line 59
    
    Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\test\crud-mysqli\records.php:42) in C:\xampp\htdocs\test\crud-mysqli\records.php on line 64

     

    Hopefully someone can help me on this and your help will highly appreciated!

     

    Many thanks! ^_^

×
×
  • Create New...