Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    Tag <select>, php e mysql

    questo è il mio codice:
    [php]<html xmlns="http://www.w3.org/1999/xhtml">
    <body>
    <?php
    if (isset($_POST['inserisci'])) {
    include '../../config.php';
    $link = mysql_connect($host, $user, $password) or die("Non è possibile connettersi al server
    ");
    $conn = mysql_select_db($db, $link) or die("Non è possibile connettersi al db
    ");
    $title = $_POST['title'];
    $sectionid = $_POST['sectionid'];
    $testo = $_POST['fulltext'];
    $insert = "INSERT INTO articoli (title, sectionid, `fulltext`) VALUES ('$title', '$sectionid', '$testo')";
    if ($_POST['title'] == NULL || $_POST['sectionid'] == NULL || $_POST['fulltext'] == NULL) {
    echo "dati mancanti";
    } else {
    mysql_query($insert) or die(mysql_error($link));
    }
    }
    ?>
    <h1>
    CKEditor Sample
    </h1>
    <!-- This <div> holds alert messages to be dis

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    E quindi? Cosa ti serve?

  3. #3
    ah si scusate.
    nn mi ha incollato bene il testo che avevo scritto da altra parte.
    Codice PHP:
    <html xmlns="http://www.w3.org/1999/xhtml">
        <head>
            <title>Insert</title>
            <meta content="text/html; charset=utf-8" http-equiv="content-type" />
            <script type="text/javascript" src="../ckeditor.js"></script>
            <script src="sample.js" type="text/javascript"></script>
            <link href="sample.css" rel="stylesheet" type="text/css" />
        </head>
        <body>
            <?php
            
    if (isset($_POST['inserisci'])) {
                include 
    '../../config.php';
                
    $link mysql_connect($host$user$password) or die("Non è possibile connettersi al server
    "
    );
                
    $conn mysql_select_db($db$link) or die("Non è possibile connettersi al db
    "
    );
                
    $title $_POST['title'];
                
    $sectionid $_POST['sectionid'];
                
    $testo $_POST['fulltext'];
                
    $insert "INSERT INTO articoli (title, sectionid, `fulltext`) VALUES ('$title', '$sectionid', '$testo')";
                if (
    $_POST['title'] == NULL || $_POST['sectionid'] == NULL || $_POST['fulltext'] == NULL) {
                    echo 
    "dati mancanti";
                } else {
                    
    mysql_query($insert) or die(mysql_error($link));
                }
            }
            
    ?>
            <h1>
            CKEditor Sample
            </h1>
            
            <div id="alerts">
                <noscript>
                    


                        [b]CKEditor requires JavaScript to run[/b]. In a browser with no JavaScript
                    support, like yours, you should still see the contents (HTML data) and you should
                    be able to edit it normally, without a rich editor interface.
                    </p>
                </noscript>
            </div>
            <div>
                <h3>Menu</h3>
                [url="../../index.php"]Home[/url]
            </div>
            <form action="#" method="post" name="inserisci">
                


                    Title: <input type="text" name="title" />

                </p>
                


                    <select name="sectionid">
                        <option value="13">Linux</option>
                        <option value="14">Mac</option>
                    </select>
                </p>
                


                    <textarea class="ckeditor" cols="80" id="editor1" name="fulltext" rows="10"></textarea>
                </p>
                


                    <input type="submit" name="inserisci" value="Submit" />
                </p>
            </form>
        </body>
    </html>
    in pratica nn mi da errori però nn mi iserisce i dati.
    volevo sapere se è giusto oppure come fare a usare un <select> per inserire dati in mysql.

  4. #4
    1) dovresti fare l'escape delle stinghe...
    Codice PHP:
                $title mysql_real_escape_string($_POST['title']);
                
    $sectionid mysql_real_escape_string($_POST['sectionid']);
                
    $testo mysql_real_escape_string($_POST['fulltext']); 
    2) la query è un misto di errori... ci sono strani apostrofi (l'apice è quello che si scrive premendo il tasto del punto interrogativo... ' che è diverso da questo `) e la sintassi è errato:
    i campi vanno indicati senza mettere nulla quindi modifica così:
    Codice PHP:
    $insert "INSERT INTO articoli (title, sectionid, fulltext) VALUES ('".$title."', '".$sectionid."', '".$testo."')"
    se ti da qualche errore riferisci il tipo di errore

  5. #5
    1) grazie nn ero a conoscenza

    2) ho messo `fulltext` a posta sennò nn funziona.
    mi è stato segnalato in un'altra discussione.

    per il resto la query funziona se al posto della selection metto una normale input text e scrivo a mano la sezione.
    quindi penso che il problema sia in quel tag, nn nel codice php......

  6. #6
    se ti da qualche errore riferisci il tipo di errore

    se nn dici l'errore che ti compare non ti si può dare una mano...

    per quel che riguarda il select è fatto bene... poi si lo puoi mettere a mano (anche se ci sarebbero tante cosine da dire...

  7. #7
    nn da nessun errore (sennò l'avrei postato....)!
    semplicemente mi ricarica la pagina senza inserire nulla.

    ps: mi sa che l'avevo già detto nel post malandato scusate.
    pps:qualche consiglio su altro?

  8. #8
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    24
    Originariamente inviato da fermat
    per il resto la query funziona se al posto della selection metto una normale input text e scrivo a mano la sezione.
    quindi penso che il problema sia in quel tag, nn nel codice php......
    visto che quello che giunge dalla select dovrebbe essere un campo numerico potrebbe essere controllato come tale con intval() e/o preg_match, poi il campo sectionid nella tabella mysql che tipo di campo é? anche qui visto il contenuto potrebbe essere impostato come campo numerico

  9. #9
    Originariamente inviato da bpd85
    visto che quello che giunge dalla select dovrebbe essere un campo numerico potrebbe essere controllato come tale con intval() e/o preg_match, poi il campo sectionid nella tabella mysql che tipo di campo é? anche qui visto il contenuto potrebbe essere impostato come campo numerico
    no allora ho "scoperto" l'arcano.
    come prova stavo usando una tabella estrapolata dal db creato da joomla.
    se uso una tabella creata da me funziona tutto.
    se uso quella tabella invece no.
    evidentemente ha qualche funzione o qualche altra cosa che nn so.

  10. #10
    Sicuramente il tipo di tabella o campo era settato in una codifica diversa, e non prende in input quei dati.

    Oppure magari era un campo enum().

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.