Problema come sempre col php

Ragazzi, io la buona volontà c'è la ho messa, ma non ci riesco, mi dite cosa c'è che non va?

<?

session_start();

include ("inc/parametri.inc.php");

include ("inc/controllo.php");

include ("inc/open2.php");

include ("inc/controlloesilio.php");

include ("inc/header.html.inc.php");

/*estraggo dati esp e forza di attacco*/

$NOMEATTACCO= htmlspecialchars($Login)

   $sqlinter = "SELECT ESPERIENZA, FORZA FROM Personaggio WHERE NOME = '$NOMEATTACCO'";

   $conteggio = mysql_query($sqlinter);

   $num = mysql_num_rows($conteggio);

/*setto i dati di attacco in variabili*/

$AttEsp=row["ESPERIENZA"]

$AttForza=row["FORZA"]

/*estraggo i dati di difesa*/

$NOMEDIFESA= Terror

$sqlinter = "SELECT ESPERIENZA, FORZA, salute FROM Personaggio WHERE NOME = '$NOMEDIFESA'";

   $conteggio = mysql_query($sqlinter);

   $num = mysql_num_rows($conteggio);

/*setto i dati in variabili*/

$DifEsp=row["ESPERIENZA"]

$DifForza=row["FORZA"]

$SALUTE=row["SALUTE"]

/*parte di calcolo*/

$Ferita=$AttEsp+AttForza

$Ferita=$Ferita-$DifEsp

$Ferita=$Ferita-$DifForza

$Ferita=((($AttEsp+$AttForza)-($DifEsp-$DifForza))/4)

$NUOVASALUTE=$SALUTE-$FERITA

/*ottengo con l'equazione i punti da togliere*/

/*controllo che ferita non si 0*/

if ($ferita>0)

/*UPDATE E SALVO I DATI DI SALUTE*/

   $MySql = "UPDATE Personaggio SET SALUTE = '$NUOVASALUTE' WHERE Nome = '$NOMEDIFESA'";

   $Result = mysql_query($MySql);

   echo '<b><font color=red>Personaggio '.htmlspecialchars(stripslashes($NOMEDIFESA)).' Attaccato!!!</font></b>';

?>

Questo è il codice, per attaccare uno,mettendo che Terror(primo nome venutomi in mente esista in db) perchè mi da errore???

Ringrazio..

Nik

inviato 10 anni fa
Nik
Nik
1
X 0 X

Mancano tutti i ';' alla fine delle istruzioni, ex:

/*setto i dati di attacco in variabili*/

$AttEsp=row["ESPERIENZA"]

$AttForza=row["FORZA"]

In secondo luogo, quando fai una query,metti sempre mysql_error(), ex

Ex:

$sqlinter = "SELECT ESPERIENZA, FORZA FROM Personaggio WHERE NOME = '$NOMEATTACCO'";

   $conteggio = mysql_query($sqlinter) or die ("Errore: ".mysql_error());

   $num = mysql_num_rows($conteggio);

CMQ se gli errori non fossero dovuti a queste cose, posta l'errore che ti da lo script...

ciao

risposto 10 anni fa
Lore
Lore
1
X 0 X

ok, ho messo il codice così...

<?
session_start(); 
include ("inc/parametri.inc.php");
include ("inc/controllo.php");
include ("inc/open2.php");
include ("inc/controlloesilio.php");
include ("inc/header.html.inc.php");


/*estraggo dati esp e forza di attacco*/

$NOMEATTACCO= htmlspecialchars($Login)

   $sqlinter = "SELECT ESPERIENZA, FORZA FROM Personaggio WHERE NOME = '$NOMEATTACCO'";
   $conteggio = mysql_query($sqlinter)or die ("Errore: ".mysql_error());
   $num = mysql_num_rows($conteggio);


/*setto i dati di attacco in variabili*/

$AttEsp=row["ESPERIENZA"];
$AttForza=row["FORZA"];


/*estraggo i dati di difesa*/

$NOMEDIFESA= Terror   (è giusta così????)

$sqlinter = "SELECT ESPERIENZA, FORZA, salute FROM Personaggio WHERE NOME = '$NOMEDIFESA'";
   $conteggio = mysql_query($sqlinter)or die ("Errore: ".mysql_error());
   $num = mysql_num_rows($conteggio);


/*setto i dati in variabili*/

$DifEsp=row["ESPERIENZA"];
$DifForza=row["FORZA"];
$SALUTE=row["SALUTE"];


/*parte di calcolo*/

$Ferita=$AttEsp+AttForza;
$Ferita=$Ferita-$DifEsp;
$Ferita=$Ferita-$DifForza;
$Ferita=((($AttEsp+$AttForza)-($DifEsp-$DifForza))/4);
$NUOVASALUTE=$SALUTE-$FERITA;

/*ottengo con l'equazione i punti da togliere*/

/*controllo che ferita non si 0*/

if ($ferita>0);

/*UPDATE E SALVO I DATI DI SALUTE*/

   $MySql = "UPDATE Personaggio SET SALUTE = '$NUOVASALUTE' WHERE Nome = '$NOMEDIFESA'";
   $Result = mysql_query($MySql);
   echo '<b><font color=red>Personaggio '.htmlspecialchars(stripslashes($NOMEDIFESA)).' Attaccato!!!</font></b>';



?>

Ma mi da questo errore

Parse error: syntax error, unexpected T_VARIABLE in /membri/middleage/attacco.php on line 21

risposto 10 anni fa
Nik
Nik
1
modificato 10 anni fa
X 0 X

anzi ora 14

risposto 10 anni fa
Nik
Nik
1
X 0 X

$nomeattatto = htmlspecialchars($login) ; DEVI mettere ache ; dopo le funzioni :)

funzioni ;

variabili ;

echo ;

print ecc ....

risposto 10 anni fa
Andrea Turso
Andrea Turso
86
X 0 X

giusto come dice trashofmasters, inoltre,

$NOMEDIFESA= Terror

non va bene,dovrebbe essere:

$NOMEDIFESA= "Terror";

ciao

risposto 10 anni fa
Lore
Lore
1
X 0 X

<?

session_start();

include ("inc/parametri.inc.php");

include ("inc/controllo.php");

include ("inc/open2.php");

include ("inc/controlloesilio.php");

include ("inc/header.html.inc.php");

/*estraggo dati esp e forza di attacco*/

$NOMEATTACCO= htmlspecialchars($Login);

   $sqlinter = "SELECT ESPERIENZA, FORZA FROM Personaggio WHERE NOME = '$NOMEATTACCO'";

   $conteggio = mysql_query($sqlinter)or die ("Errore: ".mysql_error());

   $num = mysql_num_rows($conteggio);

/*setto i dati di attacco in variabili*/

$AttEsp=row["ESPERIENZA"];

$AttForza=row["FORZA"];

/*estraggo i dati di difesa*/

$NOMEDIFESA="Terror";

$sqlinter = "SELECT ESPERIENZA, FORZA, salute FROM Personaggio WHERE NOME = '$NOMEDIFESA'";

   $conteggio = mysql_query($sqlinter)or die ("Errore: ".mysql_error());

   $num = mysql_num_rows($conteggio);

/*setto i dati in variabili*/

$DifEsp=row["ESPERIENZA"];

$DifForza=row["FORZA"];

$SALUTE=row["SALUTE"];

/*parte di calcolo*/

$Ferita=$AttEsp+AttForza;

$Ferita=$Ferita-$DifEsp;

$Ferita=$Ferita-$DifForza;

$Ferita=((($AttEsp+$AttForza)-($DifEsp-$DifForza))/4);

$NUOVASALUTE=$SALUTE-$FERITA;

/*ottengo con l'equazione i punti da togliere*/

/*controllo che ferita non si 0*/

if ($ferita>0);

/*UPDATE E SALVO I DATI DI SALUTE*/

   $MySql = "UPDATE Personaggio SET SALUTE = '$NUOVASALUTE' WHERE Nome = '$NOMEDIFESA'";

   $Result = mysql_query($MySql);

   echo '<b><font color=red>Personaggio '.htmlspecialchars(stripslashes($NOMEDIFESA)).' Attaccato!!!</font></b>';

?>

<html>

<head>

</head>

<body bgcolor=#555555>

</form>

</body>

</html>

ecco il codice: ma mi da lo stesso errore,

Parse error: syntax error, unexpected T_VARIABLE in /membri/middleage/attacco.php on line 21

risposto 10 anni fa
Nik
Nik
1
X 0 X

Su molte variabili manca il '$' davanti...

IN PHP il simbolo $ è necessario per riconoscere una variabile...

Ex:

$AttEsp=row["ESPERIENZA"];

$AttForza=row["FORZA"];

In queste righe manca...

Non prendertela male, ma forse, prima di iniziare con connessioni al DB e quant'altro, ti conviene iniziare con le basi, qualche guida magari...

http://www.phpnews.it/content/view/224/107/

piuttosto che qualche libro, o anche la documentazione ufficiale su

http://www.php.net/manual/it/

Non è una critica, è solo che iniziare con un linguaggio nuovo, piuttosto che approcciarsi per la prima volta ad un linguaggio, non è facilissimo, perciò bisogna farsi prima delle basi...

ciao  :bye:

Lore

risposto 10 anni fa
Lore
Lore
1
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda