Visualizzazione risultati 1 fino 4 di 4

Discussione: Problema con la funzione header location

  1. #1
    Guest

    Angry Problema con la funzione header location

    Salve, a tutti ho un problema con la funzione header location (quella funzione che dovrebbe portare l utente a una pagina subito dopo che ha compilato un form il problema è questo: sto seguendo un manuale ed arrivato a un certo punto mi dice di utilizzare questa funzione per fare in modo che dopo la registrazione di questo utente viene portato direttamente sul suo profilo e mi fa scrivere questo codice:header("Location: show_user.php?user_id=" . mysql_insert_id()); anche se lo scrivo prima di tutti gli altri codici non funziona sto lavorando in locale con MAMP. questo codice l ho inserito dentro a questo file: create_user.php dove una volta ciccato registrati viene iscritto nel database e questo funziona però una volta messa questa funzione mi dovrebbe portare direttamente a show_user.php?user_id tramite anche questa query mysql_insert_id()); il punto è che se io vado su safari e scrivo localhost/connessione/show_user.php?user_id=1 (per esempio) in questo caso funziona se scrivo direttamente l id! come posso fare???

  2. #2
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,685

    Predefinito

    Viene effettuato il redirect? Se sì, cosa ritorna quella funzione? Se no, posta il codice.

    Comunque la punteggiatura e qualche capoverso avrebbero facilitato la lettura: l'unica punteggiatura che c'é è quella del cocide PHP! .

    Ciao!

  3. #3
    Guest

    Predefinito

    Ciao,grazie della tua risposta ho scritto così perché l ho praticamente scritto 100 volte e non so più come fare ti spiego:dalla pagina create_user.php automaticamente una volta che l utente ha completato il form di iscrizione dovrebbe essere indirizzato automaticamente al suo profilo quindi è si! ti posto il codice:
    Codice PHP:
    <?php
    require("database_connection.php");
    $first_name = trim($_REQUEST['first_name']);
    $last_name = trim($_REQUEST['last_name']);
    $email = trim($_REQUEST['email']);
    $bio = trim($_REQUEST['bio']);
    $facebook_url = str_replace("facebook.org", "facebook.com", trim($_REQUEST['facebook_url']));
    $position = strpos($facebook_url, "facebook.com");
    if (
    $position === false) {
    $facebook_url = "http://www.facebook.com/" . $facebook_url;
    }
    $twitter_handle = trim($_REQUEST['twitter_handle']);
    $twitter_url = "http://www.twitter.com/";
    $position = strpos($twitter_handle, "@");
    if (
    $position === false) {
    $twitter_url = $twitter_url . $twitter_handle;
    } else {
    $twitter_url = $twitter_url . substr($twitter_handle, $position + 1);
    }
    $insert_sql = "INSERT INTO users (first_name, last_name, email, bio, facebook_url, twitter_handle) " .
    "VALUES ('{$first_name}', '{$last_name}', '{$email}', '{$bio}', " .
    "'{$facebook_url}', '{$twitter_handle}');";

    // Insert the user into the database
    if (!mysql_query($insert_sql)) {
    echo
    "Errore query : " . $insert_sql . " " . mysql_error();
    die();
    }

    header("Location: show_user.php?user_id=" . mysql_insert_id());
    il codice è questo ma non capisco perché non funziona.
    Ultima modifica di alemoppo : 07-04-2014 alle ore 13.24.05 Motivo: +tag [php]

  4. #4
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,685

    Predefinito

    Invece delle graffe, dovresti usare la mysql_real_escape_string() per evitare sql injection.

    Ancora comunque non ho capito se viene effettuato il redirect (con id sbagliato), oppure non viene effettuato il redirect: cosa non va?

    Ciao!

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •