Redirectionare dupa incarcare imagine.
Scris: Mie Oct 25, 2017
Am pe pagina X un iframe din pagina Y ce actioneaza codul din pagina Z
pagina Y este
iar pagina Z este codul php de incarcare a pozei
Dar nu reusesc sa pun o redirectionare dupa ce apare mesajul ca sa incarcat imaginea, o redirectionare dupa 5 secunde ...
Am incercat cateva variante, dar fara rezultat ...
- Edit:
Si daca se poate ca sa se micsoreze cat ocupa o imagine, exemplu din 2 3 Mb , sa fie cateva 100 de Kb, dar sa nu se piarda oarecum din claritate si din dimensiune.
Help
pagina Y este
Cod: Selectaţi tot
<?php session_start();?>
<script src="/js/jquery.min.js"></script>
<link rel="stylesheet" type="text/css" href="../css.css" />
<style type="text/css">
#uploadframe { display:none; }
</style>
<form id="uploadform" action="/users/upload.php" method="post" enctype="multipart/form-data" target="uploadframe" onsubmit="uploadimg(this); return false">
<input type="file" id="myfile" name="myfile">
<input type="submit" value="Salveaza poza" />
<iframe id="uploadframe" name="uploadframe" src="/users/upload.php" width="8" height="8" scrolling="no" frameborder="0"></iframe>
</form>
<div id="showimg"> </div>
<div class="progress" style="color:red;">
<div class="bar" style="color:yellow;"></div >
<div class="percent" style="color:green;"></div >
</div>
<div id="status" style="color:blue;"></div>
<script type="text/javascript"><!--
function uploadimg(theform){
var file = $('#myfile').val();
if(file.length == 0)
{ $('#showimg').html('<font color="red">Selecteaza un fisier</font>'); }
else {
theform.submit();
setStatus("<br>Se incarca imaginea... Asteapta pana cand este gata (maxim 5 minute)", "showimg");
// progres bar //
// end progres bar //
}
}
function doneloading(rezultat) {
rezultat = decodeURIComponent(rezultat.replace(/\+/g, " "));
document.getElementById('showimg').innerHTML = rezultat;
}
function setStatus(theStatus, theloc) {
var tag = document.getElementById(theloc);
if (tag) {
tag.innerHTML = '<b>'+ theStatus + "</b>";
}
}
--></script>
Cod: Selectaţi tot
<?php session_start(); include('../conectare.php');
if(isset($_SESSION['nume']))
{
$rezultat = '';
// Daca este primit din formular un fisier valid
if(isset($_FILES['myfile']))
{ // daca nu e selectat nici un fisier sa dea eroare
if($_FILES['myfile']['name'] == '')
{ $rezultat = '<img src=/imagini/stare-error.png> <font color=red>Alege o poza!</font>'; }
// daca e selectat fisieru, spor la incarcat
else if(strlen($_FILES['myfile']['name']) !== 0)
{
if (isset($_FILES['myfile'])) {
// Verifica daca fisierul are tipul de extensie permis
$type = end(explode(".", strtolower($_FILES['myfile']['name'])));
// Daca nu sunt erori in procesul de copiere
if ($_FILES['myfile']['error'] == 0) {
// Seteaza locatia si numele pt. incarcare pe server
$id = ''.$_SESSION['id'].'.0';
$thefile = 'poza-profil/'.$id.'.jpg';
// Daca fisierul nu poate fi incarcat, returneaza mesaj
if (!move_uploaded_file ($_FILES['myfile']['tmp_name'], $thefile)) {
$rezultat = '<img src=/imagini/stare-error.png>
Sa intamplat ceva, nu stiu ce este, revin-o peste cateva minute pentru a
schimba poza de profil! Daca problema persista contacteaza-ne!';
}
else {
// Returneaza succes
$rezultat = '<img src=/imagini/stare-succes.png>
<font color=green>Poza ta de profil a fost incarcata cu succes, aceasta va aparea pe site dupa ce o va
aproba un administrator al site-ului, daca aceasta respecta Termenii si conditiile site-ului!
</font>';
}
}
}
}
}
}
// daca e delogat sa dea eroare //
else
{
$rezultat = '<img src=/imagini/stare-error.png> <font color=red>Pentru a schimba poza de profil trebuie sa fi logat pe site</font>';
}
// Codeaza cu 'urlencode()' variabila $rezultat si o returneaza in 'onload', intr-un tag BODY
$rezultat = urlencode($rezultat);
echo '<body onload="parent.doneloading(\''.$rezultat.'\')"></body>';
?>
Am incercat cateva variante, dar fara rezultat ...
- Edit:
Si daca se poate ca sa se micsoreze cat ocupa o imagine, exemplu din 2 3 Mb , sa fie cateva 100 de Kb, dar sa nu se piarda oarecum din claritate si din dimensiune.
Help