Problema recupero password
Problema recupero password postato il 05/06/2012 01:48:35 nel forum programmazione, open source e hosting e modificato da astro991 il 08/06/2012 17:06:02
Utilizzando il gdrcd ho creato un mio file index. Per il recupero password ho copiato quello presente nel gdrcd originale, e funziona. Ma quando vado ad inserire una mail sbagliata, il gdrcd originale ti dice impossibile eseguire, mentre il mio no. Ora vi posto il codice che ho copiato dal gdrcd:
<div class="side_modules">
<?php if (empty($RP_response)){ ?>
<div class="pass_rec">
<form action="index.php" method="post">
<div>
<b><font color="red">Email</font></b>
<span class="form_label"><label for="passrecovery"><?php echo $MESSAGE['homepage']['forms']['email'];?></label></span>
<input type="text" id="passrecovery" name="email" />
</div>
<input type="submit" value="Invia" />
</form>
</div>
<?php }else{ ?>
<div class="pass_rec">
<?php echo $RP_response; ?>
</div>
<?php } ?>
</div>
Perché a me non esce la scritta impossibile eseguire?
Grazie
Pagine → 1
05/06/2012 03:09:06 e modificato da nuprestige il 05/06/2012 09:52:52
Nel codice che hai postato non c'è scritto da nessuna parte che dovrebbe uscire quella scritta .-.
Sicuro di aver copiato tutto?
08/06/2012 15:05:09
Si, ho copiato tutta la parte riguardante il recupero mail...
subito dopo quella parte c'è la stringa del footer, e subito prima quella per aprire in popup..nel file index.php originale che si trova in themes/advanced/home non c'è altro che riguardi il recupero mail..
08/06/2012 16:51:31
per il recupero password - non mail - ti serve il contenuto dell'index nella direcotry principale.
/** * Procedura di recupero Password
*/
$RP_response = '';
if(!empty($_POST['email']))
{
$newpass = gdrcd_query("SELECT email FROM personaggio WHERE email = '".gdrcd_filter('in',$_POST['email'])."' LIMIT 1", 'result');
if (gdrcd_query($newpass, 'num_rows') > 0)
{
gdrcd_query($newpass, 'free');
$pass = gdrcd_genera_pass();
gdrcd_query("UPDATE personaggio SET pass = '".gdrcd_encript($pass)."' WHERE email = '".gdrcd_filter('in',$_POST['email'])."' LIMIT 1");
$subject = gdrcd_filter('out',$MESSAGE['register']['forms']['mail']['sub'].' '.$PARAMETERS['info']['site_name']);
$text = gdrcd_filter('out',$MESSAGE['register']['forms']['mail']['text'].': '.$pass);
mail($_POST['email'], $subject, $text, 'From: '.$PARAMETERS['info']['webmaster_email']);
$RP_response = gdrcd_filter('out',$MESSAGE['warning']['modified']);
}else
{
$RP_response = gdrcd_filter('out',$MESSAGE['warning']['cant_do']);
}
}
/** * Fine Recupero Password */
08/06/2012 17:10:30
Non mi ero accorto dell'errore nel titolo del post, avevo fretta quando l'ho scritto...ho corretto, grazie..
avevo già provato ad inserire anche quel pezzo di codice, ma non mi funziona lo stesso...non capisco dove devo inserirlo in realtà, quindi ho provato in tutte le posizioni possibili, ma nada...
e comunque, nel file index originale che si trova in themes/advanced/home non c'è quel pezzo di codice, quindi deve esserci un richiamo che io non vedo...invece di inserire quel pezzo di codice (che non ho capito dove inserire) non c'è un modo per fare il richiamo?
08/06/2012 17:21:58
astro991 ha scritto: Non mi ero accorto dell'errore nel titolo del post, avevo fretta quando l'ho scritto...ho corretto, grazie..
avevo già provato ad inserire anche quel pezzo di codice, ma non mi funziona lo stesso...non capisco dove devo inserirlo in realtà, quindi ho provato in tutte le posizioni possibili, ma nada...
e comunque, nel file index originale che si trova in themes/advanced/home non c'è quel pezzo di codice, quindi deve esserci un richiamo che io non vedo...invece di inserire quel pezzo di codice (che non ho capito dove inserire) non c'è un modo per fare il richiamo?
i vari file dentro la cartella themes sono fatti per essere richiamati dai file nella directory principale. Qui il codice che regola il meccanismo, diciamo
/** * Definizione pagina da visualizzare */
if (!empty($_GET['page']))
$page = gdrcd_filter('include',$_GET['page']);
else
$page = 'index';
/** * Definizione dell'eventuale contenuto interno
* Utile se si vuol mantenere la struttura della homepage quando si aprono i link
*/
if (!empty($_GET['content']))
$content = gdrcd_filter('include',$_GET['content']);
else
$content = 'home';
Se non vuoi tenere conto di quella struttura, non puoi usare i file nella cartella themes. Ma, a questo punto, ti consiglierei di prendere ad esempio, ed utilizzare, direttamente lo stesso tipo di index che era della versione 5.0
08/06/2012 21:08:24
Ho provato a copiare il recupero password presente nel file index della versione 5.0 come da te consigliato irenes, ma niente..
comunque, ho IN PARTE capito il mio problema: se io lascio il recupero password nella home funziona tutto...il punto è che io non ce l'ho nella home, ma ce l'ho in un'altra pagina...per questo motivo mi rimanda alla home senza dirmi nulla..
allora ho creato un file password2.php il cui contenuto era la parte del recupero password presente nel file index, ossia conteneva il seguente codice:
<?php
$dont_check = FALSE;
$check_for_update = TRUE;
require 'header.inc.php';
require 'includes/credits.inc.php';
$RP_response = '';
if(!empty($_POST['email']))
{
$newpass = gdrcd_query("SELECT email FROM personaggio WHERE email = '".gdrcd_filter('in',$_POST['email'])."' LIMIT 1", 'result');
if (gdrcd_query($newpass, 'num_rows') > 0)
{
gdrcd_query($newpass, 'free');
$pass = gdrcd_genera_pass();
gdrcd_query("UPDATE personaggio SET pass = '".gdrcd_encript($pass)."' WHERE email = '".gdrcd_filter('in',$_POST['email'])."' LIMIT 1");
$subject = gdrcd_filter('out',$MESSAGE['register']['forms']['mail']['sub'].' '.$PARAMETERS['info']['site_name']);
$text = gdrcd_filter('out',$MESSAGE['register']['forms']['mail']['text'].': '.$pass);
mail($_POST['email'], $subject, $text, 'From: '.$PARAMETERS['info']['webmaster_email']);
$RP_response = gdrcd_filter('out',$MESSAGE['warning']['modified']);
}else
{
$RP_response = gdrcd_filter('out',$MESSAGE['warning']['cant_do']);
}
}
?>
e ho fatto sì che il tasto submit mi rimandasse a tale file, ma non funziona lo stesso...come mai?
08/06/2012 21:19:48
Non hai capito... non è questione di copiare e copiare.
gdrcd 5.1 [semplifico brutalmente è fatto così:
-header
-comandi generici per il recupero passw
-Codici che determinano la pagina da visualizzare -> qui entrano in gioco i file nella cartella themes
-footer
Ora, io non ti consigliavo di copiare niente dalla 5.0. Ti consigliavo di riprendere la struttura di quella. Ovvero mantenere un index dove tutto si richiama direttamente lì e non invece, come è nella 5.1, un index che fa da "Sfondo", da base, e in cui poi, su questa base, si inseriscono gli altri file.
Tu fai l'errore di fondo di prendere gli altri file, senza però la base. Mancando la base, lo sfondo cui attaccarsi, non funzionano.
09/06/2012 14:40:54
Alla fine sono riuscito a risolvere il problema, con un rigiro assurdo ma ce l'ho fatta...
ora devo chiedervi un'ultima cosa:
questo è il codice del recupero password presente nel file index:
if (!empty($_GET['page']))
$page = gdrcd_filter('include',$_GET['page']);
else
$page = 'password';
/** * Procedura di recupero Password
*/
$RP_response = '';
if(!empty($_POST['email']))
{
$newpass = gdrcd_query("SELECT email FROM personaggio WHERE email = '".gdrcd_filter('in',$_POST['email'])."' LIMIT 1", 'result');
if (gdrcd_query($newpass, 'num_rows') > 0)
{
gdrcd_query($newpass, 'free');
$pass = gdrcd_genera_pass();
gdrcd_query("UPDATE personaggio SET pass = '".gdrcd_encript($pass)."' WHERE email = '".gdrcd_filter('in',$_POST['email'])."' LIMIT 1");
$subject = gdrcd_filter('out',$MESSAGE['register']['forms']['mail']['sub'].' '.$PARAMETERS['info']['site_name']);
$text = gdrcd_filter('out',$MESSAGE['register']['forms']['mail']['text'].': '.$pass);
mail($_POST['email'], $subject, $text, 'From: '.$PARAMETERS['info']['webmaster_email']);
$RP_response = gdrcd_filter('out',$MESSAGE['warning']['modified']);
}else
{
$RP_response = gdrcd_filter('out',$MESSAGE['warning']['cant_do']);
}
}
io vorrei inserire un tasto "submit" sotto $RP_response = gdrcd_filter('out',$MESSAGE['warning']['cant_do']);, ovvero, vorrei che diventasse in questo modo:
}else
{
$RP_response = gdrcd_filter('out',$MESSAGE['warning']['cant_do']);
tasto submit
}
ho provato con:
<form action="nome_file">
<input type="submit" id="submit" value="scritta" />
</form>
ma non funziona...
come si può inserire il tasto "submit"?
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!
Raja Dunia ↗
CRSED: F.O.A.D. ↗
Hero Wars ↗
Wuthering Waves ↗
War Thunder ↗
Tibia ↗
Storie di Agarthi ↗