switch non funzionante
switch non funzionante postato il 13/04/2010 14:26:32 nel forum programmazione, open source e hosting
Ciao a tutti,
ho appena fatto la registrazione e già vi pongo il primo problema, problema su cui sto sbattendo la testa da circa due settimane...
Sto creando un bel GDR on-line tutto scritto in php ma ha inserito le classi all'interno dei personaggi, ora, tecnicamente in base alla classe dovrebbe rimandarmi alla pagina delle abilità per quella suddetta classe, invece, questo non avviene perché vengo rimandato al risultato di default, qualcuno saprebbe darmi una mano?
<?php
require_once ("class_connect_db.php");
session_start();
// Controllo accesso
if (!isset($_SESSION['nick'] ) && ($_SESSION['pws'] ) )
{
header('location: http://frozen-world.org/index2.php');
exit;
}
else
{
echo "Benvenuto ".$_SESSION['nick'];
}
$sql = "SELECT creatore, classe, AppPol FROM personaggi where creatore ='".$creatore."' AND AppPol ='".$AppPol."'";
$result = mysql_query($sql);
while($row = mysql_fetch_array($result)) {
switch($row['classe'])
{
case 'combattente':
header("Location: http://frozen-world.org/registrazione/Combattente.php");
break;
case 'pilota':
header("Location: http://frozen-world.org/registrazione/Pilota.php");
break;
case 'ricercatore':
header("Location: http://frozen-world.org/registrazione/Ricercatore.php");
break;
case 'tecnico':
header("Location: http://frozen-world.org/registrazione/Tecnico.php");
break;
case 'agente':
header("Location: http://frozen-world.org/registrazione/Agente.php");
break;
case 'outlander':
header("Location: http://frozen-world.org/registrazione/Outlander.php");
break;
case 'diplomatico':
header("Location: http://frozen-world.org/registrazione/Intrattenitore.php");
break;
case 'manager':
header("Location: http://frozen-world.org/registrazione/Manager.php");
default:
header("Location: http://frozen-world.org/registrazione/Combattente.php");
}
}
?>
Questo è il codice che io ho creato, ora,ho provato a togliere il ciclo di while e non funziona, ho provato a cambiare la query ma non funziona, ora, ho passato tutte le variabili che servono per la query direttamente tramite url, ma ancora mi dà sempre lo stesso errore, qualcuno ha un'idea?
Ringrazio tutti fin da ora per il gentile aiuto che vorrete darmi
13/04/2010 14:47:39 e modificato da scomodo il 13/04/2010 14:51:22
L'eco dell' $row['classe'] cosa ti dà? secondo me da risultato vuoto, è per quello che va a default, mi paiono strane le tue ' ', sembrano apostrofi :P
edit: ohibò è un problema di formattazione sul forum qua. come non detto.
comunque prova tipo
case combattente: (senza virgolette insomma)
13/04/2010 15:02:48
In realtà quella variabile come avevi detto tu, è vuota, di conseguenza il problema è:
perché non si riempie? Eppure tramite url vengono passati i dati in modo perfettamente corretto, le virgolette non c'entrano perché ho già provato con, senza, doppie, mi manca solo di scrivere in cirillico in realtà
13/04/2010 15:05:59
Fai un passettino indietro alla volta allora,
l'eco di $result cosa ti dà?
13/04/2010 15:29:48
$sql = "SELECT creatore, classe, AppPol FROM personaggi where creatore ='".$creatore."' AND AppPol ='".$AppPol."'";
$result = mysql_query($sql);
echo $result;
Non dà nessun risultato, praticamente mi fa andare sempre al combattente, tutto qui ho provato a farlo in tutte le salse, utilizzando echo ""; echo ; print_r( $variabile);
13/04/2010 15:43:43
allora è sbagliata la query.
13/04/2010 16:01:08
Ma come fa ad essere sbagliata? Sono sicuro che quelle variabili esistano e che il db si è popolato da quelle tre variabili, in pratica mi sorge un po' strano che sia sbagliata la query anche se più che altro mi sorge più strano che la query non venga eseguita perché a questo punto mi viene da pensare ciò
13/04/2010 16:08:56
$sql come scrive la query? non sarà un problema di sintassi?
13/04/2010 16:17:43
Cioè?
In che senso problema di sintassi? Praticamente, funziona tutto fin qui, è poi esce con la sintassi? Si, volendo posso dare anche altri nomi non è questo il problema, ci provo
13/04/2010 16:19:28
aggiungi alla query dopo la )la seguente dicitura
or die('errore quello che vuoi te');
se la query è errata ti apparirà il messaggio.
Ps io la inserisco dopo ogni query, aiuta a trovare gli errori.
13/04/2010 16:27:19
Ragazzi, qualcosa di folle!
Ho cambiato i nomi delle variabili e adesso funziona!
Discussione seguita da
Rispondi alla Discussione Segui Discussione Inoltra Discussione Forum Programmazione, Open Source e Hosting Elenco Forum
Articoli, Interviste e altre Risorse!
New Orleans ↗
Hero Wars ↗
Imperion ↗
RAID Shadow Legends ↗
Foundation Galactic Frontier ↗
Seconda Era ↗
World of the Sea Battle ↗
Wuthering Waves ↗
Tiles Survive ↗
Fallen Gods ↗