Visualizzazione risultati 1 fino 11 di 11

Discussione: php e mysql

  1. #1
    Guest

    Arrow php e mysql

    buongiorno a tutti ,
    facendomi un sito personale, ho riscontrato dei problemi , adesso posto i codici:

    CHATGABRIELEANNA.PHP
    Codice PHP:
    <?php
    include('core1.php');
    if(isset(
    $_POST['register'])) {
    $messaggio = isset($_POST['messaggio']);
    if(empty(
    $messaggio)) {
    echo
    'Riempi tutti i campi.<br /><br /><a href="javascript:history.back();">Indietro</a>';
    } elseif(
    strlen($messaggio) > 10000) {
    echo
    'messaggio troppo lungo. Massimo 10000 caratteri.<br /><br /><a href="javascript:history.back();">Indietro</a>';
    }else {
    $password = md5($password);
    $ip = $_SERVER['REMOTE_ADDR'];
    if(
    mysql_query("INSERT INTO gabrieleanna (messaggio) VALUES ('$messaggio',UNIX_TIMESTAMP())")) {
    echo
    'messaggio inviato.';
    } else {
    echo
    'Errore nella query: '.mysql_error();
    }
    }
    } else {
    ?>
    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
    <label>messaggio: <input type="text" name="messaggio" required maxlength="10000" /></label><br />
    <input type="submit" name="register" value="invia messaggio" />
    </form>
    <?php
    }
    ?>
    CORE1.PHP
    Codice PHP:
    <?php
    session_start
    ();
    $db_hostname = 'localhost';
    $db_username = 'venerbamirco';
    $db_password = '***';
    $db_name = 'my_venerbamirco';
    mysql_select_db($db_name, mysql_connect($db_hostname, $db_username, $db_password)) or die("Impossibile connettersi.".mysql_error());
    ?>
    quando faccio partire il sito con altervista,mi dice :

    Errore nella query: Column count doesn't match value count at row 1


    qualcuno sa cosa è e come aggiustare?
    grazie a coloro che rispondono.
    Ultima modifica di alemoppo : 29-08-2015 alle ore 23.43.12 Motivo: password nascosta +tag [php]

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

    Predefinito

    • Codice PHP:
      mysql_query("INSERT INTO gabrieleanna (messaggio) VALUES ('$messaggio',UNIX_TIMESTAMP())")
      Nella query specifichi un solo parametro (messaggio) e poi ne passi due: messaggio e UNIX_TIMESTAMP().
    • Codice PHP:
      $messaggio = isset($_POST['messaggio']);
      isset() ritorna o true o false. Immagino che tu invece in $messaggio voglia il messaggio.
    • $password e $ip cosa sono? Per ora non le stai utilizzando e puoi eliminare quelle righe.
    • Ti sei accorto che ci hai scritto la password in chiaro del tuo account? Ora l'ho censurata. Su altervista comunque la connessione può esser fatta non specificando la password: nello script prova impostando la password con una stringa vuota, vedrai che la connessione avverrà ugualmente con successo.
    • Stai usando le vecchie funzioni mysql_*. Dovresti usare mysqli_* o PDO.


    Ciao!
    Ultima modifica di alemoppo : 29-08-2015 alle ore 23.58.17

  3. #3
    Guest

    Predefinito

    ciao , ho sistemato quel problema e ti riporto qua il codice

    inviomessaggi.php
    Codice PHP:
    <?php
    include('core1.php');
    if(isset(
    $_POST['register'])) {
    $messaggio = isset($_POST['messaggio']);
    if(empty(
    $messaggio)) {
    echo
    'Riempi tutti i campi.<br /><br /><a href="javascript:history.back();">Indietro</a>';
    } elseif(
    strlen($messaggio) > 10000) {
    echo
    'messaggio troppo lungo. Massimo 10000 caratteri.<br /><br /><a href="javascript:history.back();">Indietro</a>';
    }else {
    if(
    mysql_query("INSERT INTO gabrieleanna (messaggio) VALUES ('$messaggio')")) {
    echo
    'messaggio inviato.';
    } else {
    echo
    'Errore nella query: '.mysql_error();
    }
    }
    } else {
    ?>
    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
    <label>messaggio: <input type="text" name="messaggio" required maxlength="10000" /></label><br />
    <input type="submit" name="register" value="invia messaggio" />
    </form>
    <?php
    }
    ?>
    ma adesso quando attraverso il form di invio messaggi registro nel database dei dati , ad esempio una sequenza di parol olettere, mi compare il numero 1 , non capisco come poter risolvere. grazie a coloro che rispondono
    Ultima modifica di alemoppo : 30-08-2015 alle ore 13.03.57 Motivo: +tag [php]

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

    Predefinito

    Citazione Originalmente inviato da venerbamirco Visualizza messaggio
    ma adesso quando attraverso il form di invio messaggi registro nel database dei dati , ad esempio una sequenza di parol olettere, mi compare il numero 1 , non capisco come poter risolvere. grazie a coloro che rispondono
    1 sarebbe true, ed è quel che ritorna la isset():

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    • Codice PHP:
      $messaggio = isset($_POST['messaggio']);
      isset() ritorna o true o false. Immagino che tu invece in $messaggio voglia il messaggio.
    Quindi elimina isset() e metti in $messaggio semplicemente $_POST['messaggio']

    Ciao!
    Ultima modifica di alemoppo : 30-08-2015 alle ore 13.07.07

  5. #5
    Guest

    Predefinito

    potresti quindi scrivermi l' esempio cosi vedo e capisco? molto gentile grazie

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

    Predefinito

    Sostituisci:
    Codice PHP:
    $messaggio = isset($_POST['messaggio']);
    con:
    Codice PHP:
    $messaggio = $_POST['messaggio'];
    Ciao!

  7. #7
    Guest

    Predefinito

    grazie adesso controllo e ti dico

  8. #8
    Guest

    Predefinito

    ottimo funziona molto gentile grazie, quindi se ho altri dubbili devo scrivere qua?

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

    Predefinito

    Beh dipende: se lo script è un altro, puoi aprire un nuovo topic. Se invece hai sempre problemi su questo pezzo di codice ti conviene scrivere qui perché sappiamo già di cosa si tratta.

    Ciao!

  10. #10
    Guest

    Predefinito

    poi avrei questo problema, ho fatto questo script di login , ma quando metto header , non riesce a connettersi a quel file:

    login.php
    Codice PHP:
    <?php
    include('core.php');
    if(isset(
    $_POST['login'])) {
    $username = $_POST['username'];
    $password = $_POST['password'];
    if(empty(
    $username) || empty($password)) {
    echo
    'Riempi tutti i campi.<br /><br /><a href="javascript:history.back();">Indietro</a>';
    } elseif(
    mysql_num_rows(mysql_query("SELECT * FROM users WHERE username LIKE '$username'")) == 0) {
    echo
    'Username non trovato.<br /><br /><a href="javascript:history.back();">Indietro</a>';
    } else {
    $password = md5($password);
    $ip = $_SERVER['REMOTE_ADDR'];
    if(
    mysql_num_rows(mysql_query("SELECT * FROM users WHERE username LIKE '$username' AND password='$password'")) > 0) {
    $username = mysql_result(mysql_query("SELECT username FROM users WHERE username LIKE '$username'"), 0);
    $userid = mysql_result(mysql_query("SELECT id FROM users WHERE username LIKE '$username'"), 0);
    mysql_query("UPDATE users SET last_login='".time()."', last_ip='$ip' WHERE id='$userid'") or die(mysql_error());
    $_SESSION['username'] = $username;
    $_SESSION['userid'] = $userid;
    header('Location: sito.html');
    }
    }
    } else {
    ?>
    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
    <label>Username: <input type="text" name="username" required maxlength="16" /></label><br />
    <label>Password: <input type="password" name="password" required maxlength="20" /></label><br />
    <input type="submit" name="login" value="Accedi" />
    </form>
    <?php
    }
    ?>
    Ultima modifica di alemoppo : 30-08-2015 alle ore 14.08.39 Motivo: +tag [php]

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

    Predefinito

    Visto che hai aperto un nuovo topic per il nuovo problema, direi di continuare nell'altro: è troppo dispersivo/inutile aver 2 topic per lo stesso problema!

    Ciao!

Regole di scrittura

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