• User Attivo

    $variabile

    non so come prendere la variabile id_user.
    nel db è un campo autoincrement come la faccio partire?

    cioè tutte le altre variabili le passo con $GET, ma questa?
    come la registro nella sessione?

    cioè come la attivo in php ?

    queste le porto avanti con la sessione e le prendo da un form:

    $_SESSION['user'] = $_GET['user'];
    $_SESSION['gender'] = $_GET['gender'];
    $_SESSION['year'] = $_GET['year'];
    $_SESSION['month'] = $_GET['month'];
    $_SESSION['day'] = $_GET['day'];
    $_SESSION['country'] = $_GET['country'];

    ma questa non la prendo da nulla, è il db che fa tutto..pero' mi serve questo numero...
    come posso fare?


  • Bannato User Attivo

    non è chiaro cosa ti serve, provo a darti indicazioni generiche.
    -l'autoincrement parte da 1, ad ogni nuovo inserimento si incrementa di 1
    -non serve nelle insert specificare l'id se è autoincrement, di solito gli si passa 0 e mysql in automatico gli assegna l'ultimo id+1
    -in PHP per sapere qual'è l'ultimo id generato da una insert si chiama la funzione mysql_insert_id()


  • User Attivo

    la sessione la inizio:
    1)

    <?php
    session_start();
    $_SESSION['authuser'] = 1;
    ?>

    <?php
    session_start();

    ?>
    <html>
    <head>

    <body bgcolor="black">
    <p align="center">

    <title>Step1foto</title>
    </head>

    <body onLoad="setTimeout('document.step1.submit();', 3000);">
    <form name="step1" action="step1.php" method="get">
    <?php
    $connessione=mysql_connect("localhost", "");
    $selezione_db=mysql_select_db("guest_book", $connessione);

    $query = mysql_query("SELECT id_user,data FROM messaggi ORDER BY data DESC limit 1");

    $nr_immagine = ($id_user - 1) * 10 + 1 + $offset;

    $image_src = $directory . "image" . $nr_immagine . ".jpg";
    echo "<img src="$image_src">";

    if($offset < 50) {
    $offset++; }

    ?>
    <?php

    $_SESSION['user'] = $_GET['user'];
    $_SESSION['gender'] = $_GET['gender'];
    $_SESSION['year'] = $_GET['year'];
    $_SESSION['month'] = $_GET['month'];
    $_SESSION['day'] = $_GET['day'];
    $_SESSION['country'] = $_GET['country'];

    ?>
    </body>

    </html>

    a me servirebbe inizializzare la var $id_user ma non so come metterla


  • User Attivo

    Se devi recuperare id_user dal DB usa questo:

    
    $query = mysql_query("SELECT id_user, data FROM messaggi ORDER BY data DESC limit 1");
    
    while($riga = mysql_fetch_assoc($query))
    {
        echo $riga["id_user"];
    }
    
    ```Ciao!

  • User Attivo

    grazie,

    script:

    <?php
    session_start();
    ?>
    <html>
    <head>
    <body bgcolor="black">
    <p align="center">
    <body onLoad="setTimeout('document.step1.submit();', 3000);">
    <form name="step1" action="step1.php" method="get">
    <title>Step1foto</title>
    </head>
    <?php

    $connessione=mysql_connect("localhost", "");
    $selezione_db=mysql_select_db("guest_book", $connessione);
    $id_user = $query = mysql_query("SELECT id_user, data FROM messaggi ORDER BY data DESC limit 1");
    while($riga = mysql_fetch_assoc($query))
    {
    echo $riga["id_user"];
    }

    $nr_immagine = ($id_user - 833) * 10 + 1 + $offset;
    $directory = "C:\Programmi\EasyPHP1-8\www\fotos";
    $image_src = $directory . "image" . $nr_immagine . ".jpg";
    echo "<img src="$image_src">";
    if($offset < 50) {
    $offset++; }

    ?>
    Lo script dovrebbe dire di far apparire delle immagini in base al numero di id_user; in questo caso il num. 833. Pero' è sempre non funzionante.


  • User Attivo

    Controlla queste cose:

    1. $nr_immagine = ($id_user - 833) * 10 + 1 + $offset; genera un numero valido di un'immagine esistente?
    2. $directory = "C:\Programmi\EasyPHP1-8\www\fotos"; non sembra un url valido per l'immagine, sostituiscilo con "http://localhost/fotos/" oppure solo "fotos/".

    Ciao!


  • User Attivo

    while($riga = mysql_fetch_assoc($query))
    {
    $id_user = $riga['id_user'];
    echo $riga["id_user"];
    }
    $nr_immagine = ($id_user - 1) * 10 + 1 + $offset; $directory = " localhost/fotos/";
    $image_src = $directory . "image" . $nr_immagine . ".jpg";
    echo "<img src="$image_src">";
    if($offset < 50) {
    $offset++; }

    cambiato, ma sempre i soliti problemi...


  • User Attivo

    localhost è un indirizzo web, non una cartella.
    Se metti localhost, devi mettere anche http://
    Hai provato solo con "fotos/" ?


  • User Attivo

    so anche solo fotos ma sempre i soliti errori di offset mi rimanda...
    devo essere sincero, lo script nn l'ho fatto io,me l'hanno passato quasi ad hoc; lo sto solo adattando ma credevo fosse un po' piu' facile


  • User Attivo

    Che tipo di errori ti da?


  • User Attivo

    mi da questi errori:

    Notice: Undefined variable: offset in c:\programmi\easyphp1-8\www\step1foto.php on line 24

    Notice: Undefined variable: offset in c:\programmi\easyphp1-8\www\step1foto.php on line 28

    Notice: Undefined variable: offset in c:\programmi\easyphp1-8\www\step1foto.php on line 29


  • User Attivo

    bene, ora ho settato la $offset=0
    le foto ancora non compaiono, solo quadratino bianco con x rossa in mezzo.

    <?php
    session_start();
    ?>
    <html>
    <head>

    <body onLoad="setTimeout('document.step1.submit();', 3000);">
    <form name="step1" action="step1.php" method="get">
    <title>Step1foto</title>
    </head>
    <?php

    $connessione=mysql_connect('localhost', );
    $selezione_db=mysql_select_db("guest_book", $connessione);
    $query = mysql_query("SELECT id_user, date FROM messaggi ORDER BY date DESC limit 1");
    $offset=0;

    while($riga = mysql_fetch_assoc($query))
    {
    $id_user = $riga['id_user'];
    echo $riga["id_user"];
    }
    $nr_immagine = ($id_user - 1) * 10 + 1 + $offset; $directory = "localhost\fotos";
    $image_src = $directory . "image" . $nr_immagine . ".jpg";

    echo "<img src="$image_src">";
    {
    if($offset < 50)

    $offset++;
    }
    ?>

    <?php
    $_SESSION['user'] = $_GET['user'];
    $_SESSION['gender'] = $_GET['gender'];
    $_SESSION['year'] = $_GET['year'];
    $_SESSION['month'] = $_GET['month'];
    $_SESSION['day'] = $_GET['day'];
    $_SESSION['country'] = $_GET['country'];
    ?>
    </body>
    </html>


  • User Attivo

    Prova a fare un echo di $nr_immagine, $offset, $directory e $image_src e posta i risultati.


  • User Attivo

    dunque:

    echo echo $riga["id_user"];
    860
    giustamente il numero id_user dal db

    echo $nr_immagine;
    8591

    echo $offset;
    0

    echo $directory;
    fotos/

    echo $image_src ;

    fotos/image8591. jpg

    ma perchè mi prende 8591?
    allora il problema è qui...
    :mmm:
    non capisco perchè questo valore


  • Bannato User Attivo

    @giorgiodp said:

    dunque:

    echo echo $riga["id_user"];
    860
    giustamente il numero id_user dal db

    echo $nr_immagine;
    8591

    echo $offset;
    0

    ma perchè mi prende 8591?
    allora il problema è qui...
    :mmm:
    non capisco perchè questo valore

    perchè a casa mia
    $nr_immagine = ($id_user - 1) * 10 + 1 + $offset = (860 - 1) * 10 + 1 + 0 = 8591
    non ti risulta?


  • User Attivo

    dunque, scusate ancora:
    echo $image_src ; mi da questo risultato: fotos/image8601. jpg
    quindi, nella cartella fotos deve esserci una immagine che si chiami image 8601 giusto?
    pero' anche con questo nome l'immagine non viene richiamata e mi appare sempre lo stesso quadratino con la x dentro rossa...