Non trovo l'errore(newbie)

DeAndreon

Utente Attivo
9 Giu 2009
39
0
0
Ciao a tutti! Da poco sto incominciando a studiare il php causa esame maturità. Ho fatto un piccolo esperimento però non trovo l'errore:incazz: Non mi visualizza i risultati anche con numerose prove che ho fatto:incazz:

Ecco a voi i 2 listati:

pag1.html

<HTML>
<HEAD>
<TITLE>Voti partiti</TITLE>
</HEAD>
<BODY>
<FORM ACTION = "pag2.php" METHOD= "POST">
Partito democratico: <INPUT TYPE = "text" NAME = "p1">
PDL: <INPUT TYPE = "text" NAME = "p2">
Sinistra e libertà: <INPUT TYPE = "text" NAME = "p3">
Italia dei Valori: <INPUT TYPE = "text" NAME = "p4">
<INPUT TYPE = "submit" VALUE = "Controlla">
</FORM>
</BODY>
</HTML>

pag2.php

<HTML>
<HEAD>
<TITLE>Risultati</TITLE>
</HEAD>
<BODY>
<H3>Il partito con più voti</H3>
<?php

$part[0] = $_POST["p1"];
$part[1] = $_POST["p2"];
$part[2] = $_POST["p3"];
$part[3] = $_POST["p4"];
$nome[0] = 'Partito Democratico';
$nome[1] = 'PDL';
$nome[2] = 'Sinistra e libertà';
$nome[3] = 'Italia dei valori';
$I= 0;
$max = 0;
$nomepart = '';

for($I = 0; $I <= 4; $I++)
{
if ( $part > $max )
{
$max = $part;
$nomepart = $nome;
}
}

print ("Il partito con più voti è : $nomepart");
print( " con $max");
?>

</BODY>
</HTML>


Sembra che non memorizza i parametri che gli passo con la pagina pag1.html:crying:

Chi mi sa aiutare! Grazie a tutti!
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
146
63
PR
www.borgo-italia.it
ciao
forse ti sei dimenticato che php è casesensitive e il nome della variabile

for($I = 0; $I <= 4; $I++)
{
if ( $part[i] > $max )
{
$max = $part[i];
$nomepart = $nome[i];
}
}

quindi

PHP:
for($i = 0; $i <= 4; $i++)
{
if ( $part[$i] > $max )
{
$max = $part[$i];
$nomepart = $nome[$i];
}
}
 

DeAndreon

Utente Attivo
9 Giu 2009
39
0
0
Waaaaaaaaaaaaaaaaaaaaaaaaaaaaa, non l'ho visto proprio!!!!!!!!!!!!!!!!!!!!! Sono proprio un cecato!!!!!!!!!!!!!! hihi Grazie! Non l'avevo proprio visto!
Ti posso chiedere una cosa? Ma tra echo e print che differenza sostanziale c'è?
 

DeAndreon

Utente Attivo
9 Giu 2009
39
0
0
L'ho modificato ma non va lo stesso:confused:

pag2.php

<HTML>
<HEAD>
<TITLE>Risultati</TITLE>
</HEAD>
<BODY>
<H3>Il partito con più voti</H3>
<?php

$part[0] = $_POST["p1"];
$part[1] = $_POST["p2"];
$part[2] = $_POST["p3"];
$part[3] = $_POST["p4"];
$nome[0] = 'Partito Democratico';
$nome[1] = 'PDL';
$nome[2] = 'Sinistra e libertà';
$nome[3] = 'Italia dei valori';
$i= 0;
$max = 0;
$nomepart = '';

for($i = 0; $i <= 4; $i++)
{
if ( $part > $max )
{
$max = $part;
$nomepart = $nome;
}
}

print ("Il partito con più voti è : $nomepart");
print( " con $max");
?>

</BODY>
</HTML>
 

lotus

Utente Attivo
5 Mag 2009
543
8
0
PHP:
print ("Il partito con più voti è : $nomepart");
ed il rigo successivo... prova a levare le " prima di indicare $nomepart..
come segue..

PHP]print ("Il partito con più voti è: ".$nomepart);[[/PHP]

fai o stesso anche al rigo sotto..

Se da ancora problemi mi dici dove si ferma...

Ciro
 

DeAndreon

Utente Attivo
9 Giu 2009
39
0
0
Ciao! Grazie per la risposta! Niente, ho cambiato come hai detto tu:

<HTML>
<HEAD>
<TITLE>Risultati</TITLE>
</HEAD>
<BODY>
<H3>Il partito con più voti</H3>
<?php

$part[0] = $_POST["p1"];
$part[1] = $_POST["p2"];
$part[2] = $_POST["p3"];
$part[3] = $_POST["p4"];
$nome[0] = 'Partito Democratico';
$nome[1] = 'PDL';
$nome[2] = 'Sinistra e libertà';
$nome[3] = 'Italia dei valori';
$i= 0;
$max = 0;
$nomepart = '';

for($i = 0; $i <= 4; $i++)
{
if ( $part > $max )
{
$max = $part;
$nomepart = $nome;
}
}

print ("Il partito con più voti è :" .$nomepart);
print( " con " .$max);
?>

</BODY>
</HTML>

Come risultato da "Il partito con più voti è: " (e non compare niente) e il secondo "Con" 0 . Niente, fa sempre così ... eppure mi sembra che sta fatto bene:mad:
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
146
63
PR
www.borgo-italia.it
ciao
no non hai cambiato tutto:D

if ( $part[$i] > $max )
{
$max = $part[$i];
$nomepart = $nome[$i];

per la print andava bene anche come facevi tu, si mette il . soprattutto quando c'è una funzione es.
print ("Il partito con più voti è : $nomepart");// va bene
print ("Il partito con più voti è : ".htmlspeialchars($nomepart));

comunque guarda questi link

http://it2.php.net/manual/en/function.echo.php
http://it2.php.net/manual/en/function.print.php

discussione sulla differenza tra echo e print
http://www.faqts.com/knowledge_base/view.phtml/aid/1/fid/40
 

lotus

Utente Attivo
5 Mag 2009
543
8
0
Ciao... perfetto mi sembra risolto...

sto dal cell.. è pensare che avevo visto l'apertura con " e la chisura con '....

Devo proprio usare il pc :)
 

DeAndreon

Utente Attivo
9 Giu 2009
39
0
0
ho capito!!!!!!!!!!!!!! affianco ad i non mettevo il $! Questo dollaro! Abituato con c & co. il dollaro non mi vuole entrare in testa!:D

Grazie! Funziona ora! Era il dollaro!:D

Sisi, leggo i link postati da te!