Un Evento Unico. 5 Sale. 27 Interventi. SEO, SOCIAL, E-Commerce, Mobile, Turismo.
CLICCA QUI e SCOPRI DI PIù X Chiudi
 
Forum GT: Condividiamo idee e conoscenza Forum GT: Condividiamo idee e conoscenza


Condividi questo contenuto nei Social Network:
Ti stiamo aspettando: Registrati subito e gratis. Entra a far parte di una delle comunità più attive in Italia. Se hai dimenticato i tuoi dati li puoi recuperare subito.


Vai indietro   Forum per Webmaster: Condividiamo Idee e Conoscenza > Sviluppo e Gestione siti web > Php - Mysql
Benvenuto! Forum Regole FAQ Lista utenti Calendario Segna come letti


Rispondi
 
LinkBack Strumenti di discussione
Vecchio 21-12-07, 20:06   #1 (permalink)
User
 
Data di registrazione: Feb 2007
Messaggi: 121
Meeting Room Booking System (MRBS)

Ciao a tutti
qualcuno conosce l'applicazione in oggetto ?
Non so se è OT per questo forum, ma il mio inglese zoppica e in rete poco ho trovato, mi servirebbe aiuto in italiano su un problema di inserimento dati in mysql, probabilmente un problema di array.
In sintesi ho aggiunto dei campi al DB e dei checkbox per l'inserimento di un valore si/no
solo che mi scrive nellatabella saltando completamente il primo insert
Chi mi può aiutare?

grazie e auguri a tutti

linno non in linea   Rispondi citando
Vecchio 21-12-07, 22:34   #2 (permalink)
Moderatore
 
L'avatar di massimux
 
Data di registrazione: Apr 2006
Ubicazione: Napoli
Messaggi: 764
Invia un messaggio tramite MSN a massimux Invia un messaggio tramite Skype a massimux
posta un po' di codice per aiutarci a capire
__________________
Perchè non ti fermi?
Da bravo Moderatore, Modero con Moderazione il Moderabile
massimux non in linea   Rispondi citando
Vecchio 21-12-07, 22:55   #3 (permalink)
User
 
Data di registrazione: Feb 2007
Messaggi: 121
mi spiego

tutto ruota intorno a 3 pagine
edit_entry.php, edit_entry_handler.php e mrbs_sql.inc alla prima ho aggiunto 8 checkbox con valore si/no per dei servizi aggiuntivi.
ho creato i campi nel DB con valore "varchar", 2 - ho inserito i nome campo ne file inc e.. funziona! ma con un difetto, il check (8) inserisce nel (7) e cosi via fino ad arrivare al primo (1) che perde il valore e il campo (8) rimane vuoto.. come se scartasse tutto l'inserimento di un campo!!!!

se invece modifico la prenotazione con la stessa edit_entry.php funziona perfettamente!!! ????

posto un rar delle pagine e metto in chiaro la pagina edit

grazie

---- PAGINA------

Codice PHP:
<?php
# $Id: edit_entry.php,v 1.30.2.4 2007/02/13 12:53:24 jberanek Exp $
require_once('grab_globals.inc.php');
include 
"config.inc.php";
include 
"functions.inc";
include 
"$dbsys.inc";
include 
"mrbs_auth.inc";
global 
$twentyfourhour_format;
#If we dont know the right date then make it up
if(!isset($day) or !isset($month) or !isset($year))
{
$day date("d");
$month date("m");
$year date("Y");
}
if(empty(
$area))
$area get_default_area();
if(!isset(
$edit_type))
$edit_type "";
if(!
getAuthorised(1))
{
showAccessDenied($day$month$year$area);
exit;
}
# This page will either add or modify a booking
# We need to know:
# Name of booker
# Description of meeting
# Date (option select box for day, month, year)
# Time
# Duration
# Internal/External
# Firstly we need to know if this is a new booking or modifying an old one
# and if it's a modification we need to get all the old data from the db.
# If we had $id passed in then it's a modification.
if (isset($id))
{
$sql "select name, create_by, description, start_time, end_time,
type, room_id, entry_type, repeat_id, lavf, lavl, proie, ampli, aconf, vconf, presi, puli from $tbl_entry where id=$id"
;

$res sql_query($sql);
if (! 
$resfatal_error(1sql_error());
if (
sql_count($res) != 1fatal_error(1get_vocab("entryid") . $id get_vocab("not_found"));

$row sql_row($res0);
sql_free($res);
# Note: Removed stripslashes() calls from name and description. Previous
# versions of MRBS mistakenly had the backslash-escapes in the actual database
# records because of an extra addslashes going on. Fix your database and
# leave this code alone, please.
$name $row[0];
$create_by $row[1];
$description $row[2];
$start_day strftime('%d'$row[3]);
$start_month strftime('%m'$row[3]);
$start_year strftime('%Y'$row[3]);
$start_hour strftime('%H'$row[3]);
$start_min strftime('%M'$row[3]);
$duration $row[4] - $row[3] - cross_dst($row[3], $row[4]);
$type $row[5];
$room_id $row[6];
$entry_type $row[7];
$rep_id $row[8];
$lavf $row[10];
$lavl $row[11];
$ampli $row[12];
$proie $row[13];
$aconf $row[14];
$vconf $row[15];
$presi $row[16];
$puli $row[17];
if(
$entry_type >= 1)
{
$sql "SELECT rep_type, start_time, end_date, rep_opt, rep_num_weeks
FROM $tbl_repeat WHERE id=$rep_id"
;

$res sql_query($sql);
if (! 
$resfatal_error(1sql_error());
if (
sql_count($res) != 1fatal_error(1get_vocab("repeat_id") . $rep_id get_vocab("not_found"));

$row sql_row($res0);
sql_free($res);

$rep_type $row[0];
if(
$edit_type == "series")
{
$start_day = (int)strftime('%d'$row[1]);
$start_month = (int)strftime('%m'$row[1]);
$start_year = (int)strftime('%Y'$row[1]);

$rep_end_day = (int)strftime('%d'$row[2]);
$rep_end_month = (int)strftime('%m'$row[2]);
$rep_end_year = (int)strftime('%Y'$row[2]);

switch(
$rep_type)
{
case 
2:
case 
6:
$rep_day[0] = $row[3][0] != "0";
$rep_day[1] = $row[3][1] != "0";
$rep_day[2] = $row[3][2] != "0";
$rep_day[3] = $row[3][3] != "0";
$rep_day[4] = $row[3][4] != "0";
$rep_day[5] = $row[3][5] != "0";
$rep_day[6] = $row[3][6] != "0";
if (
$rep_type == 6)
{
$rep_num_weeks $row[4];
}

break;

default:
$rep_day = array(0000000);
}
}
else
{
$rep_type $row[0];
$rep_end_date utf8_strftime('%A %d %B %Y',$row[2]);
$rep_opt $row[3];
}
}
}
else
{
# It is a new booking. The data comes from whichever button the user clicked
$edit_type "series";
$name "";
$create_by getUserName();
$description "";
$start_day $day;
$start_month $month;
$start_year $year;
$lavf $lavf;
$lavl $lavl;
$ampli $ampli;
$proie $proie;
$aconf $aconf;
$vconf $vconf;
$presi $presi;
$puli $puli;
// Avoid notices for $hour and $minute if periods is enabled
(isset($hour)) ? $start_hour $hour '';
(isset(
$minute)) ? $start_min $minute '';
$duration = ($enable_periods 60 60 60);
$type "I";
$room_id $room;
unset(
$id);
$rep_id 0;
$rep_type 0;
$rep_end_day $day;
$rep_end_month $month;
$rep_end_year $year;
$rep_day = array(0000000);
}
# These next 4 if statements handle the situation where
# this page has been accessed directly and no arguments have
# been passed to it.
# If we have not been provided with a room_id
if( empty( $room_id ) )
{
$sql "select id from $tbl_room limit 1";
$res sql_query($sql);
$row sql_row($res0);
$room_id $row[0];
}
# If we have not been provided with starting time
if( empty( $start_hour ) && $morningstarts 10 )
$start_hour "0$morningstarts";
if( empty( 
$start_hour ) )
$start_hour "$morningstarts";
if( empty( 
$start_min ) )
$start_min "00";
// Remove "Undefined variable" notice
if (!isset($rep_num_weeks))
{
$rep_num_weeks "";
}
$enable_periods toPeriodString($start_min$duration$dur_units) : toTimeString($duration$dur_units);
#now that we know all the data to fill the form with we start drawing it
if(!getWritable($create_bygetUserName()))
{
showAccessDenied($day$month$year$area);
exit;
}
print_header($day$month$year$area);
?>
<SCRIPT LANGUAGE="JavaScript">
// do a little form verifying
function validate_and_submit ()
{
// null strings and spaces only strings not allowed
if(/(^$)|(^\s+$)/.test(document.forms["main"].name.value))
{
alert ( "<?php echo get_vocab("you_have_not_entered") . '\n' get_vocab("brief_description"?>");
return false;
}
<?php if( ! $enable_periods ) { ?>
h = parseInt(document.forms["main"].hour.value);
m = parseInt(document.forms["main"].minute.value);
if(h > 23 || m > 59)
{
alert ("<?php echo get_vocab("you_have_not_entered") . '\n' get_vocab("valid_time_of_day"?>");
return false;
}
<?php ?>
// check form element exist before trying to access it
if( document.forms["main"].id )
i1 = parseInt(document.forms["main"].id.value);
else
i1 = 0;
i2 = parseInt(document.forms["main"].rep_id.value);
if ( document.forms["main"].rep_num_weeks)
{
n = parseInt(document.forms["main"].rep_num_weeks.value);
}
if ((!i1 || (i1 && i2)) && document.forms["main"].rep_type && document.forms["main"].rep_type[6].checked && (!n || n < 2))
{
alert("<?php echo get_vocab("you_have_not_entered") . '\n' get_vocab("useful_n-weekly_value"?>");
return false;
}
// check that a room(s) has been selected
// this is needed as edit_entry_handler does not check that a room(s)
// has been chosen
if( document.forms["main"].elements['rooms[]'].selectedIndex == -1 )
{
alert("<?php echo get_vocab("you_have_not_selected") . '\n' get_vocab("valid_room"?>");
return false;
}
// Form submit can take some times, especially if mails are enabled and
// there are more than one recipient. To avoid users doing weird things
// like clicking more than one time on submit button, we hide it as soon
// it is clicked.
document.forms["main"].save_button.disabled="true";
// would be nice to also check date to not allow Feb 31, etc...
document.forms["main"].submit();
return true;
}
function OnAllDayClick(allday) // Executed when the user clicks on the all_day checkbox.
{
form = document.forms["main"];
if (allday.checked) // If checking the box...
{
<?php if( ! $enable_periods ) { ?>
form.hour.value = "00";
form.minute.value = "00";
<?php ?>
if (form.dur_units.value!="days") // Don't change it if the user already did.
{
form.duration.value = "1";
form.dur_units.value = "days";
}
}
}
</SCRIPT>
<h2><?php echo isset($id) ? ($edit_type == "series" get_vocab("editseries") : get_vocab("editentry")) : get_vocab("addentry"); ?></H2>
<FORM NAME="main" ACTION="edit_entry_handler.php" METHOD="GET">
<TABLE width="80%" BORDER=0>
<TR><TD width="48" CLASS=CR><B><?php echo get_vocab("namebooker")?></B></TD>
<TD width="619" colspan="3" CLASS=CL><INPUT NAME="name" SIZE=40 VALUE="<?php echo htmlspecialchars($name,ENT_NOQUOTES?>"></TD></TR>
<TR><TD CLASS=TR><B><?php echo get_vocab("fulldescription")?></B></TD>
<TD colspan="3" CLASS=TL><TEXTAREA NAME="description" ROWS=8 COLS=40 WRAP="virtual"><?php echo
htmlspecialchars $description ); ?></TEXTAREA></TD></TR>
<TR><TD CLASS=CR><B><?php echo get_vocab("date")?></B></TD>
<TD colspan="3" CLASS=CL>
<?php genDateSelector(""$start_day$start_month$start_year?> </TD>
</TR>
<?php if(! $enable_periods ) { ?>
<TR><TD CLASS=CR><B><?php echo get_vocab("time")?></B></TD>
<TD colspan="3" CLASS=CL><INPUT NAME="hour" SIZE=2 VALUE="<?php if (!$twentyfourhour_format && ($start_hour 12)){ echo ($start_hour 12);} else { echo $start_hour;} ?>" MAXLENGTH=2>:<INPUT NAME="minute" SIZE=2 VALUE="<?php echo $start_min;?>" MAXLENGTH=2>
<?php
if (!$twentyfourhour_format)
{
$checked = ($start_hour 12) ? "checked" "";
echo 
"<INPUT NAME=\"ampm\" type=\"radio\" value=\"am\" $checked>".utf8_strftime("%p",mktime(1,0,0,1,1,2000));
$checked = ($start_hour >= 12) ? "checked" "";
echo 
"<INPUT NAME=\"ampm\" type=\"radio\" value=\"pm\" $checked>".utf8_strftime("%p",mktime(13,0,0,1,1,2000));
}
?></TD></TR>
<?php } else { ?>
<TR><TD CLASS=CR><B><?php echo get_vocab("period")?></B></TD>
<TD colspan="3" CLASS=CL>
<SELECT NAME="period">
<?php
foreach ($periods as $p_num => $p_val)
{
echo 
"<OPTION VALUE=$p_num";
if( ( isset( 
$period ) && $period == $p_num ) || $p_num == $start_min)
echo 
" SELECTED";
echo 
">$p_val";
}
?>
</SELECT></TD></TR>
<?php ?>
<TR><TD CLASS=CR><B><?php echo get_vocab("duration");?></B></TD>
<TD colspan="3" CLASS=CL><INPUT NAME="duration" SIZE=7 VALUE="<?php echo $duration;?>">
<SELECT NAME="dur_units">
<?php
if( $enable_periods )
$units = array("periods""days");
else
$units = array("minutes""hours""days""weeks");
while (list(,
$unit) = each($units))
{
echo 
"<OPTION VALUE=$unit";
if (
$dur_units == get_vocab($unit)) echo " SELECTED";
echo 
">".get_vocab($unit);
}
?>
</SELECT>
<INPUT NAME="all_day" TYPE="checkbox" VALUE="yes" onClick="OnAllDayClick(this)"><?php echo get_vocab("all_day"); ?></TD></TR>
 
<?php
# Determine the area id of the room in question first
$sql "select area_id from $tbl_room where id=$room_id";
$res sql_query($sql);
$row sql_row($res0);
$area_id $row[0];
# determine if there is more than one area
$sql "select id from $tbl_area";
$res sql_query($sql);
$num_areas sql_count($res);
# if there is more than one area then give the option
# to choose areas.
if( $num_areas ) {
?>
<script language="JavaScript">
<!--
function changeRooms( formObj )
{
areasObj = eval( "formObj.areas" );
area = areasObj[areasObj.selectedIndex].value
roomsObj = eval( "formObj.elements['rooms[]']" )
// remove all entries
for (i=0; i < (roomsObj.length); i++)
{
roomsObj.options[i] = null
}
// add entries based on area selected
switch (area){
<?php
# get the area id for case statement
$sql "select id, area_name from $tbl_area order by area_name";
$res sql_query($sql);
if (
$res) for ($i 0; ($row sql_row($res$i)); $i++)
{
print 
" case \"".$row[0]."\":\n";
# get rooms for this area
$sql2 "select id, room_name from $tbl_room where area_id='".$row[0]."' order by room_name";
$res2 sql_query($sql2);
if (
$res2) for ($j 0; ($row2 sql_row($res2$j)); $j++)
{
print 
" roomsObj.options[$j] = new Option(\"".str_replace('"','\\"',$row2[1])."\",".$row2[0] .")\n";
}
# select the first entry by default to ensure
# that one room is selected to begin with
print " roomsObj.options[0].selected = true\n";
print 
" break\n";
}
?>
} //switch
}
// create area selector if javascript is enabled as this is required
// if the room selector is to be updated.
this.document.writeln("<tr><td class=CR><b><?php echo get_vocab("areas"?>:</b></td><td class=CL valign=top>");
this.document.writeln(" <select name=\"areas\" onChange=\"changeRooms(this.form)\">");
<?php
# get list of areas
$sql "select id, area_name from $tbl_area order by area_name";
$res sql_query($sql);
if (
$res) for ($i 0; ($row sql_row($res$i)); $i++)
{
$selected "";
if (
$row[0] == $area_id) {
$selected "SELECTED";
}
print 
"this.document.writeln(\" <option $selected value=\\\"".$row[0]."\\\">".$row[1]."\")\n";
}
?>
this.document.writeln(" </select>");
this.document.writeln("</td></tr>");
// -->
</script>
<?php
# if $num_areas
?>
<tr><td class=CR><b><?php echo get_vocab("rooms"?>:</b></td>
<td colspan="3" valign=top class=CL><table><tr><td><select name="rooms[]" multiple="yes">
<?php
# select the rooms in the area determined above
$sql "select id, room_name from $tbl_room where area_id=$area_id order by room_name";
$res sql_query($sql);
 
if (
$res) for ($i 0; ($row sql_row($res$i)); $i++)
{
$selected "";
if (
$row[0] == $room_id) {
$selected "SELECTED";
}
echo 
"<option $selected value=\"".$row[0]."\">".$row[1];
// store room names for emails
$room_names[$i] = $row[1];
}
?>
</select></td><td><?php echo get_vocab("ctrl_click"?></td></tr></table> </td></tr>
<TR><TD CLASS=CR><B><?php echo get_vocab("type")?></B></TD>
<TD colspan="3" CLASS=CL><SELECT NAME="type">
<?php
for ($c "A"$c <= "Z"$c++)
{
if (!empty(
$typel[$c]))
echo 
"<OPTION VALUE=$c" . ($type == $c " SELECTED" "") . ">$typel[$c]\n";
}
?></SELECT></TD></TR>
<?php if($edit_type == "series") { ?>
<TR>
<TD CLASS=CR><B><?php echo get_vocab("rep_type")?></B></TD>
<TD colspan="3" CLASS=CL>
<?php
for($i 0; isset($vocab["rep_type_$i"]); $i++)
{
echo 
"<INPUT NAME=\"rep_type\" TYPE=\"RADIO\" VALUE=\"" $i "\"";
if(
$i == $rep_type)
echo 
" CHECKED";
echo 
">" get_vocab("rep_type_$i") . "\n";
}
?> </TD>
</TR>
<TR>
<TD CLASS=CR><B><?php echo get_vocab("rep_end_date")?></B></TD>
<TD colspan="3" CLASS=CL><?php genDateSelector("rep_end_"$rep_end_day$rep_end_month$rep_end_year?></TD>
</TR>
<TR>
<TD CLASS=CR><B><?php echo get_vocab("rep_rep_day")?></B> <?php echo get_vocab("rep_for_weekly")?></TD>
<TD colspan="3" CLASS=CL>
<?php
# Display day name checkboxes according to language and preferred weekday start.
for ($i 0$i 7$i++)
{
$wday = ($i $weekstarts) % 7;
echo 
"<INPUT NAME=\"rep_day[$wday]\" TYPE=CHECKBOX";
if (
$rep_day[$wday]) echo " CHECKED";
echo 
">" day_name($wday) . "\n";
}
?> </TD>
</TR>
<?php
}
else
{
$key "rep_type_" . (isset($rep_type) ? $rep_type "0");
echo 
"<tr><td class=\"CR\"><b>".get_vocab("rep_type")."</b></td><td class=\"CL\">".get_vocab($key)."</td></tr>\n";
if(isset(
$rep_type) && ($rep_type != 0))
{
$opt "";
if (
$rep_type == 2)
{
# Display day names according to language and preferred weekday start.
for ($i 0$i 7$i++)
{
$wday = ($i $weekstarts) % 7;
if (
$rep_opt[$wday]) $opt .= day_name($wday) . " ";
}
}
if(
$opt)
echo 
"<tr><td class=\"CR\"><b>".get_vocab("rep_rep_day")."</b></td><td class=\"CL\">$opt</td></tr>\n";
echo 
"<tr><td class=\"CR\"><b>".get_vocab("rep_end_date")."</b></td><td class=\"CL\">$rep_end_date</td></tr>\n";
}
}
/* We display the rep_num_weeks box only if:
- this is a new entry ($id is not set)
Xor
- we are editing an existing repeating entry ($rep_type is set and
$rep_type != 0 and $edit_type == "series" )
*/
if ( ( !isset( $id ) ) Xor ( isset( $rep_type ) && ( $rep_type != ) && ( "series" == $edit_type ) ) )
{
?>
<TR>
<TD CLASS=CR><B><?php echo get_vocab("rep_num_weeks")?></B> <?php echo get_vocab("rep_for_nweekly")?></TD>
<TD colspan="3" CLASS=CL><p>
<INPUT TYPE=TEXT NAME="rep_num_weeks" VALUE="<?php echo $rep_num_weeks?>">
</p> </TR>
<?php ?>
<TR><TD CLASS=CR><b></SELECT>
<?php echo get_vocab("lavf"); ?></b><input name="lavf" type="checkbox" value="Si" onclick="lavf" />
</TD>
<TD CLASS=CR><b></SELECT>
<?php echo get_vocab("lavl"); ?></b><input name="lavl" type="checkbox" value="Si" onclick="lavl" />
</TD>
<TD CLASS=CR></SELECT><b>
<?php echo get_vocab("proie"); ?></b><input name="proie" type="checkbox" value="Si" onclick="proie" />
</TD>
<TD CLASS=CR></SELECT><b>
<?php echo get_vocab("ampli"); ?></b><input name="ampli" type="checkbox" value="Si" onclick="ampli" />
</TD>
<TR><TD CLASS=CR><b></SELECT>
<?php echo get_vocab("aconf"); ?></b><input name="aconf" type="checkbox" value="Si" onclick="aconf" />
</TD>
<TD CLASS=CR><b></SELECT>
<?php echo get_vocab("vconf"); ?></b><input name="vconf" type="checkbox" value="Si" onclick="vconf" />
</TD>
<TD CLASS=CR></SELECT><b>
<?php echo get_vocab("presi"); ?></b><input name="presi" type="checkbox" value="Si" onclick="presi" />
</TD>
<TD CLASS=CR></SELECT><b>
<?php echo get_vocab("puli"); ?></b><input name="puli" type="checkbox" value="Si" onclick="puli" />
</TD>
<TR>
<TD colspan=4 align=center>
<SCRIPT LANGUAGE="JavaScript">
document.writeln ( '<INPUT TYPE="button" NAME="save_button" VALUE="<?php echo get_vocab("save")?>" ONCLICK="validate_and_submit()">' );
</SCRIPT>
<NOSCRIPT>
<INPUT TYPE="submit" VALUE="<?php echo get_vocab("save")?>">
</NOSCRIPT> </TD></TR>
</TABLE>
<INPUT TYPE=HIDDEN NAME="returl" VALUE="<?php echo $HTTP_REFERER?>">
<!--INPUT TYPE=HIDDEN NAME="room_id" VALUE="<?php echo $room_id?>"-->
<INPUT TYPE=HIDDEN NAME="create_by" VALUE="<?php echo $create_by?>">
<INPUT TYPE=HIDDEN NAME="rep_id" VALUE="<?php echo $rep_id?>">
<INPUT TYPE=HIDDEN NAME="edit_type" VALUE="<?php echo $edit_type?>">
<?php if(isset($id)) echo "<INPUT TYPE=HIDDEN NAME=\"id\" VALUE=\"$id\">\n";
?>
</FORM>
<?php include "trailer.inc" ?>

Ultima modifica di massimux : 22-12-07 13:35.
linno non in linea   Rispondi citando
Vecchio 21-12-07, 22:59   #4 (permalink)
User
 
Data di registrazione: Feb 2007
Messaggi: 121
ops

il file
Files allegati
Tipo di file: zip pagine.zip (13.5 KB, 2 visite)
linno non in linea   Rispondi citando
Vecchio 22-12-07, 19:30   #5 (permalink)
User
 
Data di registrazione: Feb 2007
Messaggi: 121
mrbs

vi è qualcuno che mi aiuta?
linno non in linea   Rispondi citando
Rispondi
Tags:



Strumenti di discussione

Regole di scrittura
Non puoi postare nuove discussioni
Non puoi rispondere alle discussioni
Non puoi allegare file
Non puoi editare i tuoi post

BB code is Attivo
smilies è Attivo
[IMG] il codice è Attivo
Il codice HTML è Disattivato
Trackbacks are Attivo
Pingbacks are Attivo
Refbacks are Disattivato
Vai al forum



Tutti gli orari sono GMT +3. Attualmente sono le 12:56.




Forum GT - © 2004-2009 GT idea S.r.l P.iva 02418200800 - Privacy/Disclaimer

SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.