ugrás a tartalomhoz

UPDATE csak akkor működik, ha számot adok meg

Anonymous · 2006. Dec. 17. (V), 18.22
Elakadtam egy programban ami az alábbi adatbázis rekordjainak a törlését és módositását valósitaná meg.Ime az adatbázisom:
CREATE TABLE hir (azonosito INT NOT NULL AUTO_INCREMENT PRIMARY KEY,hir TEXT, nev VARCHAR(50), jelszo VARCHAR(8));
Az include fájlom:adat_bazis.inc
<?php
  global $kapcsolat;
  
  dbCsatlakozas();
  function dbCsatlakozas()
  {
  global $kapcsolat;
  $kapcsolat = mysql_connect( "localhost",
  "felhasznalo", "jelszo" );
  if ( ! $kapcsolat )
  die( "Nem lehet csatlakozni a MySQL-hez" );
  mysql_select_db( "hirfelvivo", $kapcsolat )
 or die ( "Nem lehet megnyitni az adatbázist:
  ".mysql_error() );
  }

  function lekeres($nev,$ujelszo,$azonosito)

  {   
  global $kapcsolat;
  $parancs = "SELECT hir FROM hir WHERE   nev='$nev' AND jelszo='$ujelszo' AND azonosito='$azonosito'" ;
  $lekert = mysql_query( $parancs, $kapcsolat );

  if ( ! $lekert )
   die ( "A megadott adatok hibásak! "
  .mysql_error() );

  if ( mysql_num_rows( $lekert ) )
  return mysql_fetch_array( $lekert) ;
  return false;

  }
 
 function torles( $azonosito )
  {
  global $kapcsolat;
  $parancs = "DELETE  FROM hir WHERE
  azonosito='$azonosito'";
  $torolt = mysql_query( $parancs, $kapcsolat );
  if ( ! $torolt )
  die ( "esemenyTorles hiba: ".mysql_error() );
  return ( mysql_affected_rows($kapcsolat) );
  }

   
   
  function modositas($hir,$azonosito2)
  {
  global $kapcsolat;
  $hir2=$hir;
  $parancs = "UPDATE   hir SET hir='$hir2' WHERE
  azonosito='$azonosito2'";
  $mod = mysql_query( $parancs, $kapcsolat );
  if ( ! $mod )
  die ( "modositasi hiba: ".mysql_error() );
  return ( mysql_affected_rows($kapcsolat) );
  }

?>
A programom:
<html>

<head>
<title>Modosito/Torlo_ progi</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<?php
include("adat_bazis.inc");

if (  isset( $_POST['azonosito'] ) && isset( $_POST['nev'] )&& isset( $_POST['ujelszo'] ))

{
  $vissza=lekeres($_POST['nev'],$_POST['ujelszo'],$_POST['azonosito']);

  $szoveg="$vissza[hir]";

  if ($_POST['mitkelltenni']=='beolvasom')
  {
  //$azonosito=$_POST['azonosito'];
  print "<form action=\"$PHP_SELF\"  method=\"post\">";
  print "hir:<BR>";
  print "<textarea name=\"hir2\" cols=\"40\" rows=\"5\">$szoveg</textarea><BR>";
  print "<BR>";
  print "<input  type=\"submit\" value=\"Módosít/Töröl\"><BR>";

  print"</form>";

  }


  if ($_POST['mitkelltenni2']=='torles')
   torles($_POST['azonosito']);
  else 
   {
     modositas($_POST['hir2'],$azonosito);
   }
 
 
 
 
 }//isset zárója
?>
A GOND OTT VAN HOGY TOROLNI TUDOK , MÓDOSITANI NEM!HA AZ AZONOSITONAK SZÁMOT ADOK MEG AKKOR MÜKÖDIK.MI LEHET A BAJ?????
 
1

$azonosito nem kap értéket

Hojtsy Gábor · 2006. Dec. 17. (V), 20.00
Az $azonosito változó nem kap értéket a kódban.