Visualizzazione dei risultati da 1 a 4 su 4

Discussione: problema apice

  1. #1

    problema apice

    salve a tutti ho dei dati da inserire nel database.
    con php 4 non avevo problemi
    con php 5 se trova un'apice non fa nessuna operazione come faccio a risolvere il problema?
    Codice PHP:

    <?Php
    if ($_SESSION['status'] != 'logged')
        {
    header ('Location: login.php');
        }
    include(
    "include/config.php");
    include(
    "include/db.php");
    $conn db_connect();
    mysql_select_db($db,$conn);

    $data $_POST['data'];
    $orainizio $_POST['orainizio'];
    $minutiinizio $_POST['minutiinizio'];
    $orafine $_POST['orafine'];
    $minutifine $_POST['minutifine'];
    $oggetto $_POST['oggetto'];
    $commenti $_POST['commenti'];
    $priorita $_POST['priorita'];

    $timeinizio "$orainizio:$minutiinizio";
    $timefine "$orafine:$minutifine";

    $query_utenti "select username from utenti where username != 'admin'";
    $result mysql_query($query_utenti,$conn);
    $error "";
    $selezionati = array();
    $freepos 0;
    while (
    $record mysql_fetch_array($result))
    {
        if (isset(
    $_POST[$record[username]]))
        {
            
    $selezionati[$freepos] = $record[username];
            
    $freepos++;
            
    //Controllo se l'appuntamento si sovrappone con quelli gia' presenti
            
    $query "select id from appuntamenti,partecipazione where ((orafine > '$timeinizio' and orafine <= '$timefine') or (orainizio >= '$timeinizio' and orainizio < '$timefine') or (orainizio <= '$timeinizio' and orafine >= '$timefine')) and id=idapp and iduser='$record[username]' and data='$data'";
            
    $result_internal mysql_query($query,$conn);
            
    $num_rows mysql_num_rows($result_internal);
            if (
    $num_rows != 0)
            {
                
    $error $error.$record[username].",";
            }
        }
    }
    $error substr($error,0,strlen($error)-1);


    if (
    $error == "")
    {
        
    $query_insert "insert into appuntamenti(data,orainizio,orafine,oggetto,commenti,priorita) values ('$data','$timeinizio','$timefine','$oggetto','$commenti','$priorita')";
        
    mysql_query($query_insert,$conn);
        
    $increment mysql_insert_id($conn);
        
    $counter 0;
        while (
    $counter count($selezionati))
        {
            
    $query "insert into partecipazione(idapp,iduser) values ($increment,'$selezionati[$counter]')";
            
    mysql_query($query,$conn);
            
    $counter++;
        }
        
    $target "Location: viewapp.php?data=$data";
    }
    else
    {
        
    $counter 0;
        
    $partec "";
        while (
    $counter count($selezionati))
        {
            
    $partec $partec $selezionati[$counter] . ",";
            
    $counter++;
        }
        
    $partec substr($partec,0,strlen($partec)-1);
        
    $target "Location: insertapp.php?error=$error&partec=$partec&priorita=$priorita&oggetto=$oggetto&commenti=$commenti";
    }
        
    mysql_close();
    header ($target);
    ?>

  2. #2
    immagino il problema si pone sulle variabili oggetto e commenti.
    usa la funzione addslashes così:

    Codice PHP:
    $oggetto addslashes($_POST['oggetto']);
    $commenti addslashes($_POST['commenti']); 

  3. #3
    grazie mille così funziona ma mi spieghi perchè con php 4 non avevo problemi?

  4. #4
    semplicemente perchè il php4 ignorava la possibilità che nelle stringhe si potessero inserire gli apici.

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.