Programmazione PHP postato il 13/04/2009 18:24:30 nel forum programmazione, gdrcd, open source, hosting
Allora, premetto il fatto che sono un novellino nella programmazione e che mi ci sto mettendo con calma per tutto quel che ne riguarda, in una pagina non riesco a capire l'errore.
Qui sotto ve la copio e vi spiego poi ciò che non va
<? session_start();
include ("inc/parametri.inc.php");
include ("inc/open2.php");
#echo "<font color=white>Stiamo finendo la riprogrammazione dell'iscrizione!<br>Potrebbero verificarsi degli errori o imprecisioni nella scheda del Personaggio</font>";
If (($HTTP_SESSION_VARS['OKSesso'] == "")
|| ($HTTP_SESSION_VARS['OKNome'] == "")
|| ($HTTP_SESSION_VARS['OKEmail'] == "")) {
$HTTP_SESSION_VARS['errore'] = "<b>ERRORE! Dati incompleti!</b>";
#header("Location: iscrizione1.php", false);
echo $HTTP_SESSION_VARS['errore']."<br>";
echo $HTTP_SESSION_VARS['OKSesso']."<br>";
echo $HTTP_SESSION_VARS['OKNome']."<br>";
echo $HTTP_SESSION_VARS['OKEmail']."<br>";
exit();
}
include("inc/controlloesilio.php");
$MySql = "Select Nome FROM Pg Iscritti WHERE Nome = '$OKNome' or Email = 'OKEmail'";
$Result = mysql_query($MySql);
if ($rs = mysql_fetch_array($Result)) {$HTTP_SESSION_VARS['errore'] .= "Il personaggio ".htmlspecialchars($OKNome)." è già presente o l'email è già utilizzata!<br>";};
$rs->close;
if ($HTTP_SESSION_VARS['errore'] != "") {
$RegNome = $HTTP_SESSION_VARS['OKNome'];
$RegEmail = $HTTP_SESSION_VARS['OKEmail'];
$RegSesso = $HTTP_SESSION_VARS['OKSesso'];
echo $HTTP_SESSION_VARS['errore'];
#header("Location: iscrizione1.php", false);
exit();
}
function Lettera() {
mt_srand((double)microtime()*1000000);
return(chr(mt_rand(0, 24) + ord("A")));
}
$pass = Lettera();
$pass .= Lettera();
$pass .= Lettera();
$pass .= Lettera();
$pass .= Lettera();
$pass .= Lettera();
$pass .= Lettera();
$pass .= Lettera();
$MySql = "INSERT INTO Personaggio (Nome, Pass, DataIscrizione, Mente, Forza, IDRazza, Sesso, Email, URLImg, Banca, MaxMente, MaxForza, ICQ, Affetti, Capacita, DataUltimaGilda) ";
$MySql .= "VALUES (";
$MySql .= "'$OKNome'";
$MySql .= ", '$pass'";
$MySql .= ", NOW()";
$MySql .= ", '".strtolower($OKSesso)."'";
$MySql .= ", '".$OKEmail."'";
$MySql .= ", 'img/stemmi/spacer.gif'";
$MySql .= ", '-'";
$MySql .= ", '-'";
$MySql .= ", '-'";
$MySql .= ", NOW()";
$MySql .= ")";
$Result = mysql_query($MySql);
$StrBody = "Benvenuto! E' stato registrato il personaggio ".$OKNome.chr(10);
$StrBody .= "La password per l'accesso è $pass".chr(10).chr(10);
$StrBody .= "Si consiglia di seguire le istruzioni, l'Atto di Costituzione, gli Editti e le Leggi (i link sono all'interno del gioco).".chr(10).chr(10);
$StrBody .= "Se non sai cos'è un Gioco di Ruolo, dai un'occhiata a questa pagina: ".$par_SiteURL."/info/gdr.html".chr(10).chr(10);
$StrBody .= $par_WebmasterEmail.chr(10).chr(10)."Entra nel gioco!";
$target=$OKEmail;
$subject = $par_SiteName.' - Registrazione di '.$OKNome;
mail($target, $subject, $StrBody, 'From: '.$par_WebmasterEmail);
include ("inc/header.html.inc.php");
?>
<title><?= htmlspecialchars($par_SiteName) ?> - Iscrizione</title>
</head>
<body topmargin="0" leftmargin="10" bgcolor=#333333>
<br>
<br>
<center><font class=titolo><?= htmlspecialchars($par_SiteName) ?> - Iscrizione Terminata!</font><br>
<br>
<br>
<table cellpadding=0 cellspacing=0 border=0 width="600">
<tr>
<td valign=top align=center><table><tr>
<td>
<center><b>Nome del Personaggio</b></center>
<BR>
<center><font class=titolo><?= $OKNome ?></font></center>
<BR>
</td>
</tr></table></td>
<td valign=top align=center><table><tr>
<td>
<center><b>E-mail di riferimento</b></center>
<BR>
<center><font class=titolo><?= $OKEmail ?></font></center>
<BR>
</td>
</tr></table></td></tr>
<td colspan=2>
<? if ($errore != "") { ?>
<?= $errore ?>
<? } else { ?>
Ti è stata inviata una e-mail con la password di accesso del personaggio.</b><br><br>
Se la e-mail non dovesse arrivare entro un tempo ragionevole (1-2 ore):
<li> tentare di recuperare la password tramite il modulo "recupera password" raggiungibile dalla home page;
<li> scrivere a <a href="mailto:<?= $par_WebmasterEmail ?>"><?= $par_WebmasterEmail ?></a>.</li><br>
<u>Non tentare di inserire la password prima di riceverla!
Dopo un certo numero di tentativi falliti la postazione potrebbe essere bloccata!</u><br><br>
<? }
$Errore = ""; ?>
</td>
</tr>
<tr>
<form name="nonaccetto" action="index.php" target="_top" method="POST">
<td colspan=2 align=center><br><INPUT TYPE="Submit" VALUE="Torna alla pagina iniziale" id=Submit3 name=Submit3></td>
</form>
</tr>
</table>
</center>
</body>
</html>
Allora, in questa pagina per adesso ho riscontrato 2 errori di funzionamento.
1° = Quando io vado a scegliere il sesso, Maschio o Femmina, nella pagina che mi vien data dopo, qualunque sesso io scelga, mi da Femmina.
2°= All'ultima pagina di iscrizione dice che ci sono dei dati mancanti, nonostante abbia inserito tutto ciò che richiedo.
Pagine → 1
13/04/2009 20:34:59 e modificato da kamato il 13/04/2009 20:36:47
Da quello che ho potuto capire è il file di GDRCD-EXTREME .. e sono tenuto ad informarti che è basata sulla versione di php numero 4 .. e dato che molti servizi di hosting hanno già effettuato il cambio alla versione 5,forse potrei dirti che il codice non gira molto bene,o comunque ci sono molti più erorri di sintassi di quelli che ti aspetti.
Io ti consiglio di studiarti bene php,magari iniziando da qualcosa di più facile tipo il linguaggio C che come sintassi è simile al php.
Saluti. 😎
14/04/2009 00:25:57
Che il C sia più facile del PHP è un po' una sparata, ma comunque...
La situazione è semplice: devi controllare il form e prova a stampare (tramite echo) la query prima di passarla al database; per l'altro problema cerca di vedere se tu non abbia modificato nulla.
Ti ricordo inoltre che se, per esempio, hai i cookie disabilitati, le variabili di sessione non funzionano e quindi va tutto a quel paese :D
Prova a smanettarci un po', tanto il gdr-cd è fatto apposta, praticamente, per smanettarci :P
14/04/2009 01:10:47
14/04/2009 01:40:14
già solo il fatto di dover dichiarare le variabili, e quindi avere un'idea su che cosa si deve fare e cosa serve per farlo bhè.. rende programmare in C un pò più complesso. Quindi non mi pare sia "più semplice" :D
Pagine → 1
Rispondi alla Discussione Aggiungi ai Preferiti Inoltra Discussione Forum Programmazione, GDRCD, Open Source, Hosting Elenco Forum
Planethos GdR: Una nuova profezia
Sponsorizzati con noi! → Sponsorizza il tuo gioco su GDR-online! Trova nuovi giocatori fra i migliaia di appassionati che ogni giorno visitano il portale!
Metin2: Informazioni sul server migliorate
Age of Crystals: Rallentamenti estivi
dbzgdr ha risposto alla discussione: Dragon Ball Z Gdr
Titan Revenge: Calendario eventi fino a fine mese online!
Storie di Agarthi → Un Varco si apre davanti a te, un mondo tra i mondi è a portata di mano. Lasciati alle spalle le certezze, diventa quello che hai sempre cercato.
Enlisted: Modifiche al sistema di aggiornamento
pyro72 ha aperto un annuncio di ricerca: World Without Heroes ricerca Giocatore
Ikariam → Su una piccola isola, in qualche parte del Mediterraneo, sorge un`antica civiltà. Sotto la tua guida inizia un`era di ricchezza e di scoperte!
World Without Heroes: News GDR: Pubblicazione e Nuovo Inizio
I dati del generatore di rank sono stati aggiornati!
Il gestore di Nexi Generation ha risposto alla recensione di deanna
Infinity Kingdom → Gioco di strategia MMO in stile cartoon in cui diventi un signore pieno di risorse. Difendi la terra di Norheim dagli gnomi malvagi!
Contaminazione, Potere e Morte - La Contaminazione, il Potere e la Morte. L’Anello che tiene tra Virgilio, Seneca e la sub-creazione..
Formazione Eserciti - Manuale sulle formazioni di un esercito. Utile per campagne campali e scontri fra eserciti regolari!
FloorPlanner - Scopriamo Floorplanner, l'editor online gratuito per planimetrie da utilizzar nelle tue giocate online!
Radio per GdR - Semplici istruzioni su come utilizzare Spreaker.com per creare un canale webradio per il proprio GdR
Colonie Fuorilegge - Intervista al gestore del play by chat cyberpunk Colonie Fuorilegge!
Combattimento a Cavallo - Manuale per un perfetto combattimento a dorso di cavallo. Scopri i segreti della cavalleria e giocati un ruolo perfetto!