[GDRCD-5.6.0.2] Prenotazione stanze private postato il nel forum programmazione, gdrcd, grafica e open source
Ma sono io che ho toccato qualcosa per sbaglio o la pagina della prenotazione delle stanze private non funziona correttamente?
Il menu a discesa delle stanze rimane col primo campo vuoto e le stanze risultano non selezionabili. Se tolgo il "disabled" alla riga 29 le stanze sono selezionabili ma di fatto, la prenotazione non va in porto. Dice che la prenotazione è stata fatta ma in realtà, può essere rifatta perché la stanza è ancora disponibile. Ho cercato di modificare un po' il codice, ma quando provo a prenotare, mi viene detto che la prenotazione non è possibile.
Il codice originario è questo:
<?php /*Elenco stanze*/
if(isset($_POST['op']) === false) { ?>
<div class="form_gioco">
<?php
/*Seleziono i ruoli su cui l'account ha competenza*/
$query = "SELECT mappa.id, mappa.nome AS luogo, mappa.costo, mappa.proprietario, mappa.scadenza, mappa_click.nome FROM mappa JOIN mappa_click on mappa.id_mappa = mappa_click.id_click WHERE mappa.privata = 1 ORDER BY mappa.nome, mappa.costo DESC";
$result = gdrcd_query($query, 'result');
if((gdrcd_query($result, 'num_rows') == 0) || ($PARAMETERS['mode']['privaterooms'] == 'OFF')) {
echo '<div class="warning">'.gdrcd_filter('out', $MESSAGE['interface']['hotel']['no_room']).'</div>';
} else { ?>
<form action="main.php?page=servizi_prenotazioni"
method="post">
<div class="form_label">
<?php echo gdrcd_filter('out', $MESSAGE['interface']['hotel']['room']); ?>
</div>
<div class="form_element">
<select name="id">
<?php
while($row = gdrcd_query($result, 'fetch')) { ?>
<?php if($row['scadenza'] > strftime('%Y-%m-%d %H:%M:%S')) { ?>
<option value="" disabled>
<?php echo gdrcd_filter('out', $row['luogo'].', '.$row['nome']
).' ('.$row['proprietario'].', '.gdrcd_format_time($row['scadenza']).') '; ?>
</option>
<?php } else { ?>
<option value="<?php echo $row['id'].'-'.$row['costo']; ?>">
<?php echo gdrcd_filter('out', $row['luogo'].', '.$row['nome']
).' ('.$row['costo'].' '.strtolower($PARAMETERS['names']['currency']['plur']
).' '.$MESSAGE['interface']['hotel']['per_hour'].') '; ?>
</option>
<?php } ?>
<?php }//while
gdrcd_query($result, 'free');
?>
</select>
<select name="ore">
<?php
for($i = 1; $i <= 12; $i++) { ?>
<option value="<?php echo $i; ?>">
<?php echo $i.' '.gdrcd_filter('out', $MESSAGE['interface']['hotel']['hours']); ?>
</option>
<?php }//while
?>
</select>
</div>
<div class="form_submit">
<input type="hidden" name="op" value="book" />
<input type="submit" name="submit" value="<?php echo gdrcd_filter('out', $MESSAGE['interface']['forms']['submit']); ?>" />
</div>
</form>
<?php }//else
?>
</div>
<?php
}
Pagine → 1
10/03/2022 23:22:53 e modificato il 10/03/2022 23:27:12 da haruka
Ciao, avevo fixato questa cosa perché avevo notato lo stesso problema.
E' passato del tempo. Prova a vedere se risolvi con questo codice:
<option value="<?php echo $row['id'].'-'.$row['costo']; ?>">
<?php echo gdrcd_filter('out', $row['luogo'].', '.$row['nome'] ).' ('.$row['costo'].' '.strtolower($PARAMETERS['names']['currency']['plur'] ).' '.$MESSAGE['interface']['hotel']['per_hour'].') '; ?>
</option>
<option value="" disabled>
<?php echo gdrcd_filter('out', $row['luogo'].', '.$row['nome']
).' ('.$row['proprietario'].', '.gdrcd_format_time($row['scadenza']).') '; ?>
</option>
Leggendra.eu - Fantasy steampunk itinerante
https://www.leggendra.eu
11/03/2022 15:49:34 e modificato il 11/03/2022 18:30:09 da werekoala
haruka ha scritto: Ciao, avevo fixato questa cosa perché avevo notato lo stesso problema.
E' passato del tempo. Prova a vedere se risolvi con questo codice:
<option value="<?php echo $row['id'].'-'.$row['costo']; ?>">
<?php echo gdrcd_filter('out', $row['luogo'].', '.$row['nome'] ).' ('.$row['costo'].' '.strtolower($PARAMETERS['names']['currency']['plur'] ).' '.$MESSAGE['interface']['hotel']['per_hour'].') '; ?>
</option>
<option value="" disabled>
<?php echo gdrcd_filter('out', $row['luogo'].', '.$row['nome']
).' ('.$row['proprietario'].', '.gdrcd_format_time($row['scadenza']).') '; ?>
</option>
08/05/2022 12:59:56
Abbiamo ricevuto diverse segnalazioni in merito alle varie anomalie presenti nella funzione di prenotazione stanze private, abbastanza da suggerirci una revisione di questa sezione.
Tra le tante correzioni apportate, una ha coinvolto anche il meccanismo di prenotazione delle stanze e il suo salvataggio sul database, in modo da assicurare effettivamente l'avvenuto passaggio di possesso.
Lascio qui i commit coinvolti nella revisione, parte della versione GDRCD 5.6.0.3 in rilascio, e ordinati in senso cronologico (dal più vecchio al più recente):
1 - https://github.com/GDRCD/GDRCD/commit/096808ef80251a00a852237cdfbf252cf8ffe11c
2 - https://github.com/GDRCD/GDRCD/commit/7f7d08c1111de9d9d871eea96c754b796a8d982c
3 - https://github.com/GDRCD/GDRCD/commit/21f242373c085a1b430e65a2f6c50a1072ad502d
Puoi provare ad integrare queste correzioni e verificare se ti presenta ancora l'errore?
Kasa.
GitHub: https://github.com/GDRCD/GDRCD
Discord: https://discord.com/invite/K2eWXpvu4M
GdR-O: https://www.gdr-online.com/readforum.asp?id=250579
26/05/2022 20:23:00
Ho integrato le correzioni e se le chat hanno un costo superiore a 0, a me funziona tutto correttamente.
Ho però riscontrato il problema descritto nel primo post quando il costo della chat è 0: la chat risulta prenotata ma in realtà rimane prenotabile e non è possibile accedere (il campo "costo" nel db è decimal, non INT, non so se potrebbe essere dovuto a questo).
Ci sarebbe il modo di risolverlo?
26/05/2022 21:40:01 e modificato il 26/05/2022 22:48:32 da kasa
backwaters ha scritto: Ho integrato le correzioni e se le chat hanno un costo superiore a 0, a me funziona tutto correttamente.
Ho però riscontrato il problema descritto nel primo post quando il costo della chat è 0: la chat risulta prenotata ma in realtà rimane prenotabile e non è possibile accedere (il campo "costo" nel db è decimal, non INT, non so se potrebbe essere dovuto a questo).
Ci sarebbe il modo di risolverlo?
if(
$checkRoom['privata'] == 1
&& $checkRoom['costo'] > 0
&& $checkRoom['scadenza'] <= strftime('%Y-%m-%d %H:%M:%S')
) {
$bookableRoom = true;
} else {
$bookableRoom = false;
}
if(
$checkRoom['privata'] == 1
&& $checkRoom['costo'] >= 0
&& $checkRoom['scadenza'] <= strftime('%Y-%m-%d %H:%M:%S')
) {
$bookableRoom = true;
} else {
$bookableRoom = false;
}
GitHub: https://github.com/GDRCD/GDRCD
Discord: https://discord.com/invite/K2eWXpvu4M
GdR-O: https://www.gdr-online.com/readforum.asp?id=250579
27/05/2022 20:38:59
Ho installato la nuova versione di GDRCD ed ora le stanze private funzionano benissimo! 😃
27/05/2022 21:36:54
Ah, era una cosa semplicissima
Grazie mille, ora funziona perfettamente
Pagine → 1
Discussione seguita da:
Non puoi scrivere in questo Forum
Aggiungi Discussione ai Preferiti
Inoltra Discussione
Forum Programmazione, GDRCD, Grafica e Open Source
Torna alla lista Forum
✋😟
Abbiamo rilevato che stai usando un software per bloccare la pubblicità!
L'utilizzo di GDR-online.com è gratuito da oltre 17 anni ma è necessario coprire i costi per mantenerlo online... ti chiediamo di aiutarci disabilitando il blocco dei banner pubblicitari.
Togliere il blocco significa fare in modo che GDR-online.com possa continuare a far conoscere piccoli giochi amatoriali gratuitamente e offrire un servizio sempre migliore e adatto alle esigenze dei suoi giocatori!
Se questo avviso continua ad apparire nonostante tu abbia autorizzato il portale:
- Verifica nelle opzioni che venga disattivato AdBlock in tutto il dominio gdr-online.com e non solo in una pagina
- Controlla di non avere fra le estensioni installate altre analoghe ad AdBlock, come AdBlock Plusbr, ublock origin, ecc.
- Probabilmente sul tuo PC è installato un Antivirus che ha anche funzioni di blocco pubblicità
- Se usi Firefox impostare il "Blocco Contenuti" su "Normale" e non su "Restrittivo". Per farlo clicca sull'icona dello scudo vicino all'URL e clicca su "Disattiva Blocco per questo sito"
- Prova a premere CTRL + F5, riloggarti e vedi se il problema persiste