הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   עזרה ב-JS + PHP (https://hosts.co.il/forums/showthread.php?t=20647)

BBman 25-04-06 20:27

עזרה ב-JS + PHP
 
שלום =]

אני משתמש בסקריפט של Eye-soft של ההוספת אפשרותף ועכשיו אני רוצה להכניס את הערכים אל תוך מערך, אני יודע php טוב אך אין לי מושג ב-js ואין לי מושג איך לשלוף הנתונים.

הקוד של הסקריפט הוא :

PHP קוד:

<!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>
<
script type="text/javascript">
function 
change(div,state) {
var 
len=(document.getElementById(div).childNodes.length)/2;
var 
i=0;
var 
inhtml='';
var 
values='';
var 
pos=0;
var 
type=(state=='add'?1:-1);
for (
i=0i<(len+type); i++) {
    if (
i!=len) {
        
values=document.getElementById(div).childNodes[pos].value;
    }

    
inhtml+='<input type="text" name="q'+i+'" value="'+values+'" /><br />';
    
pos=pos+2;
    
values='';

}
document.getElementById(div).innerHTML=inhtml;
}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1255" />
<title>HF...</title>
</head>

<body>
<a href="javascript:change('inputs','add')">Add</a> &nbsp; <a href="javascript:change('inputs','remove')">Remove</a>
<form name="pool" action="add_poll.php" method="post">
<div id="inputs"><input type="text" name="q1" /><br /><input type="text" name="q2" /><br /><input type="text" name="q3" /><br /></div>
<div style="margin: auto;"><input type="submit" value="Send" />
</form>
</body>
</html> 


בניה 25-04-06 21:23

ב"ה


ההצעה הכי טובה- תהפוך את הטופס לGET ותראה איך המשתנים נשלחים.

BBman 25-04-06 21:28

כך עשיתי , אך הבעיה היא שהם נשלחים ככה :

PHP קוד:

q0=op?q1=bla..... 

ואי אפשר לשלוף את זה ב-get שיתאים עצמו למס' שנשלח, כלומר , איך אפשר לעשות שה-get יקלוט את המשתנים ע"פ כמה שנשלחו, כלומר איך אני מציב את המשתנה של ה-js בתוך get של php ? כי ניסתי כבר רעיון זה.

בניה 25-04-06 22:02

ב"ה


אם אתה מתכוון שאתה רוצה גם את מספר האפשרויות שיש ולא רק את האפשרויות עצמן תשתמש בזה:
המשתנה totalnum שישלח יכיל את המספר.
PHP קוד:

<!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
<
script type="text/javascript"
function 
change(div,state) { 
var 
len=(document.getElementById(div).childNodes.length)/2
var 
i=0
var 
inhtml=''
var 
values=''
var 
pos=0
var 
type=(state=='add'?1:-1); 
for (
i=0i<(len+type); i++) { 
    if (
i!=len) { 
        
values=document.getElementById(div).childNodes[pos].value
    } 

    
inhtml+='<input type="text" name="q'+i+'" value="'+values+'" /><br />'
    
pos=pos+2
    
values=''

}
document.getElementById("totalnum").value=i
document.getElementById(div).innerHTML=inhtml

</script> 
<meta http-equiv="Content-Type" content="text/html; charset=windows-1255" /> 
<title>HF...</title> 
</head> 

<body> 
<a href="javascript:change('inputs','add')">Add</a> &nbsp; <a href="javascript:change('inputs','remove')">Remove</a> 
<form name="pool" action="" method="get"> 
<div id="inputs"><input type="text" name="q1" /><br /><input type="text" name="q2" /><br /><input type="text" name="q3" /><br /></div> 
<input type="hidden" name="totalnum" id="totalnum" value="3" />
<div style="margin: auto;"><input type="submit" value="Send" /> 
</form> 
</body> 
</html> 


BBman 25-04-06 22:19

בדיוק מה שהייתי צריך =]
תודה.

BBman 26-04-06 16:43

הכל עובד טוב ויפה חוץ מבאג מעצבן :

אחרי ששולחים, תמיד, אך תמיד רק 3 אפשרויות נכנסות, ואני יודע את הסיבה, אך אני לא יודע לתקנה, קשה יהיה לי להסביר, אז מי שיכול להתאים את הקוד לעצמו ולהריץ, יבורך =].


PHP קוד:

<Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
<html xmlns="http://www.w3.org/1999/xhtml">  
<head>  
<body>  

<script language="JavaScript">
<!-- more free scripts Here (www.Itzik1.co.il) -->
max_text_length = 20;
function checkTArea(area, max) {
    if (document.all && navigator.appVersion.indexOf("MSIE") != -1) {
        if ((window.event.keyCode == 32 || window.event.keyCode >= 64) &&
                area.value.length > max) {
            alert(+ max + " :מקסימום תווים");
            window.event.returnValue = false;
        }
    }
}
</script>


<script type="text/javascript">  
function change(div,state) {  
var len=(document.getElementById(div).childNodes.length)/2;  
var i=0;  
var inhtml='';  
var values='';  
var pos=0;  
var type=(state=='add'?1:-1);  
for (i=0; i<(len+type); i++) {  
    if (i!=len) {  
        values=document.getElementById(div).childNodes[pos].value;  
    }  

    inhtml+='<input type="text" name="q'+i+'" value="'+values+'" dir="rtl"/><br />';  
    pos=pos+2;  
    values='';  


document.getElementById("totalnum").value=i;  
document.getElementById(div).innerHTML=inhtml;  
}  
function ip(i)
{
i=i+1;
}
</script>  
<meta http-equiv="Content-Type" content="text/html; charset=windows-1255" />  
<title>Blog - poll maker</title>  
</head>  


<Center>
<a href="javascript:change('inputs','add')">הוסף אפשרות</a> &nbsp; <a href="javascript:change('inputs','remove')">מחק</a>  
<form name="pool" action="" method="get">  
 : שאלת הסקר
<br><input type="text" name="name" dir="rtl" onkeydown="checkTArea(this, max_text_length)"></input><p />
: האפשרויות לסקר
<div id="inputs"><input type="text" name="q1" dir="rtl" /><br /><input type="text" name="q2" dir="rtl" /><br /><input type="text" name="q3" dir="rtl" /><br /></div>  
<input type="text" name="totalnum" id="totalnum" value="3"/> 
<div style="margin: auto;"><input type="submit" value="Send" onclick=ip(i)/>  
<?php
    
include("../includes/db.php");
    
$num    =    $_GET['totalnum']; 
    function 
trunc()    
            {
    
$trunc    =    mysql_query('TRUNCATE TABLE `polld`');
    
$truncp    =    mysql_query('TRUNCATE TABLE `poll`');
    
$blank    =    mysql_query("INSERT INTO `polld` (`blank`) VALUES ('default') ");
        
    }

    function 
getting($num)        {
    
trunc();
    @
$name    =     $_GET['name']; 

                    {
    for(
$i=1;$i<=$num;$i++)    
                {
    
    
$quest    =    $_GET["q".$i];
    
$update    =    mysql_query " UPDATE `polld` SET `option$i`='$quest' ,`name`='$name'") or die(mysql_error());
                }

                    }

                        }    
getting($num);

?>    

</form>  
<p><font size="1" face="Arial">JS by&nbsp;<a href="http://eyesoft.co.il/">eyesoft</a>
</body>  
</html>



כל הזמנים הם GMT +2. הזמן כעת הוא 16:51.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ