GDRCD 5.6.6 Come aggiungere, oltre alla razza, anche la classe (?)
GDRCD 5.6.6 Come aggiungere, oltre alla razza, anche la classe (?) postato il 29/12/2024 19:06:10 nel forum programmazione, open source e hosting
Mi sorge spontaneo questo quesito, non essendo proprio pratico, mi chiedevo se ci fosse qualcuno in grado di aiutarmi quanto specificato in oggetto. Vorrei aggiungere all'atto dell'iscrizione, oltre alla razza,anche la classe, potete aiutarmi? Grazie mille in anticipo.
Pagine → 1
30/12/2024 10:07:29 e modificato da cbr89 il 30/12/2024 10:08:01
Ciao a te!
Allora , per fare questa aggiutan hai due possibilità, una che è molto basica, ed una che in pratica "replica" il sistema delle razze.
le due strade hanno chiaramente due complessità di realizzazione diversa, cerco di farti una panoramica delle due , poi ,agari se serve una mano, integro.
La domanda da cui partiamo è: A cosa ti serve la classe? Deve essere solo un atttributo che leggi in scheda (come il background) oppure influisce su caratteristiche dando bonus/malus ed ha abilità collegate?
SOLUZIONE BASIC
Aggiungi una colonna chiamata 'classe' alla tabella personaggio, poi questo attributo lo vai a richiamare in scheda proprio come viene fatto con gli altri. Ricordati di aggiungere, nella SELECT anche il campo "classe" se non dovesse essere stato selezionato.
$personaggio['classe']
.Dovrai aggiungere tale attributo , pure nelle pagine della scheda dedicate ai Gestori, quindi scheda_gst.inc.php, scheda_modifica.inc.php.
Dove dovrai aggiungere nella parte HTML un input fatto così:
<input type="text" name="modifica_classe" value="<?php echo $record['classe'];?> " />
nella parte di PHP per l'aggiornamento dovrai poi inserirlo nella query di UPDATE
classe='".gdrcd_filter_in($_POST['modifica_classe']."'
al pari di come fatto per gli altri attributi.
Questo ti permette di avere quell'attributo in scheda che però non avrà alcuna influenza particolare.
VERSIONE COMPLETA
Questa versione implica più lavoro e una maggiore conoscenza di GDRCD.
In sostanza devi replicare l'attuale sistema delle razze di GDRCD e chiamarlo "classi".
Ecco la lista della spesa:
1) crea una nuova tabella 'classe' nel database, usando questo script.
CREATE TABLE 'classe' (
'id_classe' int NOT NULL AUTO_INCREMENT,
'nome_classe' varchar(255) NOT NULL DEFAULT '',
'sing_m' varchar(255) NOT NULL DEFAULT '',
'sing_f' varchar(255) NOT NULL DEFAULT '',
'descrizione' text NOT NULL,
'bonus_car0' int NOT NULL DEFAULT '0',
'bonus_car1' int NOT NULL DEFAULT '0',
'bonus_car2' int NOT NULL DEFAULT '0',
'bonus_car3' int NOT NULL DEFAULT '0',
'bonus_car4' int NOT NULL DEFAULT '0',
'bonus_car5' int NOT NULL DEFAULT '0',
'immagine' varchar(255) NOT NULL DEFAULT 'standard_classe.png',
'icon' varchar(255) NOT NULL DEFAULT 'standard_classe.png',
'url_site' varchar(255) DEFAULT NULL,
'iscrizione' tinyint(1) NOT NULL DEFAULT '1',
'visibile' tinyint(1) NOT NULL DEFAULT '1',
PRIMARY KEY ('id_classe')
) ENGINE=MyISAM AUTO_INCREMENT=2001 DEFAULT CHARSET=utf8
2) Modificare la tabella personaggio aggiungengo l'attributo id_classe
3) Crea due nuovi files chiamati rispettivamente:
user_classi.inc.php: Il contenuto di questo file lo puoi copiare dal file user_razze.inc.php. Nella query a riga 6 dovrai sostituire la parola "nome_razza" con "nome_classe" e la parola "razza" con "classe" , nel resto del file, dovrai sostituire ancora "nome_razza" con "nome_classe".
gestione_classi.inc.php: il contenuto di questo file lo puoi prendere da "gestione_razze.inc.php" , ed anche qui ogni riferimento a "nome_razza" , "id_razza" , "razza" andà sostituito con "nome_classe" , "id_classe" e "classe"
4) Dovrai modificare i vari files dove verrà richiamata la classe.
iscrizione.inc.php
scheda_inc.php
scheda_modifica_inc.php
scheda_gst_inc.php
ref_header.inc.php
abilita.inc.php (se vuoi poter creare abilità di classe)
gestione_abilita.inc.php (se vuoi poter creare abilità di classe)
5) aggiungere al config le righe per far apparire il menù di gestione delle classi
6) Aggiungere al file Vocabulary i testi per la classe
Le due soluzioni sono molto diverse come puoi capire, nella seconda c'è molto da fare, anche se non sono operazioni molto difficili da fare, bisogna stare attenti perché si rischia di compromettere anche le cose che già funzionano.
30/12/2024 16:51:42 e modificato da percyval970 il 30/12/2024 19:08:24
sono arrivato al 3° punto, come modifico il resto,dal 4 punto in poi? cosi come elencato da te(?)
30/12/2024 20:59:07 e modificato da cbr89 il 30/12/2024 21:11:18
Il dettaglio di modifica di ogni singolo file porebbe essere un tantino lungo da spiegare.
Se hai tempo e pazienza a poco a poco provo a rispondere.
:D intanto ecco il file iscrizione.inc.php
<div class="pagina_iscrizione">
<div class="page_title">
<h2>
<?php echo gdrcd_filter('out', $MESSAGE['register']['page_name']); ?>
</h2>
</div>
<div class="page_body">
<?php /**** Fase 0 ****/
switch (gdrcd_filter('get', $_POST['fase'])) {
case false: ?>
<div class="panels_box">
<!-- condizioni d'uso -->
<div class="disclaimer_iscrizione">
<?php echo gdrcd_filter('out', $MESSAGE['register']['disclaimer']); ?>
</div>
<div class="disclaimer_iscrizione">
<?php echo gdrcd_filter('out', $MESSAGE['register']['rules_read']); ?>
</div>
<!-- Accetto le condizioni -->
<div class="form_gioco">
<form action="<?php echo $_SERVER['SCRIPT_NAME'] . '?' . $_SERVER['QUERY_STRING']; ?>"
method="post">
<div class="form_submit">
<input type="hidden" name="fase" value="1"/>
<input type="submit"
value="<?php echo gdrcd_filter('out', $MESSAGE['register']['forms']['accept']); ?>"/>
</div>
</form>
</div>
<!-- Non accetto le condizioni -->
<div class="form_gioco">
<form action="index.inc.php" method="post">
<div class="form_submit">
<input type="submit"
value="<?php echo gdrcd_filter('out', $MESSAGE['register']['forms']['refuse']); ?>"/>
</div>
</form>
</div>
</div>
<?php break;
case 1: ?>
<div class="panels_box">
<div class="form_gioco">
<form action="<?php echo $_SERVER['SCRIPT_NAME'] . '?' . $_SERVER['QUERY_STRING']; ?>"
method="post">
<!-- EMail -->
<div class="form_label">
<?php echo gdrcd_filter('out', $MESSAGE['register']['fields']['email']); ?>
</div>
<div class="form_field">
<input name="email" value="<?php echo gdrcd_filter('email', $_POST['email']); ?>" required/>
</div>
<div class="form_info">
<?php echo gdrcd_filter('out', $MESSAGE['register']['fields']['email_info']); ?>
</div>
<!-- Nome PG -->
<div class="form_label">
<?php echo gdrcd_filter('out', $MESSAGE['register']['fields']['name']); ?>
</div>
<div class="form_field">
<input name="nome" value="<?php echo gdrcd_filter('out', $_POST['nome']); ?>" required/>
</div>
<div class="form_info">
<?php echo gdrcd_filter('out', $MESSAGE['register']['fields']['name_info']); ?>
</div>
<!-- Cognome PG -->
<div class="form_label">
<?php echo gdrcd_filter('out', $MESSAGE['register']['fields']['lastname']); ?>
</div>
<div class="form_field">
<input name="cognome" value="<?php echo gdrcd_filter('out', $_POST['cognome']); ?>"/>
</div>
<div class="form_info">
<?php echo gdrcd_filter('out', $MESSAGE['register']['fields']['name_info']); ?>
</div>
<!-- Genere -->
<div class="form_label">
<?php echo gdrcd_filter('out', $MESSAGE['register']['fields']['gender']); ?>
</div>
<div class="form_field">
<select name="genere">
<option value="m" <?php if (gdrcd_filter('get', $_POST['genere']) == 'm') {
echo 'SELECTED';
} ?> >
<?php echo gdrcd_filter('out', $MESSAGE['register']['fields']['gender_m']); ?>
</option>
<option value="f" <?php if (gdrcd_filter('get', $_POST['genere']) == 'f') {
echo 'SELECTED';
} ?> >
<?php echo gdrcd_filter('out', $MESSAGE['register']['fields']['gender_f']); ?>
</option>
</select>
</div>
<!-- Razza -->
<div class="form_label">
<?php echo gdrcd_filter('out', $PARAMETERS['names']['race']['sing'] . ' ' . $MESSAGE['register']['fields']['race']); ?>
</div>
<?php $result = gdrcd_query("SELECT id_razza, nome_razza FROM razza WHERE iscrizione=1 ORDER BY nome_razza", 'result'); ?>
<div class="form_field">
<select name="razza">
<?php while ($row = gdrcd_query($result, 'fetch')) { ?>
<option value="<?php echo $row['id_razza']; ?>" <?php if (gdrcd_filter('get', $_POST['razza']) == $row['id_razza']) {
echo 'SELECTED';
} ?>>
<?php echo gdrcd_filter('out', $row['nome_razza']); ?>
</option>
<?php } ?>
</select>
</div>
<?php if ($PARAMETERS['mode']['racialinfo'] == 'ON') { ?>
<div class="form_info">
<a href="index.php?page=user_razze" target="_new">
<?php echo gdrcd_filter('out', $MESSAGE['register']['fields']['race_info']); ?>
</a>
</div>
<?php } ?>
<!-- Classe -->
<div class="form_label">
<?php echo gdrcd_filter('out', $PARAMETERS['names']['class']['sing'] . ' ' . $MESSAGE['register']['fields']['class']); ?>
</div>
<?php $result = gdrcd_query("SELECT id_classe, nome_classe FROM classe WHERE iscrizione=1 ORDER BY nome_classe", 'result'); ?>
<div class="form_field">
<select name="classe">
<?php while ($row = gdrcd_query($result, 'fetch')) { ?>
<option value="<?php echo $row['id_classe']; ?>" <?php if (gdrcd_filter('get', $_POST['classe']) == $row['id_classe']) {
echo 'SELECTED';
} ?>>
<?php echo gdrcd_filter('out', $row['nome_classe']); ?>
</option>
<?php } ?>
</select>
</div>
<?php if ($PARAMETERS['mode']['racialinfo'] == 'ON') { ?>
<div class="form_info">
<a href="index.php?page=user_classe" target="_new">
<?php echo gdrcd_filter('out', $MESSAGE['register']['fields']['class_info']); ?>
</a>
</div>
<?php } ?>
<!-- Caratteristiche -->
<div class="form_label">
<?php echo gdrcd_filter('out', $MESSAGE['register']['fields']['stats']); ?>
</div>
<div class="form_field">
<table>
<tr>
<td>
<?php echo gdrcd_filter('out', $PARAMETERS['names']['stats']['car0']); ?>
<br/>
<select name="car0">
<?php for ($i = 1; $i <= $PARAMETERS['settings']['initial_cars_cap']; $i++) { ?>
<option value="<?php echo $i; ?>" <?php if (gdrcd_filter('num', $_POST['car0']) == $i) {
echo 'SELECTED';
} ?> >
<?php echo $i; ?>
</option>
<?php } ?>
</select>
</td>
<td>
<?php echo gdrcd_filter('out', $PARAMETERS['names']['stats']['car1']); ?>
<br/>
<select name="car1">
<?php for ($i = 1; $i <= $PARAMETERS['settings']['initial_cars_cap']; $i++) { ?>
<option value="<?php echo $i; ?>" <?php if (gdrcd_filter('num', $_POST['car1']) == $i) {
echo 'SELECTED';
} ?> >
<?php echo $i; ?>
</option>
<?php } ?>
</select>
</td>
<td>
<?php echo gdrcd_filter('out', $PARAMETERS['names']['stats']['car2']); ?>
<br/>
<select name="car2">
<?php for ($i = 1; $i <= $PARAMETERS['settings']['initial_cars_cap']; $i++) { ?>
<option value="<?php echo $i; ?>" <?php if (gdrcd_filter('num', $_POST['car2']) == $i) {
echo 'SELECTED';
} ?> >
<?php echo $i; ?>
</option>
<?php } ?>
</select>
</td>
<td>
<?php echo gdrcd_filter('out', $PARAMETERS['names']['stats']['car3']); ?>
<br/>
<select name="car3">
<?php for ($i = 1; $i <= $PARAMETERS['settings']['initial_cars_cap']; $i++) { ?>
<option value="<?php echo $i; ?>" <?php if (gdrcd_filter('num', $_POST['car3']) == $i) {
echo 'SELECTED';
} ?> >
<?php echo $i; ?>
</option>
<?php } ?>
</select>
</td>
<td>
<?php echo gdrcd_filter('out', $PARAMETERS['names']['stats']['car4']); ?>
<br/>
<select name="car4">
<?php for ($i = 1; $i <= $PARAMETERS['settings']['initial_cars_cap']; $i++) { ?>
<option value="<?php echo $i; ?>" <?php if (gdrcd_filter('num', $_POST['car4']) == $i) {
echo 'SELECTED';
} ?> >
<?php echo $i; ?>
</option>
<?php } ?>
</select>
</td>
<td>
<?php echo gdrcd_filter('out', $PARAMETERS['names']['stats']['car5']); ?>
<br/>
<select name="car5">
<?php for ($i = 1; $i <= $PARAMETERS['settings']['initial_cars_cap']; $i++) { ?>
<option value="<?php echo $i; ?>" <?php if (gdrcd_filter('num', $_POST['car5']) == $i) {
echo 'SELECTED';
} ?> >
<?php echo $i; ?>
</option>
<?php } ?>
</select>
</td>
<tr>
</table>
</div>
<div class="form_info">
<?php echo gdrcd_filter('out', $MESSAGE['register']['fields']['stats_info'] . ' ' . $PARAMETERS['settings']['cars_sum']); ?>
</div>
<!-- Invio -->
<div class="form_submit">
<input type="hidden" name="fase" value="2"/>
<input type="submit"
value="<?php echo gdrcd_filter('out', $MESSAGE['register']['forms']['next']); ?>"/>
</div>
</form>
</div>
<div class="form_gioco">
<form action="index.php" method="post">
<div class="form_submit">
<input type="submit"
value="<?php echo gdrcd_filter('out', $MESSAGE['register']['forms']['abort']); ?>"/>
</div>
</form>
</div>
</div>
<?php break;
case 2:
$ok = true; ?>
<div class="panels_box">
<!-- controllo -->
<!-- ok/form precompilato -->
<?php //controlli validità
$email = gdrcd_filter_email($_POST['email']);
$result = gdrcd_query("SELECT email FROM personaggio", 'result');
foreach ($result as $pg) {
if (gdrcd_password_check($email, $pg['email'])) {
$ok = false;
echo '<div class="error">' . gdrcd_filter('out', $MESSAGE['register']['error']['email_taken']) . '</div>';
break;
}
}
if ((gdrcd_filter_email($_POST['email']) == '') || !strpos(gdrcd_filter_email($_POST['email']), '@') || !strpos(gdrcd_filter_email($_POST['email']), '.')) {
$ok = false;
echo '<div class="error">' . gdrcd_filter('out', $MESSAGE['register']['error']['email_needed']) . '</div>';
}
$result = gdrcd_query("SELECT nome FROM personaggio WHERE nome='" . gdrcd_safe_name($_POST['nome']) . "' LIMIT 1", 'result');
if (gdrcd_query($result, 'num_rows') > 0) {
gdrcd_query($result, 'free');
$ok = false;
echo '<div class="error">' . gdrcd_filter('out', $MESSAGE['register']['error']['name_taken']) . '</div>';
}
$regex = '#[^\p{L}\s]#u';
if (empty(gdrcd_safe_name($_POST['nome'])) || preg_match($regex, $_POST['nome'])) {
$ok = false;
echo '<div class="error">' . gdrcd_filter('out', $MESSAGE['register']['error']['invalid_name']) . '</div>';
}
if ((gdrcd_filter('num', $_POST['car0']) + gdrcd_filter('num', $_POST['car1']) + gdrcd_filter('num', $_POST['car2']) + gdrcd_filter('num', $_POST['car3']
) + gdrcd_filter('num', $_POST['car4']) + gdrcd_filter('num', $_POST['car5'])) != $PARAMETERS['settings']['cars_sum']) {
$ok = false;
echo '<div class="error">' . gdrcd_filter('out', $MESSAGE['register']['fields']['stats_info'] . ' ' . $PARAMETERS['settings']['cars_sum']) . '</div>';
}
$race_id = gdrcd_filter('num', $_POST['razza']);
$class_id = gdrcd_filter('num', $_POST['classe']);
$race_data = gdrcd_query("SELECT iscrizione FROM razza WHERE id_razza='{$race_id}' LIMIT 1");
$race_iscr = gdrcd_filter('num', $race_data['iscrizione']);
$class_data = gdrcd_query("SELECT iscrizione FROM classe WHERE id_classe='{$class_id}' LIMIT 1");
$class_iscr = gdrcd_filter('num', $class_data['iscrizione']);
if (!$race_iscr) {
$ok = false;
echo '<div class="error">Razza non disponibile all\'iscrizione.</div>';
}
if (!$class_iscr) {
$ok = false;
echo '<div class="error">Classe non disponibile all\'iscrizione.</div>';
}
if ($ok == false) { ?>
<div class="form_gioco">
<form action="<?php echo $_SERVER['SCRIPT_NAME'] . '?' . $_SERVER['QUERY_STRING']; ?>"
method="post">
<div class="form_submit">
<input type="hidden" name="fase" value="1"/>
<input type="hidden" name="email"
value="<?php echo gdrcd_filter('out', $_POST['email']) ?>"/>
<input type="hidden" name="nome"
value="<?php echo gdrcd_filter('out', $_POST['nome']) ?>"/>
<input type="hidden" name="cognome"
value="<?php echo gdrcd_filter('out', $_POST['cognome']) ?>"/>
<input type="hidden" name="genere"
value="<?php echo gdrcd_filter('out', $_POST['genere']) ?>"/>
<input type="hidden" name="razza"
value="<?php echo gdrcd_filter('num', $_POST['razza']) ?>"/>
<input type="hidden" name="classe"
value="<?php echo gdrcd_filter('num', $_POST['classe']) ?>"/>
<input type="hidden" name="car0"
value="<?php echo gdrcd_filter('num', $_POST['car0']) ?>"/>
<input type="hidden" name="car1"
value="<?php echo gdrcd_filter('num', $_POST['car1']) ?>"/>
<input type="hidden" name="car2"
value="<?php echo gdrcd_filter('num', $_POST['car2']) ?>"/>
<input type="hidden" name="car3"
value="<?php echo gdrcd_filter('num', $_POST['car3']) ?>"/>
<input type="hidden" name="car4"
value="<?php echo gdrcd_filter('num', $_POST['car4']) ?>"/>
<input type="hidden" name="car5"
value="<?php echo gdrcd_filter('num', $_POST['car5']) ?>"/>
<input type="submit"
value="<?php echo gdrcd_filter('out', $MESSAGE['register']['forms']['try_again']); ?>"/>
</div>
</form>
</div>
<?php } else {
$r_gen = ($_POST['genere'] == 'm') ? 'm' : 'f';
$razza = gdrcd_query("SELECT sing_" . gdrcd_filter('in', $r_gen) . " AS nome_razza FROM razza WHERE id_razza = " . (0 + gdrcd_filter('num', $_POST['razza'])) . " LIMIT 1");
$classe = gdrcd_query("SELECT sing_" . gdrcd_filter('in', $r_gen) . " AS nome_classe FROM classe WHERE id_classe = " . (0 + gdrcd_filter('num', $_POST['classe'])) . " LIMIT 1");
?>
<div class="elenco_gioco">
<table>
<tr>
<td class='casella_titolo'>
<div class='titoli_elenco'><?php echo gdrcd_filter('out', $MESSAGE['register']['summary']) ?></div>
</td>
</tr>
<tr>
<td class='casella_elemento'>
<div class='elementi_elenco'>
<?php echo gdrcd_filter('out', $_POST['email']) ?>
</div>
</td>
</tr>
<tr>
<td class='casella_elemento'>
<div class='elementi_elenco'>
<?php echo gdrcd_filter('out', $_POST['nome']) ?>
</div>
</td>
</tr>
<tr>
<td class='casella_elemento'>
<div class='elementi_elenco'>
<?php echo gdrcd_filter('out', $_POST['cognome']) ?>
</div>
</td>
</tr>
<tr>
<td class='casella_elemento'>
<div class='elementi_elenco'>
<?php echo gdrcd_filter('out', $_POST['genere']) ?>
</div>
</td>
</tr>
<tr>
<td class='casella_elemento'>
<div class='elementi_elenco'>
<?php echo gdrcd_filter('out', $razza['nome_razza']) . ' ' ?>
</div>
</td>
</tr>
<tr>
<td class='casella_elemento'>
<div class='elementi_elenco'>
<?php echo gdrcd_filter('out', $classe['nome_classe']) . ' ' ?>
</div>
</td>
</tr>
<tr>
<td class='casella_elemento'>
<div class='elementi_elenco'>
<?php echo gdrcd_filter('out', $PARAMETERS['names']['stats']['car0'] . ' ' . $_POST['car0']) ?>
</div>
</td>
</tr>
<tr>
<td class='casella_elemento'>
<div class='elementi_elenco'>
<?php echo gdrcd_filter('out', $PARAMETERS['names']['stats']['car1'] . ' ' . $_POST['car1']) ?>
</div>
</td>
</tr>
<tr>
<td class='casella_elemento'>
<div class='elementi_elenco'>
<?php echo gdrcd_filter('out', $PARAMETERS['names']['stats']['car2'] . ' ' . $_POST['car2']) ?>
</div>
</td>
</tr>
<tr>
<td class='casella_elemento'>
<div class='elementi_elenco'>
<?php echo gdrcd_filter('out', $PARAMETERS['names']['stats']['car3'] . ' ' . $_POST['car3']) ?>
</div>
</td>
</tr>
<tr>
<td class='casella_elemento'>
<div class='elementi_elenco'>
<?php echo gdrcd_filter('out', $PARAMETERS['names']['stats']['car4'] . ' ' . $_POST['car4']) ?>
</div>
</td>
</tr>
<tr>
<td class='casella_elemento'>
<div class='elementi_elenco'>
<?php echo gdrcd_filter('out', $PARAMETERS['names']['stats']['car5'] . ' ' . $_POST['car5']) ?>
</div>
</td>
</tr>
</table>
</div>
<div class="form_gioco">
<form action="<?php echo $_SERVER['SCRIPT_NAME'] . '?' . $_SERVER['QUERY_STRING']; ?>"
method="post">
<div class="form_submit">
<input type="hidden" name="fase" value="3"/>
<input type="hidden" name="email"
value="<?php echo gdrcd_filter('out', $_POST['email']) ?>"/>
<input type="hidden" name="nome"
value="<?php echo gdrcd_filter('out', $_POST['nome']) ?>"/>
<input type="hidden" name="cognome"
value="<?php echo gdrcd_filter('out', $_POST['cognome']) ?>"/>
<input type="hidden" name="genere"
value="<?php echo gdrcd_filter('out', $_POST['genere']) ?>"/>
<input type="hidden" name="razza"
value="<?php echo gdrcd_filter('num', $_POST['razza']) ?>"/>
<input type="hidden" name="classe"
value="<?php echo gdrcd_filter('num', $_POST['classe']) ?>"/>
<input type="hidden" name="car0"
value="<?php echo gdrcd_filter('num', $_POST['car0']) ?>"/>
<input type="hidden" name="car1"
value="<?php echo gdrcd_filter('num', $_POST['car1']) ?>"/>
<input type="hidden" name="car2"
value="<?php echo gdrcd_filter('num', $_POST['car2']) ?>"/>
<input type="hidden" name="car3"
value="<?php echo gdrcd_filter('num', $_POST['car3']) ?>"/>
<input type="hidden" name="car4"
value="<?php echo gdrcd_filter('num', $_POST['car4']) ?>"/>
<input type="hidden" name="car5"
value="<?php echo gdrcd_filter('num', $_POST['car5']) ?>"/>
<input type="submit"
value="<?php echo gdrcd_filter('out', $MESSAGE['register']['forms']['ok']); ?>"/>
</div>
</form>
<form action="<?php echo $_SERVER['SCRIPT_NAME'] . '?' . $_SERVER['QUERY_STRING']; ?>"
method="post">
<div class="form_submit">
<input type="hidden" name="fase" value="1"/>
<input type="hidden" name="email"
value="<?php echo gdrcd_filter('out', $_POST['email']) ?>"/>
<input type="hidden" name="nome"
value="<?php echo gdrcd_filter('out', $_POST['nome']) ?>"/>
<input type="hidden" name="cognome"
value="<?php echo gdrcd_filter('out', $_POST['cognome']) ?>"/>
<input type="hidden" name="genere"
value="<?php echo gdrcd_filter('out', $_POST['genere']) ?>"/>
<input type="hidden" name="razza"
value="<?php echo gdrcd_filter('num', $_POST['razza']) ?>"/>
<input type="hidden" name="classe"
value="<?php echo gdrcd_filter('num', $_POST['classe']) ?>"/>
<input type="hidden" name="car0"
value="<?php echo gdrcd_filter('num', $_POST['car0']) ?>"/>
<input type="hidden" name="car1"
value="<?php echo gdrcd_filter('num', $_POST['car1']) ?>"/>
<input type="hidden" name="car2"
value="<?php echo gdrcd_filter('num', $_POST['car2']) ?>"/>
<input type="hidden" name="car3"
value="<?php echo gdrcd_filter('num', $_POST['car3']) ?>"/>
<input type="hidden" name="car4"
value="<?php echo gdrcd_filter('num', $_POST['car4']) ?>"/>
<input type="hidden" name="car5"
value="<?php echo gdrcd_filter('num', $_POST['car5']) ?>"/>
<input type="submit"
value="<?php echo gdrcd_filter('out', $MESSAGE['register']['forms']['back']); ?>"/>
</div>
</form>
</div>
<?php } ?>
</div>
<?php break;
case 3:
echo '<div class="panels_box">';
if ((gdrcd_filter('num', $_POST['car0']) + gdrcd_filter('num', $_POST['car1']) + gdrcd_filter('num', $_POST['car2']) + gdrcd_filter('num', $_POST['car3']) + gdrcd_filter('num', $_POST['car4']) + gdrcd_filter('num', $_POST['car5'])) != $PARAMETERS['settings']['cars_sum']) {
echo '<div class="error">' . gdrcd_filter('out', $MESSAGE['register']['fields']['stats_info'] . ' ' . $PARAMETERS['settings']['cars_sum']) . '</div>';
} else {
$ok = true;
/** * Se deve scattare l'avviso di cambio password fin dall'iscrizione non segno cambiamenti
* @author Blancks
*/
$lastpasschange_field = "";
$lastpasschange_value = "";
/** * Se NON deve scattare l'avviso di cambio password fin dall'iscrizione aggiorno la data di ultimo cambio ad ora
* @author Blancks
*/
if ($PARAMETERS['mode']['alert_password_change'] == 'ON' && $PARAMETERS['settings']['alert_password_change']['alert_from_signup'] == 'OFF') {
$lastpasschange_field = ", ultimo_cambiopass";
$lastpasschange_value = ", NOW()";
}
$email = strtolower(gdrcd_filter_email($_POST['email']));
$email = gdrcd_filter_email($_POST['email']);
$result = gdrcd_query("SELECT email FROM personaggio", 'result');
foreach ($result as $pg) {
if (gdrcd_password_check($email, $pg['email'])) {
$ok = false;
echo '<div class="error">' . gdrcd_filter('out', $MESSAGE['register']['error']['email_taken']) . '</div>';
break;
}
}
if ((gdrcd_filter_email($_POST['email']) == '') || (strpos(gdrcd_filter_email($_POST['email']), '@') == false) || (strpos(gdrcd_filter_email($_POST['email']), '.') == false)) {
$ok = false;
echo '<div class="error">' . gdrcd_filter('out', $MESSAGE['register']['error']['email_needed']) . '</div>';
}
$result = gdrcd_query("SELECT nome FROM personaggio WHERE nome='" . gdrcd_safe_name($_POST['nome']) . "' LIMIT 1", 'result');
if (gdrcd_query($result, 'num_rows') > 0) {
gdrcd_query($result, 'free');
$ok = false;
echo '<div class="error">' . gdrcd_filter('out', $MESSAGE['register']['error']['name_taken']) . '</div>';
}
$regex = '#[^\p{L}\s]#u';
if (preg_match($regex, $_POST['nome'])) {
$ok = false;
echo '<div class="error">' . gdrcd_filter('out', $MESSAGE['register']['error']['invalid_name']) . '</div>';
}
if ((gdrcd_filter('num', $_POST['car0']) + gdrcd_filter('num', $_POST['car1']) + gdrcd_filter('num', $_POST['car2']) + gdrcd_filter('num', $_POST['car3']
) + gdrcd_filter('num', $_POST['car4']) + gdrcd_filter('num', $_POST['car5'])) != $PARAMETERS['settings']['cars_sum']) {
$ok = false;
echo '<div class="error">' . gdrcd_filter('out', $MESSAGE['register']['fields']['stats_info'] . ' ' . $PARAMETERS['settings']['cars_sum']) . '</div>';
}
$race_id = gdrcd_filter('num', $_POST['razza']);
$race_data = gdrcd_query("SELECT iscrizione FROM razza WHERE id_razza='{$race_id}' LIMIT 1");
$race_iscr = gdrcd_filter('num', $race_data['iscrizione']);
if (!$race_iscr) {
$ok = false;
echo '<div class="error">Razza non disponibile all\'iscrizione.</div>';
}
$class_id = gdrcd_filter('num', $_POST['classe']);
$class_data = gdrcd_query("SELECT iscrizione FROM classe WHERE id_classe='{$class_id}' LIMIT 1");
$class_iscr = gdrcd_filter('num', $class_data['iscrizione']);
if (!$class_iscr) {
$ok = false;
echo '<div class="error">classe non disponibile all\'iscrizione.</div>';
}
if (preg_match('#[^\p{L}\s]#u', $_POST['nome'])) {
$ok = false;
echo '<div class="error">Nome non disponibile.</div>';
}
if ($ok) {
$pass = gdrcd_genera_pass();
gdrcd_query("INSERT INTO personaggio (nome, cognome, pass, data_iscrizione, email, sesso, id_razza,id_classe, car0, car1, car2, car3, car4, car5, salute, salute_max, soldi, esperienza $lastpasschange_field)
VALUES ('" . gdrcd_safe_name($_POST['nome']) . "', '" . gdrcd_safe_name($_POST['cognome']) . "', '" . gdrcd_encript($pass) . "', NOW(), '" . gdrcd_encript($email) . "', '" . gdrcd_filter('in', $_POST['genere']) . "', " . gdrcd_filter('num', $_POST['razza']) . "," . gdrcd_filter('num', $_POST['classe']) . ", " . gdrcd_filter('num', $_POST['car0']) . ", " . gdrcd_filter('num', $_POST['car1']) . ", " . gdrcd_filter('num', $_POST['car2']) . ", " . gdrcd_filter('num', $_POST['car3']) . ", " . gdrcd_filter('num', $_POST['car4']) . ", " . gdrcd_filter('num', $_POST['car5']) . ", " . gdrcd_filter('num', $PARAMETERS['settings']['max_hp']) . ", " . gdrcd_filter('num', $PARAMETERS['settings']['max_hp']) . ", " . gdrcd_filter('num', $PARAMETERS['settings']['first_money']) . ", " . gdrcd_filter('num', $PARAMETERS['settings']['first_px']) . " $lastpasschange_value)");
if ($PARAMETERS['mode']['emailconfirmation'] == 'ON') {
echo '<div class="page_title"><h2>' . gdrcd_filter('out', $MESSAGE['register']['welcome']['message']['ok']) . '</h2></div>';
echo '<div class="panels_box"><div class="welcome_message">' . gdrcd_filter('out', $MESSAGE['register']['welcome']['message'][0]) . ' <b>' . gdrcd_filter('out', $PARAMETERS['info']['site_name']) . '</b> ' . gdrcd_filter('out', $MESSAGE['register']['welcome']['message'][1]) . '</div><div class="welcome_message"> </div><div class="username">' . gdrcd_filter('out', $MESSAGE['register']['welcome']['message'][3]) . ' <b>' . $email . '</b></div></div>';
$text = $MESSAGE['register']['welcome']['message'][0] . ' ' . $PARAMETERS['info']['site_name'] . "\n\n " . $MESSAGE['register']['welcome']['message'][1] . "\n " . $MESSAGE['register']['welcome']['message'][2] . "\n\n " . $MESSAGE['register']['welcome']['message']['user'] . ' ' . gdrcd_safe_name($_POST['nome']) . "\n" . $MESSAGE['register']['welcome']['message']['pass'] . ' ' . $pass . "\n\n " . $PARAMETERS['info']['webmaster_name'];
$subject = $PARAMETERS['info']['site_name'] . ' - Registrazione di ' . gdrcd_safe_name($_POST['nome']) . ' ' . gdrcd_safe_name($_POST['cognome']);
mail($email, $subject, $text, 'From: ' . gdrcd_filter('out', $PARAMETERS['info']['webmaster_email']));
} else {
echo '<div class="page_title"><h2>' . gdrcd_filter('out', $MESSAGE['register']['welcome']['message']['ok']) . '</h2></div>';
echo '<div class="panels_box"><div class="welcome_message">' . gdrcd_filter('out', $MESSAGE['register']['welcome']['message'][0]) . ' <b>' . gdrcd_filter('out', $PARAMETERS['info']['site_name']) . '</b> ' . gdrcd_filter('out', $MESSAGE['register']['welcome']['message'][1]) . '</div><div class="welcome_message">' . gdrcd_filter('out', $MESSAGE['register']['welcome']['message'][2]) . '</div><div class="username">' . gdrcd_filter('out', $MESSAGE['register']['welcome']['message']['user']) . ' <b>' . gdrcd_safe_name($_POST['nome']) . '</b></div><div class="username">' . gdrcd_filter('out', $MESSAGE['register']['welcome']['message']['pass']) . ' <b>' . $pass . '</b></div></div>';
}
gdrcd_query("INSERT INTO messaggi (mittente, destinatario, spedito, testo) VALUES ('" . gdrcd_filter('out', $PARAMETERS['info']['webmaster_name']) . "', '" . gdrcd_safe_name($_POST['nome']) . "', NOW(), '" . gdrcd_filter('out', $MESSAGE['register']['welcome']['message'][4]) . "')");
}
}
echo '</div>
<!-- Torna alla home -->
<div class="link_back">
<a href="index.php">
' .gdrcd_filter('out', $MESSAGE['register']['welcome']['back'].' '.gdrcd_filter('out', strtolower($PARAMETERS['info']['homepage_name']))).'
</a>
</div>';
break;
}
//<!-- welcome message -->
//<!-- random pass -->
//<!-- invio mail -->
//<!-- inserimento -->
?>
</div>
<!-- Chiudura finestra iscizione -->
</div>
30/12/2024 23:01:42 e modificato da percyval970 il 31/12/2024 10:04:30
iscrizione fatta! ora? se mi puoi aiutare ancora te ne sarei grato!
Discussione seguita da
Pagine → 1
Rispondi alla Discussione Segui Discussione Inoltra Discussione Forum Programmazione, Open Source e Hosting Elenco Forum
Articoli, Interviste e altre Risorse!
World of Warship ↗
Tibia ↗
Cafuné ↗