-
php problema div
buonasera a tutti....non sono capace a risolvere da solo un problema.
spero di riuscirmi a spiegare....
allora: ho una pagina che mi visualizza dei risultati in base a una condizione... se la condizione e'
giusta mi esegue tutto alla perfezione.. tutto a posto. la pagina fa vedere delle cose e io ho messo una
scritta in alto, il problema che questa scritta e' collegata alla condizione che vi dicevo. in poche parole
vorrei che quando la scroll della pagina va su e giu perche' magari nella pagina ci sono tante cose, anche
se io metto per la scritta la posizione fissa, gli oggetti della pagina nell scroll gli vanno sopra
alla scritta. ho provato con tutti i div ma non ci sono riuscito...adesso l'ho dovuta mettere a destra
della pagina ma a me piaceva in alto a destra. allego il codice...grazie
Codice PHP:
<?php
$email = $_POST['email'];
setcookie ('email',$_POST['email'],time()+1200);
$db_host = 'localhost';
$db_user = 'noncecapisco';
$db_pass = '';
$db_name = 'my_noncecapisco';
$cn = new mysqli($db_host, $db_user, $db_pass, $db_name);
if ($cn->connect_errno) {
echo "Connessione fallita: ". $cn->connect_error . ".";
exit();
}
$sql = "SELECT *FROM Animali WHERE email='".$email."' ";
$result = $cn->query($sql);
if(mysqli_num_rows($result) > 0)
{
$array_estensioni_poster = array('mkv','3gp','wmv','webm');
$array_estensioni_video = array('mp4');
$array_estensioni_immagini = array('jpg','jpeg','gif','tiff');
while ($row = $result->fetch_assoc()) {
$estensione = pathinfo($row["file"], PATHINFO_EXTENSION);
if(in_array($estensione, $array_estensioni_immagini))
{
echo "<img src ='".$row["file"]."'style='width:200px;height:auto;margin-left:430px;margin-top:100px;border-radius:15px;'>
<a href=http://noncecapisco.altervista.org/animali/elimina%20annuncio.php>elimina annuncio</a><br>".PHP_EOL;
}
else if(in_array($estensione, $array_estensioni_poster))
{
echo "<video poster='video-google-drive1.jpg'preload='auto' src='".$row["file"]."'controls='true' position='fixed'style='width:200px;height:auto;margin-left:430px;margin-top:100px;border-radius:15px; border: 2px solid #C0C0C0;
'></video><br>".PHP_EOL;
}
else if(in_array($estensione, $array_estensioni_video))
{
echo "<video preload='auto' src='".$row["file"]."'controls='true' position='fixed'style='width:200px;height:auto;margin-left:430px;margin-top:100px;border-radius:15px;'></video><a href=http://noncecapisco.altervista.org/animali/elimina%20annuncio.php>elimina annuncio</a><br>".PHP_EOL;
}
echo'<div style="margin-left:430px;width:200px;word-wrap:break-word;color:#666666;margin-top:5px;margin-bottom:-60px;">'.$row["testo"].'</div><br>'.PHP_EOL;
}
echo '<div style="font-size:1.15em;color:#0e3c68;font-weight:bold;margin-left:15px;;margin-top:-690px;position:fixed">Ecco i tuoi annunci, puoi eliminarli uno alla volta.</div>';
} else {
echo"email non registrata,prova con un'altra.";
$italia = "http://noncecapisco.altervista.org/animali/Italia.php";
header("Refresh: 3; url=" . $italia);
}
?>
PS: se non sono riuscito a spiegare, metto il link della pagina, bisogna soltanto mettere la lettera " a " nella
casella in alto a destra dove ce' scritto "elimina annuncio" grazie
-
Salve,
usando la proprietà z-index di CSS è posssibile sovrapporre determinati elementi ad altri.
Esempio:
Codice HTML:
<style>
.div1 {
width:100px;
height:100px;
padding:10px;
background-color: #bbb;
color: #fff;
}
.div2 {
width:100px;
height:100px;
padding:10px;
background-color: #ddd;
position: relative;
top:-80px;
left:100px;
z-index: 1;
}
</style>
<div class="div1">
div 1
</div>
<div class="div2">
div 2
</div>
Cordiali saluti.
-
buonasera, grazie sempre per l'aiuto che mi offre. senta non so se mi ha capito, ho letto che z-index serve per
sovrapporre ... io ho provato con un codice minimo per vedere se ho capito,ma, mi da pagina bianca... sicuramente ho
sbagliato io mettere il css:
Codice PHP:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="generator" content="AlterVista - Editor HTML"/>
<title></title>
</head>
<body>
<style>
.div1 {
width:100px;
height:100px;
padding:10px;
background-color: #bbb;
color: #fff;
}
<div class="div1">
div 1
<?php
$email = $_POST['email'];
setcookie ('email',$_POST['email'],time()+1200);
$db_host = 'localhost';
$db_user = 'noncecapisco';
$db_pass = '';
$db_name = 'my_noncecapisco';
$cn = new mysqli($db_host, $db_user, $db_pass, $db_name);
if ($cn->connect_errno) {
echo "Connessione fallita: ". $cn->connect_error . ".";
exit();
}
$sql = "SELECT *FROM Animali WHERE email='".$email."' ";
$result = $cn->query($sql);
if(mysqli_num_rows($result) > 0)
{
$array_estensioni_poster = array('mkv','3gp','wmv','webm');
$array_estensioni_video = array('mp4');
$array_estensioni_immagini = array('jpg','jpeg','gif','tiff');
while ($row = $result->fetch_assoc()) {
$estensione = pathinfo($row["file"], PATHINFO_EXTENSION);
if(in_array($estensione, $array_estensioni_immagini))
{
echo "<img src ='".$row["file"]."'>
<a href=http://noncecapisco.altervista.org/animali/elimina%20annuncio.php>elimina annuncio</a>".PHP_EOL;
}
}
}
?>
</div>
</style>
<p> </p>
</body>
</html>
-
I problemi macroscopici che vedo (non entrando nel dettaglio di cosa fa il codice) sono:
- Il tag <style> è chiuso nella posizione sbagliata: </style> deve essere inserito quando finisce il codice CSS, quindi prima di
Codice:
<div class="div1">
- La setcookie (per cosa ti servono i cookies?) dovrebbe essere richiamata prima di ogni output HTML. Potrebbe comunque funzionare ma non è una buona pratica, ti consiglierei prima di fare le varie elaborazioni PHP, poi gestire eventualmente il codice HTML.
- Prima di usare $_POST['email'] bisognerebbe controllare che quel dato esista, puoi farlo con la isset:
Codice PHP:
if(isset($_POST['email']))
{
//ok, $_POST['email'] esiste, puoi utilizzarlo...
}
- Prima di usare $result, controlla che la query sia andata a buon fine:
Codice PHP:
if($result !== FALSE && mysqli_num_rows($result) > 0)
- Per evitare sql injection, fai sempre passare qualsiasi dato prelevato dal form prima di inserirlo nelle query nella mysqli_real_escape_string()
Codice PHP:
$email = mysqli_real_escape_string($_POST['email']);
- Evita di mischiare la programmazione procedurale con quella ad oggetti: se usi la procedurale, non chiamare mysqli_num_rows() ma $cn->num_rows
Ciao!
-
alemoppooooooooooooooooooooo bona sera.....
senti...hai ragione purtroppo sono alle scuole elementari..ah ah, comunque:
ora sistemo la pagina di prova con lo <style>.... e vedo come va.
Per la email, posso anche mettere (se esiste) ma non mi serve a niente, perche' dove inseriscono la email e'
collegato al database e se non risulta gli dice "email non registrata." PS: quando mi caricano qualcosa sul sito e
mettono la email, non e' che deve essere vera, possono anche scrivere: pluto...l'importante e' che mi viene
memorizzata nel database, cosi poi se qualcuno vuole eliminare un annuncio o piu annunci deve mettere la email
che ha messo per caricare sul sito gli annunci.
Per quanto riguarda il cookie, ti spiego cosa ho fatto: tramite la casella "elimina annuncio scrivi
email" la email viene inviata al primo codice che ho inserito all'inizio della discussione, che: se riconosce la
email inserita, con $_POST stampa tutti i valori, e vicino ho messo i link per far eliminare gli annunci. i link
pero' sono associati alla pagina dove vengono eliminati definitivamente. in pratica il cookie mi serve per far
riconoscere la email nel database al secondo codice... sono 2 pagine diverse...una stampa tutti gli annunci con la
email associatae,,,e la seconda elimina i record dal database con la email associata. ti ricordi che non riuscivo a
fare: delete from animali_abruzzo where email ='"$email"';? non riconosceva la email, invece cosi..come ho messo il
cookie , subito... a riconosciuto la email, ed elimina gli annunci.poi per quanto riguarda stile procedurale e
oggetti..alemoppo... ho visto che ha funzionato tutto e sono contento cosi.ah ah....scusa fai una prova...che ti
costa?...dammi un po di soddisfazione.... carica un annuncio sul sito e poi con quello che hai inserito nella email
lo elimini...meglio se ne carichi 2 con la stessa email...cosi vedi che lavoretto ho fatto.
NB: ovviamente con il 98% del tuo aiuto. ciao alemoppo.......
grazie sempre per quello che mi insegni.
-
buon giorno....volevo ringraziarla per il consiglio su z-index , e' perfetto!!!! era proprio quello che mi serviva.
buona giornata