Traevel 216 Light Poster

2015-01-12--1421092540_1051x112_scrot.png

Add clear:both; to the footer's css.

We can make a website for you in a breeze!

Oh the irony.

Traevel 216 Light Poster

Ditto, and well done indeed.

Traevel 216 Light Poster

Yes he did. I just like his boldness in tractatus, claiming he had solved all philosophical problems. This is how it is, period, no need to waste more time on the subject. I'm not a big philosophy fan in my spare time, but that's one of the exceptions I didn't mind reading.

Traevel 216 Light Poster

If you know the environment you will be using has PHP 5.3 or greater you can leave out that custom implementation altogether.

Assuming $lastlogin['lastlogin'] is a correct Date format string you could suffice with doing something like:

$then = new DateTime($lastlogin['lastlogin']);
$now = new DateTime("now");
echo $then->diff($now)->format('%a days');

edit: you can follow this guide to get different outputs.

Traevel 216 Light Poster

if(! function_exists(date_diff) )

Basically, your date_diff function gets defined only if it doesn't yet exist. That way you'll ensure the presence of a date_diff function across different (older) PHP versions.

However, as you may have guessed, date_diff already exists within PHP since version 5.3 and probably does as well in your environment. As you can see, the existing date_diff requires at least two parameters. Your own implementation requires one (i.e. it's not solving the problem it's intended to solve, namely that of implementing a potentially missing date_diff function yourself).

If date_diff does not exist in a certain environment your version will be used and your call would be correct (with one parameter). However, if it does exist your implementation will not be used and your call is incorrect since the original function needs two parameters.

Traevel 216 Light Poster

The way you describe its usage would suggest that a reader seeing & expects something uncommon to happen in the right hand part. Whereas I always believed that seeing && would trigger that expectation.

It's a good reason to switch from default & to default && since I must admit I can't remember the last time I absolutely required that the second part would be tested, regardless of the first result.

The slight speed efficiency is something I found less important than readability. For tests where speed would begin to be a factor, in my former way of reasoning, I would have used && (and thus have warned the reader that a more resource intensive test was about to follow).

In summary, something about age, dogs and tricks.

Traevel 216 Light Poster

For the single-table syntax, the DELETE statement deletes rows from tbl_name and returns a count of the number of deleted rows.

What would be the use of a *?

Also, mysql_query is deprecated and the way you are using it is dangerous.

Traevel 216 Light Poster

document.getElementById('<%= rpwd%>').focus();

Why not just put "repeatpassword" there like you did on other occasions.

Also, you don't need a <script> block for every function. If you want to generate that part of the page you can put them in external files.

Traevel 216 Light Poster

That site has books that can be:

  1. Downloaded
  2. Bought on paper
  3. Read online

Did you even take the time to look at them? People can learn programming all on their own using quality books like that, your answer strongly suggests you are not one of those people.

Traevel 216 Light Poster

but I could not figure out how to test the value of the user input along with the isValid(String test) method

Why not use two? A number and a String would require different tests anyway. I would keep the scanner outside of it though, less confusing that way.

Something like:

String userinput;

// example with Strings

do{
    userinput = keyboard.nextLine();

    // do stuff here

}while(!isValidString(userinput));


// stuff inbetween


// example with numbers

do{
    userinput = keyboard.nextLine();

    // do stuff here

}while(!isValidNumber(userinput));

With validation methods something like:

private boolean isValidNumber(final String test){
    try{
        int number = Integer.parseInt(test);

        if(number < 2){

            // perhaps a printline here if you want to
            // inform the user, although a more proper way
            // would be to throw a custom exception holding
            // the error message. That way this method will
            // be even more "standalone" and could be used
            // by all sorts of classes to validate numbers
            // who can deal with the exceptions in their
            // own ways

            return false;
        }
    }catch(NumberFormatException e){

        // same thing about exceptions here

        return false;
    }

    // more tests here

    // all tests were passed so it must be valid
    return true;
}

private boolean isValidString(final String test){

    if(test == null | "".equals(test)){

        // again, same thing about exceptions

        return false;
    }

    // more tests here

    // all tests passed so it's valid
    return true;
}

In my opinion it's a good habit to get used to doing the (slightly unnatural …

Traevel 216 Light Poster

I would include relations in physical. Especially since they could be different due to the physical situation. A logical model is as detailed as you can get it without the physical implementation. In other words, whether you are designing for MySQL or Oracle should make no difference in the logical model. That will be covered in the physical model.

Traevel 216 Light Poster

Sounds homeworky so just a hint to get you started: it's all in the details.

There is also a physical model by the way.

Traevel 216 Light Poster

Sounds like something I read a while ago however the page is offline now (yey google cache).

FYI, it also shows a solution for the floating point issue (comma versus period based).

Never changed it in Apache directly, but you might get the info you need from here if you still want to.

Traevel 216 Light Poster

Regarding the JavaDoc, the @param and @return tags are not entirely filled with information. The convention is as follows:

/**
 * @param variableName Description that may contain multiple terms
 * @return A description that may contain multiple terms
 */

Also, it is common practice that the first sentence of the JavaDoc comment is a short sentence followed by a period.

/**
 * Short sentence that tells what this method does.
 * <p>
 * A longer description that can cover more than one
 * sentence and will provide extra information on the
 * method itself or usage of the method.
 */

Declaring the variables with comma's is possible but it doesn't help the reader who is interpretting your code. Also, when using this method to initialize mutable objects you can get unexpected behaviour as they would all refer to the same object instead of each receiving their own instance.

The bracket use is a choice. The only language I've ever heard it cause problems in is JavaScript where

bla bla {

}

would be preferred over

bla bla
{

}

But not in Java, so you can pick whichever one you like, just be consistent or it will be harder to read.

Not sure if it's your pasting in here or if it looks the same in your editor, but keep indentation consistent. So:

private void foo(){
    boolean bar = true;
    if(bar){
        // etc.
    }
}

instead of

private void …
Traevel 216 Light Poster

You could try following this tutorial if you don't want to do it from the HTML page. It requires a url though.

Traevel 216 Light Poster

Using this example I'm getting the entire page just fine, regardless of screen size.

The only thing I see happening is that dynamically sized elements (like the banner on their example page) get resized to fit the screen when a user resizes the screen, and are thus printed in their smaller size on the resulting image.

Edit: did you select the body element? It seems as if it's printing the contents of the element you select.

Traevel 216 Light Poster

Take a screenshot.

Or, use the new HTML5 canvas and a library like html2canvas.

Traevel 216 Light Poster

The easiest way would be jQuery-ui's Datepicker.

<script>
$(function() {
    $( "#datepicker" ).datepicker();
});
</script>

<input type="text" id="datepicker">

Even easier would be the HTML5 date input, but it's not yet widely supported and browser dependant. I believe it works in Chrome, but you'd exclude a lot of other browser types.

Traevel 216 Light Poster

Again, use jQuery to collect the user input and store it in your table. Then use the AJAX functions in jQuery to POST your table data to a PHP page that will store them in a database. Since I take it you don't want to add the information to the database until all the "row" inputs have been made.

Use the selectors and manipulators to retrieve the data from the inputs and attach them to the table. The add button you mentioned could then call the POST function and send the gathered data to your PHP page for database storage.

Traevel 216 Light Poster

Table and chair icons (large tables, small tables etc.) are a fixed size I take it? And a user can then drag them around to place them how they want them, add more/less of the icons. Are you using a coordinate or position system for those icons.. would it not be easier to store the icon positions in a database? In other words, if you have a 500x500 pixel square where icons can be placed a dragged. Would it not be so that small_table_1 is at (x40,y40), chair_1 at (x44,y42) and so on.. or are you not keeping coordinates at all?

For converting to PDF and back you'll probably need plugins, depending on what language you're using. There might even be a JavaScript solution. Converting back from PDF to HTML is going to be a bigger problem than from HTML to PDF I reckon, especially if you need high precision.

Traevel 216 Light Poster

What do you mean you can't alter the same page using PHP?

You can't run PHP code, have the user do something, then run some more PHP code on that page without refreshing/leaving the page. PHP is a serverside language.

I have a contact form that when submited just replaces the form with, "Your form has been submitted... blah blah blah". So I'm not sure what you mean by that.

That's either done by JavaScript, or because you are posting to the same page.

Change

action="echo htmlspecialchars($_SERVER["PHP_SELF"]);"> 

to

action=<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>

and you can handle POST data on that same page.

If you want to use jQuery I would suggest reading up on the post function it provides. It is not a bad idea to keep your logic separated from your form and layout. You can use jQuery's selectors and its manipulators for inserting the AJAX response into the form page.

Traevel 216 Light Poster

Are you running them after the elements have been loaded?

Traevel 216 Light Poster

You can't alter the same page using PHP since it runs on the server-side and not the client-side. You can have the page post to itself, which will refresh the page, then you can use that POST data.

You would have to make sure that when POST variables are empty you show the form, when POST variables are partially set you show the validation and when POST variables are all correctly set you show the entered data.

Another option would be to use AJAX to send the POST data to an external PHP page and handle its response with JavaScript.

Traevel 216 Light Poster
// short version
$('.pcon').each(function(){
         $(this).css('background-image',$(this).css('background-image').replace('/styles/SkyBoot/imageset/','/styles/SkyBoot/imageset/black/'));
    }
);

// long version for clarity
$('.pcon').each(function(){
        var el = $(this);
        var oldBackground = el.css('background-image');
        var newBackground = oldBackground.replace('/styles/SkyBoot/imageset/','/styles/SkyBoot/imageset/black/');
        el.css('background-image',newBackground);
    }
);

However, find/replace is not the best way to deal with alternating themes. You could save a lot of hassle like this even by using a different stylesheet for each theme.

Traevel 216 Light Poster

The implode() is failing because of $topuid not being an array which causes the mysql_query to fail and thus resulting in a false being stored in $userquery. Then, when mysql_fetch_array($userquery) is run it will fail because $userquery is a boolean and not a resource.

Which is why Tpojka said that $topuid should have been filled with data somewhere before the part that you posted. You'll have to go back further in order to spot the problem.

The fact that it's printing a "Your Inbox List is Empty" instead of an array seems to suggest that at some point the array should have been filled with inbox items, or that the script should have stopped before it reached this point but didn't.

As an FYI, if you google parts of the code you end up on a site where you can buy the code, and the comments on there do not look promising. Some mention the exact issue as you do and claim support has been discontinued by the developers. Furthermore, the use of mysql_query (instead of mysqli_query or PDO) is strongly discouraged, which brings into question the quality of the code you bought.

Traevel 216 Light Poster

Ah that makes sense since I would have to highlight something before copying it, making it seem to me as if it was quoting all the copied texts while it was actually quoting all the highlighted texts. Thanks.

Traevel 216 Light Poster

Every now and then I'm experiencing a rather alternating result when using the quote function. My ctrl-c's on that thread will be remembered and pasted (along with any selected text which is to be expected) all in one quote. Leading to something like this:

2015-01-07--1420647505_746x412_scrot.png

Where only the bottom (non quoted) part will be pasted on a regular ctrl-v. I noticed a double ctrl-c does not produce that result, unless the text is re-selected and copied again. However, after a quote action the ctrl-c memory seems purged which almost makes it look like it was intended behaviour. If so, it's just going to need some getting used to on my part I suppose. After a ctrl-c I often tend to change my mind and go for a smaller selection instead which would also serve the same purpose.

I don't remember this happening before a few weeks ago, but I'm often away for longer periods so it could have been like this for a while and I just missed the update on it.

On an unrelated note, as I'm watching the preview for this post to check for errors I'm getting some residual formatting:

2015-01-07--1420650502_773x424_scrot.png

Loving the attachment option by the way.

Traevel 216 Light Poster

But if i delete id 1 the view looks odd

That could be solved outside of the database, just print a number indicating the student is #1, #2, #3 etc. in the table (even though in the database the student can have a primary key of 26658). Then, if you don't print the student number in the next column but one or two over, it won't be confusing or look weird.

If roll no has no meaning then you could make it primary yes. But you can also add a new column, for instance key that acts as primary key and allows you to attach meaning to roll no.

If you actually need the table on your page to reflect the order of enrollment you could add a date_added column to your database and insert the current date during insertion. Then you can retrieve the results sorted by date_added and print numbers starting at 1, 2, 3 to indicate that order.

Traevel 216 Light Poster

What I gather from your question is that you want to alter the id of record #2 to match the id of record #1 after deleting record #1.

It's a best practice in relational database design to leave intelligence and meaning out of the primary key. It is also best practice to never modify a primary key after assigning it.

From your example I'm assuming you want to re-use a student number. Re-usable student numbers would have meaning and should therefore not be the primary key. The primary key should be a reference to a row in your table, not a reference to a student for an arbitrary period in time.

That problem would easily be solved by adding a new column for a primary key. However, what I don't understand is why you would delete a student then assign his/her student number to a student who is already enrolled. In general I don't think student numbers are supposed to change during a student's enrollment. You could give that number to the next student who enrolls, but even that seems unnecessary unless you expect an insane amount of students. For instance, if you gave out numbers with 7-9 digits, even with exclusion of certain numbers you would still have plenty left for new students.

But if this is just a mental exercise, what would you do with the student number of student #2? would that go to student #3? Or perhaps I misunderstood entirely.

Traevel 216 Light Poster

Try

.input-icon-wrapper {
    position: relative;
}
.input-icon-field {
    padding-left: 15px;    
}
.input-icon {
    position: absolute;
    top: 3px;
    left: 2px;
}

and

<div class="input-icon-wrapper">
    <span class="ui-icon ui-icon-person input-icon"></span>
    <input type="text"
           class="input-icon-field" 
           placeholder="Username" />
</div>

to get

2015-01-07--1420621621_202x32_scrot.png

Though you might want to consider using your own icons, or glyphicons for instance if you need more flexibility.

minitauros commented: Nice 'n simple :) +7
Traevel 216 Light Poster

I just can't find any helpful tutorials for writing that code.

Have you tried googling for "android proximity alert" and clicking the first result?

Traevel 216 Light Poster

I prefer Crunchbang as "lightweight" OS. Runs well on older model laptops and virtual machines. And since it's based on debian it has solid packages and plenty of support documentation. The latest version comes with a startup script for some basic applications and setups, and the menu has quick install shortcuts for several commonly used programs so there's not a lot of work required to get it started.

Or if you meant really tiny, KolibriOS fits on a floppy.
Word of warning though, you need at least 8MB of RAM to run this bad boy.

No idea if you can play counter strike on linux.

Traevel 216 Light Poster

But I am new be in seo so can suggest me which steps i wan't follow to improvement of site.

From your own website:

SEO & Web Marketing
Specializing in Business & Marketing Analysis, Search Engine Optimization tools, Google, Bing, Yahoo and Social Media outlets. Put your business or idea in front of YOUR clientele.
(...)
Internet marketing is technical, detailed work, but we offer what it takes to succeed.

Maybe you should hire yourself to solve it.

Traevel 216 Light Poster

A. No
B. That's not Java
C. The answer is the first result on Google no matter which part of that ancient question you search with, plagiarize away

Traevel 216 Light Poster

No one ever seems to mention semantics in these kinds of threads. Structural semantics, microdata, rich snippets, RDFa.

Google 1998 called, it wants the keywords meta tag back.

To take Daniweb and Udaipurweb14 as an example (since he is a brand new member and has a location in his name). Google already knows him, and semantics wise it knows he is meant as a person on Daniweb, and not the location Udaipur. In fact, Google even knows he is not just his own person here, but a person "representing" Daniweb, i.e. a user. Even better, it knows he performed an action, a write action to be more exact. Not asking a question mind you but giving an answer to a question.

Google_Structured_Data_Testing_Tool.png

So if you would search for "Buildings near Udaipurweb14" Google won't see this page as a good result, Udaipurweb14 is not a location here, he is a person. If it can't find any decent results where Udaipurweb14 is a location the user probably meant to search for "Buildings near Udaipur 14" since that is a real location and makes semantic sense.

How it knows he is a person here?

<span itemtype="http://schema.org/Person" itemscope="" itemprop="agent">
    <a dir="ltr" href="/members/1118209/udaipurweb14" itemprop="url">
</span>

Microdata.

<insert thread-mandatory not so discrete link to braggy seo website here>

Traevel 216 Light Poster

Not to beat a horse that's been decaying for the past two years but this sounds like a job for Node.js (trumpets blazing)

See the documentation on File System:

var fs = require('fs');
fs.readFile('/etc/passwd', function (err, data) {
  if (err) throw err;
  console.log(data);
});
Traevel 216 Light Poster

shows me a quick glimpse

That's the echo $v1's I put in to test the other time. Just delete both and it shouldn't print to screen anymore.

Traevel 216 Light Poster

You could have a click on a row call a function that will collect all the values in said row and insert them into the calculator fields. I would suggest using jQuery for ease and speed. You could use

  • selectors for selecting certain elements
  • .click() for registering a row click
  • .after() and .append() to attach new rows to a table
  • .val() for getting/setting the value of an input
  • .html() for getting/setting the inner html of an element (i.e. TD)

You could give every row a number and use that as an identifier for the click function, or you could use the keyword this to get the row element the click was made on.

Traevel 216 Light Poster

<!-- Mirrored from themes.shamsoft.net/flaty/extra_login.html by HTTrack Website Copier/3.x [XR&CO'2013], Fri, 27 Dec 2013 07:54:25 GMT -->

There's a reason it costs $17, someone spent time and effort making it.

Your problem, aside from the petty theft, lies with the session you haven't stored anything in. Try out basic stuff like that without using hundreds of (ripped off) lines, much easier to understand that way.

Traevel 216 Light Poster

You're overriding the $message with the HTML in $v1.

$message = $_POST["message"];

$v1 = "
<html>
<body>
<style>
#disclosure {font-size: 8px; color: #333;}
h1 {color:#000066;}
table {border:1px solid black;}
</style>
<img src= 'site.png' />
<table rules='all' style='border-color: #ffb300;' cellpadding='10' width='500px'>
<tr style='background: #ffb300;'><td><strong>Email Confirmation</strong>
<tr style='background: #fafafa;'><td>Hello <strong> $name</strong>, your message has been recieved! We will contact you shortly! <br><br>Best, <br>Me<br>An awesome person<br><br>Follow Us On:<br><a href='http://www.facebook.com'><img src='facebook_hover.png' width='18' height='18'></a><a href='http://twitter.com'><img src='twitter_hover.png' width='18' height='18'></a><a href='http://google.com'><img src='gplus_hover.png' width='18' height='18'></a><br><div id='disclosure' align='right'>©me™ All Rights Reserved 2014-2014 </div>
</table>
</body>
</html> ";

$message = $v1; 

Store $_POST['message'] in $user_message or something so you can use it for the CSV.

Traevel 216 Light Poster

Passing the parameter doesn't work or you don't know how? You should be able to just build a URL with ?'s and &'s in Java as you would normally.

URL url = new URL("http://mywebsite/myservice/fetchmesomething.php?parameter1=" + par1 + "&parameter2=" + par2);

Of course it would be better to encode the URL String first.

Depending on what it is your are sending/retrieving I would suggest creating a simple REST API (can be done in both PHP and Java) that will respond with either plain text, HTML, XML or JSON. Your app would send a request to a REST resource/service that corresponds to a certain task (CREATE, READ, UPDATE or DELETE). There are plenty of tutorials of such an API available on the internet.

I would also suggest reading (or at least skimming) the android tutorials regarding connectivity.

If you are not restricted to Java and feel more comfortable with HTML/CSS/JavaScript you could create the app using a platform like cordova, in which case you could handle the requests and responses using Ajax for instance.

Traevel 216 Light Poster

*forward slash

Traevel 216 Light Poster

@Traveal Sorry but i cant understand what you want to convey , Can you eloberate.

Just picked up where I left off yesterday, wasn't a response to something you said.

<M/> commented: Thanks :) +0
Traevel 216 Light Poster

@Traevel, i sent you a link to the page, idk if that will help

That is an interesting form layout, nice!

I took your updated code, after commenting out the mail and replacing with print (and self post again) it seems to work here, variables are correct although the second mail (as confirmation) has no variables in it except one that was wrong ($first_name instead of $name). When I run it I get the following result (fingers crossed for attachment to show up)

2014-12-28--1419773987_562x817_scrot.png

Here's the code, just uncomment the scripts and mail functions again.

  <?php 
    $name = $_POST["name"];
    $email = $_POST["email"];
    $phone = $_POST["phone"];
    $meeting_type = $_POST["meeting_type"];
    $time = $_POST["time"];
    $message = $_POST["message"];
    $to      = 'email@gmail.com';
    $subject = 'Contact Form Submission';

    $v1 = "
            <html> 
            <body> 
            <style>
                h1 {color:#000066;}
                table {border:1px solid black; background: #e3f0ff;}
            </style>
            <h1>Hello, this form has been submitted!</h1>
            <img src= 'logo.png' />
            <table rules='all' style='border-color: #ffb300;' cellpadding='10' width='500px'>
                <tr style='background: #ffb300;'><td><strong>First Name:</strong> $name</td>
                <tr style='background: #fafafa;'><td><strong>Email:</strong> $email</td>
                <tr style='background: #fafafa;'><td><strong>Phone:</strong> $phone</td>
                <tr style='background: #fafafa;'><td><strong>Reason for Contact:</strong> $meeting_type</td>
                <tr style='background: #fafafa;'><td><strong>Best Time to Contact:</strong> $time </td>   
                <tr style='background: #fafafa;'><td><strong>Comments:</strong> $message</td>
            </table>   
            </body> 
            </html> ";
    $message = $v1; 
    $headers  = "From: $from\r\n"; 
    $headers .= "Content-type: text/html\r\n"; 
    //mail($to, $subject, $message, $headers); 
    echo "Message has been sent..."; //Page RE DIRECT 
    echo $v1;
//******************************************************************************************************************************//

    $name = $_POST["name"];
    $email = $_POST["email"];
    $phone = $_POST["phone"];
    $phone = $_POST["phone"];
    $meeting_type = $_POST["meeting_type"];
    $time = $_POST["time"];
    $message = $_POST["message"];
    $subject = 'Message Confirmed!';
    $v1 = "
            <html> …
<M/> commented: Thanks :) +0
Traevel 216 Light Poster

all my code, aside from my css is pasted above

I pasted what you had in a test file, had it post to itself and indeed got some errors. Where you have things like id="email" type="text" value="email" you need to either add name="email" or change value to name if you haven't yet. But even if you did, there are two unknown variables in there $telephone on line 24 instead of $phone and $from instead of $email on line 32.

Also, you are printing the variables after the TD's which causes them to be printed outside of the table, above as it happens.

So all these

<td><strong>First Name:</strong> </td>$name

would need changing to get them to print inside the table.

But after that it prints over here.

I only tested up until the redirect line though and deleted the mail() lines, so beyond that I don't know.

Traevel 216 Light Poster

I ran a quick test, but it seems that id and name can really be the same. If I run this test form (which posts to the same page):

    <?php 
        if(isset($_POST['name'])){
            $name = $_POST['name'];
        }else{
            $name = "unknown";
        }
        echo "My name is $name";
    ?>

    <form action=<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?> method="post">
        Name: 
        <select id="name" name="name">
            <option value="aaa" selected>aaa</option>
            <option value="bbb">bbb</option>
            <option value="ccc">ccc</option>
        </select>
        <input type="submit">
    </form>

It will print My name is unknown if the variable is not set, if the user picks one of the names it will print My name is aaa (bbb, ccc).

The issets would go at the top, where you could still abort the script before sending mails and such.

Traevel 216 Light Poster

Not printing the variables, weird. Not really sure as to why, but I did however stumble on something about the risk of inserting a mail address like that while looking for similar issues. Does $v1 contain all the variable information if you printed it to screen instead of mailing? If not you could wrap the $_POST's with isset's to make sure they are all set properly. At least you'll figure out which ones aren't correctly set, if any.

if(isset($_POST['name'])){
    $name = $_POST['name'];
}else{
    echo "ruh roh"; 
}

Edit:
Perhaps it's somewhere in those long strings, an unescaped quote in a variable or something. You could rewrite it using the heredoc syntax to avoid all the quoting and escaping, if all else fails.

<M/> commented: hmm, interesting. +0
Traevel 216 Light Poster

They can have the same value, or be different, doesn't matter as long as you use the name for PHP's POST.

I read up a bit on it, and according to this post you can even store multiple checkboxes by giving them an array as a name. Like, if you wanted multiple timeslots they would all have the name time[] and you could collect them all in an array by using $times = $_POST['time'].

<M/> commented: Ahhhhh :P +10
Traevel 216 Light Poster

There's a nifty little css-only hide/show toggle snippet which uses a checkbox as a button to change the css of other elements when its state changes. That is if you want to avoid JavaScript, although I reckon you have a lot more riding on the JS than just that show/hide.

Are you making an app or mobile site? If you use something like Cordova you can create a website and then build/convert it to an app for all sorts of different platforms. You can then just fetch the video files from a server, or even have some local if you wanted to.

Traevel 216 Light Poster

I think he means $meeting_type = $_POST["meeting_type"] as the 5th one that needs a semicolon at the end.

And I think you have to use the name attribute instead of the id for identifying the element. So if the name of the selection is meeting_type you would get 1, 2, 3 and so on in the $_POST['meeting_type'].

<M/> commented: Gracias +0