That's what I am meaning
I need to upload some files or something
Or create some files with some php in
Can someone help me fix it please
Thanks
That's what I am meaning
I need to upload some files or something
Or create some files with some php in
Can someone help me fix it please
Thanks
Have you tried to create a standard poll without ajax?
Hi,
I tested the poll and get a javascript error. Looking at the javascript code it looks like you need to give the div that contains the poll code the id pollAjax, something like
<div id="pollAjax"><b>Favourite Mixtape?</b>
<form action="/" method="post" class="poll1">
<input type="hidden" name="pollNumber" value="26" />
<input type="radio" name="vote" value="1" onclick="javascript:requestContent('poll/poll.php?vote=1');" />Mixtape Messiah <br />
<input type="radio" name="vote" value="2" onclick="javascript:requestContent('poll/poll.php?vote=2');" />Mixtape Messiah 2 <br />
<input type="radio" name="vote" value="3" onclick="javascript:requestContent('poll/poll.php?vote=3');" />Mixtape Messiah 3 <br />
</form></div>
Just a guess...
Thomas
benracer wrote:Have you tried to create a standard poll without ajax?
Yes, but I couldn't find one that would refresh the page automatically as soon as someone votes
tsinka wrote:Hi,
I tested the poll and get a javascript error. Looking at the javascript code it looks like you need to give the div that contains the poll code the id pollAjax, something like
<div id="pollAjax"><b>Favourite Mixtape?</b> <form action="/" method="post" class="poll1"> <input type="hidden" name="pollNumber" value="26" /> <input type="radio" name="vote" value="1" onclick="javascript:requestContent('poll/poll.php?vote=1');" />Mixtape Messiah <br /> <input type="radio" name="vote" value="2" onclick="javascript:requestContent('poll/poll.php?vote=2');" />Mixtape Messiah 2 <br /> <input type="radio" name="vote" value="3" onclick="javascript:requestContent('poll/poll.php?vote=3');" />Mixtape Messiah 3 <br /> </form></div>
Just a guess...
Thomas
Yes I know, but i don't know what could go in the "pollAjax"
What about displaying the current poll results ? The AJAX engine sends a request to poll/poll.php. Let the script save the vote and return a html snipplet that display the current poll results. Just the snipplet you would add to the div to display the current poll results.
The Ajax code you use replaces the contents of the element with id pollAjax with the content the php script returns/prints.
Sounds good
Do you think you could help me code it, because I don't really know how to
Thanks
How does the current poll.php look like (attach the file to your post) ?
I haven't got one
But I do have a "poll.js"
//create a XMLHttpRequest Object.
if(window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest(); // Firefox
} else {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); // Internet Explorer
}
//call this function with url of document to open as attribute
function requestContent(url) {
xmlhttp.open("GET",url,true);
xmlhttp.onreadystatechange = statusListener;
xmlhttp.send(null);
}
// statusListener function is called automatically whenever readystate value of XMLHttpRequest Object changes
// see xmlhttp.onreadystatechange =statusListener; statement above.
// When readystate is 1 = a loading state. When readystate is 4, content is loaded
function statusListener() {
/*
if (xmlhttp.readyState == 1) {
document.getElementById('pollAjax').innerHTML = "loading..";
}
*/
if (xmlhttp.readyState == 4) {
//xmlhttp.responseText is the content of document requested
document.getElementById('pollAjax').innerHTML = xmlhttp.responseText;
}
}
But I just don't have a clue what to add or were to start with this "poll.php"
Ok,
as a first step create a file named poll.php in the base directory (DOCUMENT_ROOT). Then change the javascript requests to use that poll.php script, like
javascript:requestContent('poll/poll.php?vote=1');"
to
javascript:requestContent('/poll.php?vote=1');"
Just to test add the following content to that poll.php script:
<?PHP
echo "you submitted: ".$_GET['vote']."<br>";
?>
Additionally, replace
<div><b>Favourite Mixtape?</b>
with
<div id="pollAjax"><b>Favourite Mixtape?</b>
You should then see "you submitted <vote>" in the poll div after selecting one of the radio buttons.
Ok thanks It worked great
But do you know a way how I can get it to be like this one here?
Thanks again
Do you have a database (MySQL) ? Create tables to store the votings.
Modify the poll.php script so that it takes the get parameter (es e.g. the id of the record that matches the selected item) and update the info in the database. Then select all neccessary data for the current poll from the tables and echo HTML a html snipplet that displays the data.
Thanks, but this is the bits I don't understand
Could you help me out with the coding please (I don't get what to put )
Also, yes I do have MYSQL
Edit: Will the MYSQL tables be something like this:
CREATE TABLE `results` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`option` varchar(255) NOT NULL,
`count` bigint(20) NOT NULL DEFAULT '0',
KEY `id` (`id`)
)
CREATE TABLE `ips` (
`ip` VARCHAR( 255 ) NOT NULL ,
`time` INT NOT NULL
)
Do you want to have more than one poll in the future ? In that case you should create a table with poll metadata.
What is the ip field for (TCP/IP address or something like that) ?
Yes I want to add more than one poll in the future
And I don't understand the IP thing