Dubbio Php! postato il 17/07/2009 18:08:45 nel forum programmazione, gdrcd e open source
Ragazzi volgio fare il giornale del mio gdr con tutte le cose che accadono on nel gioco allora ho questo form creato da me( non badate alla grafica inesitenete):
<html>
<head> Inserisci la tua cronaca </head>
<body>
<form action="pagina_d'arrivo.php" method="post">
<table>
<tr><td>Giornalista:</td><td><input type="text"
name="Nome"></td><tr>
<tr><td>Codice:</td><td><input type="text" name="Codice"></td><tr>
<tr><td>Titolo:</td><td><input type="text" name="Titolo"></td><tr>
<tr><td>Data:</td><td><input type="text" name="Data"></td><tr>
<tr><td>Testo:</td><td><input type="text" name="Testo"></td><tr>
<tr><td colspan="2"><input type="submit" value="Inserisci"></td><tr>
</table>
</form>
</body>
</html>
e poi ho la pagina in cui dovrei stampare le cose scritte in precedenza; vorrei che solo scrivendo un determinato numero nella Casella Codice stampasse l'articolo e non sò come scrivere la condizione nella parentesi di fianco al costrutto di controllo if; eccovi il codice php:
<html>
<head> Cronache dalla "nome gdr"</head>
<body>
<?php
if()
{
print("<h2>Giornalista: $_REQUEST[Giornalista]</h2>
")
print("<h3>Titolo: $_REQUEST[Titolo]</h3>
")
print("<h3>Data: $_REQUEST[Data]</h3>
")
print("<h3>Testo: $_REQUEST[Testo]</h3>
")
}
else
{
print("<h2>Non sei adetto a scrivere articoli<h2>
")
?>
</body>
</html>
grazie dell'aiuto
Pagine → 1 2
17/07/2009 18:34:19
Non ho ben capito... tu vorresti che un giocatore con la "qualifica" di giornalista possa scrivere queste cronache? E' un po'confusionaria come richiesta! Il campo "codice" per che cosa sta? E' il codice dell'articolo? Il codice del giornalista? Che cippa è!? :-D
Ad ogni modo devi innanzitutto fare dei controlli sulle variabili mandate dalla pagina col form (intendo, se sono stati scritti i campi). Questo lo puoi fare con una serie di if(!($_REQUEST['titolo'])) ecc ecc. all'inizio dello script, ma probabilmente non è quello che ti serve! Ti spiegheresti meglio?
17/07/2009 18:54:54
Scusate se non mi sono ben spiegato allora vorrei che una pg scrivendo solo un determinato codice scelto da me e comunicato solo a quel pg possa pubblicare l'articolo capito?? Cioè l'articolo potrebbe essere pubbliccato scrivendo solo un determinato codice nell'apposito form!
17/07/2009 18:56:30 e modificato da kamato il 17/07/2009 18:56:56
Ahh .. tipo quando uno si registra un contatto msn,che prima che sia inviata la richiesta c'è un campo con un codice da compilare .. intendi questo?
17/07/2009 18:58:55
no, neanche kamto cioè io vorrei un codice sempre fisso che sappiano solo alcuni pg e solo scrivendo quel codice sia possibbile pubblicare l'articolo|
17/07/2009 19:01:21
quindi se uno di quei giocatori lo dice a un altro giocatore anche quello potrà pubblicare.
Pericolosetto :)
17/07/2009 19:07:22
se no come potrei fare potrei fare che solo alcuni appertenenti a quella gilda possano scrivere scrivendo come condizione che solo quella gilda con l'id prefissato possano scrivere. Però l'unica cosa che non sò tradurlo in linguaggio php. nel manuale che ho letto non trattava di questa cosa
17/07/2009 19:22:35 e modificato da stoneragon il 17/07/2009 19:27:21
Allora... Se ho capito quello che vuoi fare puoi fare in 2 modi...
O assegni una tabella nel db dove metti tutto l'elenco dei codici che è possibile scegliere, oppure più semplicemente assegni ad una variabile il codice, poi nell'if fai il confronto.
$codice_esatto="ciao";
[...]
if ($_POST[codice] == $codice_esatto ) {
[...]
}
dove ci sono i [...] ci va il tuo codice.
Non sono soluzioni ottimali però, dovrebbero andare..
I _POST e i _REQUEST sarebbe meglio farli ad inizio pagina... E sarebbe meglio usare sempre i _POST per le variabili passate tramite metodo post e i _GET per quelle passate tramite metodo _GET..
Se no uno può manipolare la pagina troppo facilmente...
Spero di non aver detto delle cavolate, e spero di aver capito quello che vuoi fare..
Edit per:
Ho letto ora il tuo messaggio.
Se vuoi fare che solo una certa gilda possa scrivere ti basterà guardare nella tabella personaggio l'id della gilda e fare il confronto se è uguale a quello della gilda che può scrivere..
cioè, esempio:
fai una SELECT nel DB e selezioni il campo "id_gilda" dove il nick è uguale al nick dell'utente.
Poi, fai:
if ($id_gilda == $id_della_gilda_che_puo_scrivere ) {
fai quello che devi fare
} else {
echo "Non hai i permessi";
}
è questo che intendi?
P.s. Il codice come l'ho scritto non è correttissimo è da adattare al tuo gdr naturalmente ^^
17/07/2009 19:40:48
Scusate se mi intrometto. Al di la di quello che vuoi esattamente fare, Giachy, tu hai fatto il codice di un form che invia dei dati ad una pagina, tra l'altro in modo request, il che vuol dire che chiunque, codice o non codice, puo' mandare informazioni a quella pagina scrivendole nella barra degli indirizzi a meno di fare opportuni controlli. Quella pagina tutto quello che fa e' leggere quello che hai scritto nel form e poi stamparlo sullo schermo. Una volta sola, perche' non viene salvato da nessuna parte.
In pratica tutto quello che fai, usando quella pagina e' scrivere qualcosa, cliccare su submit e rileggere quello che hai scritto, cosa che non fara' nessun'altro che non sia al tuo computer.
Penso proprio che non sia quello che volevi fare :D
Per far pubblicare qualcosa agli utenti la devi salvare da qualche parte, che sia un file o che sia un database (nel tuo caso piu' semplice il secondo).
Ora, utilizzare un database non e' un'argomento che si possa spiegare in un post di forum, quindi ti lascio un paio di cose da leggere. Ti consiglio di farlo e maturare un'idea piu' chiara di quello che stai facendo, perche' altrimenti o te lo fa qualcuno o non credo che ci riuscirai (con tutto il rispetto).
Poi il controllo per fecidere chi scrive e chi no' e' una bazzecola che si puo' fare in 1000 modi.
http://it.wikipedia.org/wiki/MySQL
http://php.html.it/guide/
17/07/2009 21:11:44
Quoto faber... anche se io scriverei su file al posto di infilare fuffa nel db. Per il controllo puoi fare controlli incrociati non solo sull'id, ma anche sul nome del pg, sull'ip della connessione, sull'id della gilda... persino sul browser con cui il player naviga, non so se mi spiego :) E il tutto in una riga di codice:
if(cond1 && cond2 && ... && condN){
scriviArticolo();
}
P.S. Queste cose sono molto basilari, forse dovresti approfondire le tue conoscenze riguardo le risoluzioni di algoritmi.
18/07/2009 00:41:12
Discussione seguita da
Pagine → 1 2
Rispondi alla Discussione Aggiungi ai Preferiti Inoltra Discussione Forum Programmazione, GDRCD e Open Source Elenco Forum
I dati del generatore di rank sono stati aggiornati!