- Home
- Categorie
- Coding e Sistemistica
- PHP
- session_start();session_register();
-
Ciao MZ, grazie per l'aiuto,
sto lavorando sia in locale che su web, ma ho lo stesso risultato, ho seguito l'esempio della guida su http://www.giorgiotave.it/guida_php/sessioni.php all'indirizzo http://www.studiocad.net/prova/ss1.php ma non salva i dati nella sessione.
Non capisco una mazza!!
-
posta il codice, ho ancora 15 min di pausa pranzo, magari posso aiutarti
-
Ciao Desu, ho letto un pò in ritardo, comunque riposto il codice che è presente nella pagina:
[php]
ss1.php<?php
ss1.php
session_start();
$num_impiegato =session_id();
session_register("nome","dipartimento"); ?><HTML>
<BODY>
<?php
$form="<CENTER><H2>Consegne Spa - Nuovo Impiegato</H2></CENTER>
<FORM ACTION="http://bumper/ss2.php" METHOD="POST">
<B>Nome impiegato:</B><BR>
<INPUT TYPE="text" NAME="nome" SIZE=20>
<BR><B>Dipartimento</B><BR>
<SELECT NAME="dipartimento" >
<OPTION SELECTED>Autista consegne
<OPTION>Magazzino
<OPTION>Vendite
<OPTION>Amministrazione
</SELECT>
<BR>
<INPUT TYPE="submit" VALUE="Pagina seguente">
<INPUT TYPE="reset" VALUE="Cancella!">
</FORM>";
?>
</BODY></HTML>
<?php
echo $form;
?>ss2.php
<?php
session_start();
session_register("indirizzo","telefono");
?>
<HTML>
<BODY>
<?php
$form="<CENTER><H2>Consegne Spa - Nuovo Impiegato</H2></CENTER>
<FORM ACTION="http://bumper/ss3.php" METHOD="POST">
<B>Indirizzo impiegato:</B><BR>
<INPUT TYPE="text" NAME="indirizzo" SIZE=30>
<BR><BR><B>Numero telefono impiegato:</B><BR>
<INPUT TYPE="text" NAME="telefono" SIZE=30>
<BR>
<HR>
<INPUT TYPE="submit" VALUE="Pagina seguente">
<INPUT TYPE="reset" VALUE="Cancella!">
</FORM>";
?>
</BODY></HTML><?php
echo "$form";
?>ss3.php
<?php
session_start();
?>
<HTML>
<BODY>
<CENTER><B><H3> Ecco le informazioni sul nuovo impiegato</H3></B></CENTER>
<?php
$visualizza="<PRE>
Nome impiegato: $nome<BR>
Dipartimento: $dipartimento<BR>
Livello retributivo: $stipendio<BR>
Sede: $sede<BR>
Indirizzo casa: $indirizzo<BR>
Telefono: $telefono<BR>
ID impiegato: $num_impiegato<BR></PRE>";
?>
</body>
</html>
<?
echo "$visualizza";
$destinatario="[email protected]";
$header="Inserimento nuovo impiegato";
$info="Ecco le informazioni...
NOME: $nome
DIPARTIMENTO: $dipartimento
LIVELLO RETRIBUTIVO: $stipendio
INDIRIZZO CASA: $indirizzo
NUM TELEFONO: $telefono
ID IMPIEGATO: $num_impiegato";
mail($destinatario,$header,$info);session_destroy();
?>
[/php]
-
Ottimo.
Cerchiamo di focalizzare il problema, quali sono i punti non chiari ?
-
Ciao MZ,
http://www.studiocad.net/prova/ss1.php in questa pagina ho copiato pari pari il codice della guida, che alla fine dovrebbe restituitre i dati che si trascina dietro, ma all'ultima pagina non mostra niente.
Non capisco una mazza di php quindi non ho la minima idea.
-
non capisco,
tutti i valori con $valore non li stampa a video,
-
allora, non ho visto il tutorial, ma ti direi come lo farei io...
intanto le variabili le salverei in sessione senza il register, ma con $_SESSION['nome']=$_POST['nome'] nella pagina che riceve i dati della form.. anche se magari non è quello che vuoi...
poi per visualizzarle ti serve cmq prenderle dalla sessione quindi stampare
<?=$_SESSION['nome']?>a me così funziona...
spero di esserti stato utile
hola
-
Ciao desu, ho provato come dici ma non mi funziona, il problema però lo ho su questo scpit, che non ne vuole sapere di inserire i dati nel database, forse perchè ci sono dei problemi di settaggio nel php.ini, questo è il code
[php]<?
include_once "config.php";
$itemnoo=str_replace("'","''",$_REQUEST["itemno"]);
$catidd=str_replace("'","''",$_REQUEST["catid"]);
$makee=str_replace("'","''",$_REQUEST["make"]);
$modell=str_replace("'","''",$_REQUEST["model"]);
$yearr=str_replace("'","''",$_REQUEST["year"]);
$builtbyy=str_replace("'","''",$_REQUEST["builtby"]);
$lengthh=str_replace("'","''",$_REQUEST["length"]);
$capacityy=str_replace("'","''",$_REQUEST["capacity"]);
$mileagee=str_replace("'","''",$_REQUEST["mileage"]);
$enginee=str_replace("'","''",$_REQUEST["engine"]);
$exteriorr=str_replace("'","''",$_REQUEST["exterior"]);
$interiorr=str_replace("'","''",$_REQUEST["interior"]);
$conditionn=str_replace("'","''",$_REQUEST["condition"]);
$pricee=str_replace("'","''",$_REQUEST["price"]);
$Statuss=str_replace("'","''",$_REQUEST["Status"]);
$Descriptionn=str_replace("'","''",$_REQUEST["des"]);if (isset($_POST['Save']))
{
//$sql="INSERT INTO car (itemno,catid,make,model,year,builtby,length,capacity,mileage,engine,exterior,interior,condition,price,Status,Description) VALUES('".$_REQUEST['itemno']."',".$_REQUEST['catid'].",'".$_REQUEST['make']."','".$_REQUEST['model']."',".$_REQUEST['year'].",'".$_REQUEST['builtby']."',".$_REQUEST['length'].",".$_REQUEST['capacity'].",".$_REQUEST['mileage'].",".$_REQUEST['engine'].",'".$_REQUEST['exterior']."','".$_REQUEST['interior']."','".$_REQUEST['condition']."',".$_REQUEST['price'].",".$_REQUEST['Status'].",'".$_REQUEST['des']."')";
$sql="INSERT INTO car (itemno,catid,make,model,year,builtby,length,capacity,mileage,engine,exterior,interior,condition,price,Status,Description) VALUES('$itemnoo','$catidd','$makee','$modell','$yearr','$builtbyy','$lengthh','$capacityy','$mileagee','$enginee','$exteriorr','$interiorr','$conditionn','$pricee','$Statuss','$Descriptionn')";
mysql_query($sql);
header("Location: Addpic.php?page=1&catid=$catidd&itemno=$itemnoo");
}if(isset($_POST['cancel']))
{
//echo "Hello";
//die();
header("location: viewcategory.php?catid=".$_REQUEST['catid']);
}?>
[/php]
-
hai provato a fare un echo dei campi per vedere se effettivamente riceve i valori?
-
forse l'errore è sul str_replace.. prova a modificare con
$itemnoo=str_replace("'","'",$_REQUEST["itemno"]);
-
ciao desu, scusa ma non so minimamente come si fa un echo, ho provato come dici tu ma non da nessun segnale, il fatto strano e che alla pagina seguente addpic.php, mi carica l'immagine sul server ma non i dati nel database. Boo!
-
prova a scrivere
[php]echo $_REQUEST["itemno"];[/php]per ogni campo per vedere se li stampa effettivamente tutti e poi fai un
[php]echo $sql;[/php]prima del mysql_query() per stampare a video la query effettiva che gli passi così vedi se la sintassi è sbagliata.. io sono qui un'altra ora, oggi ho deciso di rubare a lavoro
non è che magari sbagli a visualizzare i dati o a pescarli dal db anche se effettivamente ci sono?
hai un programmino tipo phpmyadmin per vedere i dati nel db?
-
Ciao Desu,
sono ancora dietro allo script che mi fa dannare, perchè questo codice funziona:[php]<?
include_once "config.php";if (isset($_POST['Save']))
{
mysql_query("INSERT INTO category (catname, catdescription) VALUES ('$_REQUEST[Category]', '$_REQUEST[Description]')");
header("location: AddCat.php");
}if(isset($_POST['Cancel']))
{
header("location: admin.php");
}?>[/php]
e quest'altro no, perchè sono scritti tutti e due allo stesso modo, il primo inserisce i dati nella tabella, e il secondo no e non da nemmeno l'errore.
[php]<?
include_once "config.php";if (isset($_POST['save']))
{
mysql_query("INSERT INTO car (itemno, catid, make, model, year, builtby, length, capacity, mileage, engine, exterior, interior, condition, price, Status, Description) VALUES ('$_POST[itemno]','$_POST[catid]','$_POST[make]','$_POST[model]'$_POST[year]','$_POST[builtby]','$_POST[length]','$_POST[capacity]','$_POST[mileage]','$_POST[engine]','$_POST[exterior]','$_POST[interior]','$_POST[condition]','$_POST[price]','$_POST[Status]','$_POST[Description]')");
header("location: AddCat.php");
}if(isset($_POST['Cancel']))
{
header("location: admin.php");
}?>[/php]
-
Prova a sostituire
[php]'$_POST[itemno]'[/php]con
[php]'".$_POST['itemno']."'[/php]per ogni campo, poi fammi sapere...
-
Ciao Desu,
ti ringrazio per l'aiuto, dopo altre ore perse dietro allo script ho risolto cosi':
[php]$sql = "INSERT INTOcar
.car
(itemno
,catid
,make
,model
,year
,builtby
,length
,capacity
,mileage
,engine
,exterior
,interior
,condition
,price
,Status
,Description
) VALUES ('$itemno', '$catid', '$make', '$model', '$year', '$builtby', '$length', '$capacity', '$mileage', '$engine', '$exterior', '$interior', '$condition', '$price', '$Status', '$Description');"; [/php]Inoltre ho dovuto cambiare una stringa sul file my.ini perchè mysql aveva un bug
Grazie a tutti per l'aiuto.
Ciauz