Effettuare i controlli di obbligatorietà lato server e, per quanto possibile, di tipo.

  • Creatore Discussione Creatore Discussione m4rte
  • Data di inizio Data di inizio

m4rte

Nuovo Utente
12 Apr 2014
2
0
0
salve mi trovo davanti questo esercizio (mi scuso già per il papiro):

Realizzare un'applicazione PHP per la gestione delle squadre di calcio.

Si puo' visualizzare in un elenco il nome dei giocatori e della squadra in cui gioca.

Cliccando sul nome di un giocatore si accede alla pagina di modifica nella quale si puo' modificare il nome del giocatore(*) (campo di testo) e la squadra a cui appartiene (menu a tendina). Il menu a tendina con l'elenco delle squadre viene generato dinamicamente dalla tabella 'squadra' descritta sotto. Gli elementi contrassegnati da (*) sono obbligatori.

Se la modifica viene effettuata con successo l'utente viene rediretto sulla pagina di elenco. In caso contrario l'utente viene rediretto sulla pagina stessa di modifica visualizzando un messaggio d'errore e mantenendo i valori inseriti (vanno memorizzati in variabili di sessione).

Nel caso in cui ci sia una modifica effettiva della squadra viene inserito un record nella tabella 'log' i cui campi sono: codice giocatore, codice vecchia squadra, codice nuova squadra.

Le squadre sono memorizzate nella tabella 'squadra' del DB che contiene come campi il codice della squadra ed il suo nome. I giocatori sono memorizzati nella tabella 'giocatore' del DB che contiene come campi il codice del giocatore, il suo nome ed il codice della squadra in cui gioca.

Effettuare i controlli di obbligatorietà lato server e, per quanto possibile, di tipo.
------------------------------------------------
PHP:
<?php
session_start();
//$_SESSION['stessasquadra'] è il nome della squadra iniziale del giocatore



$idg=$_POST['id'];                                           //contiene l'id del giocatore selezionato
$nome=$_POST['nuovonome'];                           // il nuovo nome scelto per il giocatore

$squadraselezionata=$_POST['squadra'];              //la nuova squadra del giocatore
echo $squadraselezionata;

$idsquadrainiziale=$_POST['idvecsq'];                  // l'id della squadra inziale del giocatore scelto
echo $idsquadrainiziale;




$dbh=new PDO('mysql: host=localhost;dbname=casa','root','');

try{
	$dbh=new PDO('mysql: host=localhost;dbname=casa','root','');
	echo "Connessione effettuata<br/>";
	}
	catch(PDOException $e){
		echo "errore";
		}
		


		
		




$cambia=$dbh->exec("UPDATE giocatori SET nomeg='$nome' WHERE idg='$idg'");

if(!$cambia) {
	echo $dbh->errorCode();
	echo "<br/>";
	echo $dbh->errorInfo();
}else {
	header("Location:elencogiocatori.php");
	}
	
	
	
if($squadraselezionata==$_SESSION['stessasquadra']){
	$_SESSION['squadra']=$squadraselezionata;
	echo " </br>";
	echo "stessa squadra";
	}
	else {
		$cambias=$dbh->exec("create table log(
									codiceg int(5) primary key,
									codicevsq int(5),
									codicensq int(20)
									)ENGINE=InnoDB;");
									
		$idsquadraselezionata=$dbh->query("SELECT ids FROM squadre WHERE nomes='$squadraselezionata'"); 		
		foreach($idsquadraselezionata as $lista){
			$idsquadra=$lista['ids'];		
		}						
								
		$cambias=$dbh->exec("INSERT INTO log(codiceg,codicevsq,codicensq) VALUES ('$idg','$idsquadrainiziale','$idsquadra')");
	 	echo $idg;
	 	echo"<br/>"; 
	 	 	echo $idsquadrainiziale;
	 	 	echo "<br/>";  
	 	 		echo $idsquadra;
	
	}
		
?>


tabella giocatori(
idg nomeg ids
1 gigi 1
2 javier 2
3 francesco 3


tabella squadre(
ids nomes
1 juventus
2 inter
3 roma


Sinceramente non ho capito proprio come fare a fare i controlli richiesti, cercando in giro ho visto qualcosa riguardante bindvalue, prepare, execute ma non ci ho capito tanto.
 
Ultima modifica di un moderatore:

Discussioni simili