[Gfoss] pmapper editing di punti

Ho provato a mettere echo "<p>Sql = '$sql'"; ma praticamente non mi da nessun risultato per quella variabile...nè per quella nè per altre in questo file..
il campo the_geom e' il campo geometry...l'unico altro campo che è menzionato di diverso e' imgxy che penso faccia parte dello script per individuare il punto selezionato sulla carta.
I due file che vanno modificati sono digitize.php e digitizedlg.phtml..gli altri che trovate anche nello zip sono solo da copiare...vi metto anche la parte del file .map

-------------------------------------------------------------
il file completo e' digitize.php

<?php
require_once ("DB.php");
session_start();
require_once("common.php");

function DB_addPoint($imgxy, $nome, $datazione, $funzione, $quota)
{
    $db_host = "localhost";
    $db_type = "pgsql";
    $db_name = "postgres";
    $db_user = "postgres";
    $db_pwd = "pass";
    
    $dsn = "$db_type://$db_user:$db_pwd@$db_host/$db_name";
    
    // CONVERT PIXEL X/Y TO MAP UNITS
    $imgxy_arr = explode(" ", $imgxy);
    $x_pix = $imgxy_arr[0];
    $y_pix = $imgxy_arr[1];
        
    $GEOEXT = $_SESSION["GEOEXT"];
    $geoDeltaX = $GEOEXT["maxx"] - $GEOEXT["minx"];
    $geoDeltaY = $GEOEXT["maxy"] - $GEOEXT["miny"];
    
    $mapW = $_SESSION["mapwidth"];
    $mapH = $_SESSION["mapheight"];
    
    $x_geo = round($GEOEXT["minx"] + (($x_pix/$mapW)*$geoDeltaX));
    $y_geo = round($GEOEXT["maxy"] - (($y_pix/$mapH)*$geoDeltaY));

    // CONNECT TO DB AND RUN QUERY
    $the_geom = "GeomFromText('POINT($x_geo $y_geo)',26591)";
    $sql = "INSERT INTO liguri(the_geom,nome,datazione,funzione,quota)
            VALUES($the_geom,
                   $nome,
                   $datazione,
                   $funzione,
                   $quota)";
    //error_log ($sql);
  
    $dbh = dbConnect($dsn);
    $result = $dbh->query($sql);

    // Check that $result is not an error
    if (DB::isError($result)) {
        $dbh->disconnect();
        return ($result->getMessage());
    } else {
        $dbh->disconnect();
        return 1;
    }
     
}

function dbConnect($dsn)
{
    $dbh = DB::connect($dsn);
    if (DB::isError($dbh)) {
        die ($dbh->getMessage());
        return NULL;
    } else {
        return $dbh;
    }
}
echo "<p>Sql = '$sql'";

?>

-----------------------------------------------------------
il file completo che mostra la tabella di inserimento è digitizedlg.phtml

<?php
require_once("incphp/digitize.php");
require_once("incphp/common.php");
require_once("incphp/globals.php");

//==============================================

$definepoint = $_GET['definepoint'];
if ($definepoint) {
    $imgxy = $_GET['imgxy'];
} else {
    $imgxy = $_POST['imgxy'];
    $addpoint = $_POST['addpoint'];
}

if ($addpoint) {
    $nome = $_POST['nome'];
    $datazione = $_POST['datazione'];
    $funzione = $_POST['funzione'];
    $quota = $_POST['quota'];
    
    // Write to DB
    $dbreturn = DB_addPoint($imgxy, $nome, $datazione, $funzione, $quota);
}

?>
<HTML>
<HEAD>
<link rel="stylesheet" href="templates/scheda_siti.css" type="text/css">
<title>Inserimento dei siti archeologici</title>
</HEAD>
<BODY leftmargin="3" topmargin="3" marginwidth="3" onLoad="window.focus()" >
<!-- onUnload="opener.parent.mapFrame.removeSymPoints('digitize')" -->
<table width="100%" class="BGCHEADFOOT"><tr><td>SCHEDA SITO</td></tr></table>
<p>

<?php
  if ($definepoint):
?>
<FORM action="digitizedlg.phtml" method="POST">
<table class="DIGITIZE">
  <tr>
   <td>nome</td>
   <td><input type="text" name="nome" size="15"></td>
  </tr>
  <tr>
   <td>datazione</td>
   <td><input type="text" name="datazione" size="11"></td>
  </tr>
    <tr>
   <td>funzione</td>
   <td><input type="text" name="funzione" size="55"></td>
  </tr>
  <tr>
   <td>quota</td>
   <td><input type="integer" name="quota" size="23"></td>
  </tr>
</table>
<p>
<input type="button" onClick="submit();opener.parent.mapFrame.removeSymPoints('digitize')" name="ok" value="OK" size="30">
<input type="button" onClick="self.close();opener.parent.mapFrame.removeSymPoints('digitize')" name="cancel" value="Annulla" size="30"><FONT COLOR="#b1bbc5">________________________________________</FONT><a href="http://localhost/pmapper-3.0.0-beta1/help.html&quot; target="_blank"><FONT COLOR="#0000ff">HELP</FONT></a>

<input type="hidden" name="imgxy" value="<? echo $imgxy ?>">
<input type="hidden" name="addpoint" value="1">
</FORM>

<?php
  else:
    if ($dbreturn == 1):
?>

Il dato e' stato inserito <br>
nel database: <p>
<table>
  <tr>
   <td>nome</td>
   <td><? echo $nome ?></td>
  </tr>
  <tr>
   <td>datazione</td>
   <td><? echo $datazione ?></td>
  </tr>
  <tr>
   <td>funzione</td>
   <td><? echo $funzione ?></td>
  </tr>
  <tr>
   <td>quota</td>
   <td><? echo $quota ?></td>
  </tr>

</table>

<form>
   <input type="button" value="Chiudi" onClick="self.close()">
</form>

<?php
    else:
      echo ("<h3>ERROR</h3> \n");
      echo ("Il dato non e' stato inserito nel database. <p> inserimento fallito: <br>\n");
      echo $dbreturn;
    endif;
endif;
?>

</BODY>
</HTML>

-----------------------------------------------------------
file .map

LAYER #
    NAME liguri
    CONNECTIONTYPE POSTGIS
    CONNECTION "dbname=postgres host=localhost user=postgres password=pass port=5432"
    #DATA "the_geom from liguri USING UNIQUE gid"
  DATA "the_geom from (select gid,the_geom,nome,datazione,funzione,quota from liguri) as newtable using unique gid"
    STATUS OFF
    TYPE POINT
    PROJECTION
      "init=epsg:26591"
    END
    METADATA
       "DESCRIPTION" "liguri"
       "RESULT_FIELDS" "nome,datazione,funzione,quota"
       "RESULT_HEADERS" "nome,datazione,funzione,quota"
    END # Metadata
    CLASS
    Name 'liguri'
    COLOR 255 0 0
    SYMBOL 'square'
    SIZE 9
    OUTLINECOLOR 0 0 0
    TEMPLATE void
  END # Class
END # Layer

ci sto divendando pazza....

------------------------------------------------------
Passa a Infostrada. ADSL e Telefono senza limiti e senza canone Telecom
http://click.libero.it/infostrada26dic06