Jump to content
deepprogect

Notice: Undefined index:plafond in C:\wamp\www\PW\validarcliente.php on line 14

Recommended Posts

deepprogect

Boa tarde..

Eu sou novo na comunidade e estou a fazer um trabalho para a universidade e não consigo resolver um problema..

Não consigo passar 2 várias do mesmo parâmetro para outra pagina..

<?php
session_start();
if($_SESSION['login'])
echo "Bem-vindo, ".$_SESSION['login']."!";
else
die("Não esta logado!");
?>
<?php
$con = mysql_connect("localhost","root","root");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("compras_dia", $con);

$result = mysql_query("SELECT * FROM Cliente where plafond=0");
echo "<table border='0'>

<tr>
<th>nome</th>
<th>email</th>
<th>plafond</th>
<th></th>
<th>riscoCredito</th>
<th>divida</th>
<th>login</th>
<th>password</th>
<th>Validar</th>
</tr>";

while($row = mysql_fetch_array($result))
{
$result2 = mysql_query("SELECT * FROM Cliente where numCliente='".$row['numCliente']."'");
  echo "<tr>"; 
  echo "<td>" . $row['nome'] . "</td>";
  echo "<td>" . $row['email'] . "</td>";  
  echo "<td>" . $row['plafond'] . "</td>";
  echo "<td>" . "<input type=text name=plafond size=1/>"."</td>";
  echo "<td>" . $row['riscoCredito'] . "</td>";
  echo "<td>" . $row['divida'] . "</td>";
  echo "<td>" . $row['login'] . "</td>"; 
  echo "<td>" . $row['password'] . "</td>";  
  echo "<td>".'<a href="validarcliente.php?id='.$row['numCliente'].'">Validar</a>'."</td>";
  echo "</tr>";}
echo "</table>";

mysql_close($con);
?>  

Este código é responsável por mostrar os vários clientes com plafond igual a 0, para depois alterar o plafond para 50(por exemplo) para validar as contas relativas aos clientes registados no site.

O código validar cliente é o seguinte:

<?php
$con = mysql_connect("localhost","root","root");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("compras_dia", $con);

$plafond= $_POST['plafond'];

mysql_query("UPDATE cliente SET plafond='$plafond' Where numCliente='$numCliente'");
mysql_close($con);
?>

Apesar de conseguir passar o id do cliente, não consigo alterar o valor do plafond e aparece sempre o mesmo erro:

Notice: Undefined index: plafond in C:\wamp\www\PW\validarcliente.php on line 10

Notice: Undefined variable: numCliente in C:\wamp\www\PW\validarcliente.php on line 12

Já pesquisei aki no forum e em outros lados, mas não consigo encontrar solução..

Agradeço desde já a todos a disponibilidade demonstrada..

Agradecia resposta..

Cumprimentos a todos..

Share this post


Link to post
Share on other sites
deepprogect

Boas..

Obrigado pela resposta..

Eu não percebo muito de programação...

mas ao carregar no "validar"  , podes ver com este link que ele esta a passar ID do respectivo cliente mas nao esta alterar! e da sempre o mesmo erro.

link: " http://localhost/PW/validarcliente.php?id=61 "

Notice: Undefined index: plafond in C:\wamp\www\PW\validarcliente.php on line 10

Notice: Undefined index: numCliente in C:\wamp\www\PW\validarcliente.php on line 11

Consegues ser mais claro ??

Em que página é que não estão definidas as variáveis?? no pagina validarcliente??

Agradeço resposta..

Share this post


Link to post
Share on other sites
useware

Além do que disse o yoda acho que o teu problema está no código HTML.

O valor que inseres no campo que aparece com <input type=text name=plafond size=1/> não é enviado para o servidor. Para isso tens de colocar essa parte dentro de um <form name="myform" action="validarcliente.php" method="POST"></form> e usar um submit button para enviar os dados para o servidor. Também tens que fazer o mesmo com o ID (colocar um input com o valor dentro do form).

Se calhar é melhor leres isto primeiro:

http://www.echoecho.com/htmlforms12.htm

http://www.javascript-coder.com/html-form/html-form-tutorial-p1.phtml

Share this post


Link to post
Share on other sites
deepprogect

mas tenho que meter o <form> antes do while, ou depois do while..

Eu xeguei a um ponto que bloquei completamente..

Eu sei mudar o valor do plafon se escrever o id do cliente..

eu keria era k ao carregar no button Validar respectivo a cada cliente, muda-se o valor do plafon que eu escreve-se na textbox..

Desde já, obrigado pelas respostas..

Share this post


Link to post
Share on other sites
deepprogect

Boas..

Só tive hipotese de ir agora a net..

tentei resolver o problema como tu disses t ao colocar os inputs, mas dá me erro na mesma.

while($row = mysql_fetch_array($result))
{
$result2 = mysql_query("SELECT * FROM Cliente where numCliente='".$row['numCliente']."'");
$row = mysql_fetch_array($result2);
    '<form name=xpto method=POST action="validarcliente.php?id='.$row['numCliente'].'&'.$_POST['plaf'].'">';

  echo "<tr>"; 
  echo "<td>" . $row['nome'] . "</td>";
  echo "<td>" . $row['email'] . "</td>";  
  echo "<td>" . $row['plafond'] . "</td>";
  echo "<td>" . "<input type=text name=plaf size=1/>"."</td>";
  echo "<td>" . $row['riscoCredito'] . "</td>";
  echo "<td>" . $row['divida'] . "</td>";
  echo "<td>" . $row['login'] . "</td>"; 
  echo "<td>" . $row['password'] . "</td>"; 
"</form>";  
    echo "<td>".'<a href="validarcliente.php?id='.$row['numCliente'].'&vl='.$_POST['plaf'].'">Validar</a>'."</td>";
echo "</tr>";}
echo "</table>";

O botão não faz nada e não percebo o porquê.. Não consegue mandar nada a não ser o id do cliente..

obrigado desde já pelas respostas..

Share this post


Link to post
Share on other sites
Demoins

Boas..

Só tive hipotese de ir agora a net..

tentei resolver o problema como tu disses t ao colocar os inputs, mas dá me erro na mesma.

while($row = mysql_fetch_array($result))
{
$result2 = mysql_query("SELECT * FROM Cliente where numCliente='".$row['numCliente']."'");
$row = mysql_fetch_array($result2);
    '<form name=xpto method=POST action="validarcliente.php?id='.$row['numCliente'].'&'.$_POST['plaf'].'">';

  echo "<tr>"; 
  echo "<td>" . $row['nome'] . "</td>";
  echo "<td>" . $row['email'] . "</td>";  
  echo "<td>" . $row['plafond'] . "</td>";
  echo "<td>" . "<input type=text name=plaf size=1/>"."</td>";
  echo "<td>" . $row['riscoCredito'] . "</td>";
  echo "<td>" . $row['divida'] . "</td>";
  echo "<td>" . $row['login'] . "</td>"; 
  echo "<td>" . $row['password'] . "</td>"; 
"</form>";  
    echo "<td>".'<a href="validarcliente.php?id='.$row['numCliente'].'&vl='.$_POST['plaf'].'">Validar</a>'."</td>";
echo "</tr>";}
echo "</table>";

O botão não faz nada e não percebo o porquê.. Não consegue mandar nada a não ser o id do cliente..

obrigado desde já pelas respostas..

O </form> tem de estar depois do link que criaste. Além do mais estás a tentar fazer o print desse fecho do form sem utilizar o echo :S Muito confuso...

Por último o link que criaste está mal pois não passa o plafond direito. Estás  a tentar ir buscar um $_POST antes do mesmo ser criado :S :S

tenta colocar essa parte do código assim:

while($row = mysql_fetch_array($result))
{
$result2 = mysql_query("SELECT * FROM Cliente where numCliente='".$row['numCliente']."'");
$row = mysql_fetch_array($result2);
    '<form name=xpto method=POST action="validarcliente.php?id='.$row['numCliente'].'">';

  echo "<tr>"; 
  echo "<td>" . $row['nome'] . "</td>";
  echo "<td>" . $row['email'] . "</td>";  
  echo "<td>" . $row['plafond'] . "</td>";
  echo "<td>" . "<input type=text name=plaf size=1/>"."</td>";
  echo "<td>" . $row['riscoCredito'] . "</td>";
  echo "<td>" . $row['divida'] . "</td>";
  echo "<td>" . $row['login'] . "</td>"; 
  echo "<td>" . $row['password'] . "</td>"; 
  echo "<td>".'<input type="submit" value="Validar"/></td>';
  echo "</tr>";
  echo "</form>"; 
}
  echo "</table>";

Agora no validarcliente.php vais poder ir buscar o $_POST desse formulário.

Espero ter-te ajudado.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.