Foto's per profiel uploaden en met formulier meesturen
Voor ik hier ben gaan komen vragen heb ik eerst heel wat dingen afgezocht, geprobeerd maar tevergeefs mocht niks lukken, letterlijk niks....
Ik heb dus een profielensite met beantwoording, linkerkant profiel en rechterkant een profiel, berichten komen binnen en via daar kan er ook weer gereageerd worden.
Nu wil ik graag foto's per profiel ergens naartoe uploaden naar een mapje en vervolgens weer kunnen oproepen onder mijn tekstvak en daar vervolgens mits er foto's aanwezig zijn een foto kunnen selecteren en verzenden samen met een bericht.
Heeft iemand hier een idee of oplossing voor misschien?
Wat ik ongeveer bedoel: https://imgur.com/XavvWjb
Edit:
Linkje aangepast. Je kan geen website tussen img-tags plaatsen.
Gewijzigd op 30/05/2019 12:50:07 door - Ariën -
Wat heb je nu al? Kan je ze al wel uploaden naar het bestandssysteem? En koppel je ze al wel in de database?
Er is op dit moment wel een upload aanwezig inderdaad en een koppeling naar de database maar dat is zodat men privéfoto's kan aanvragen op de front pagina. Ik zou dus echt een afzonderlijk deel willen hebben voor de privé foto's intern zodat wij die kunnen meesturen.
Twee volledig gescheiden systemen zijn niet handig, omdat je dan dubbele code in je codebase hebt, en dat is niet bepaald praktisch.
Je URL wordt dan dus /foto.php?id=1235&hash=32d4b354e76c5b752e237005e0cd759d
Dat laatste is md5('doemaarwat' . $id). Als je het stukje 'doemaarwat' geheim houdt kan niemand de hash voor id=1236 raden (en die foto dus ook inzien - tenzij de eigenaar 'm publiceert, inclusief de hash). Als de hash wel klopt serveer je de foto via foto.php uit.
Evt. kun je in de hash ook nog het user-id van degene voor wie de foto bedoeld is opnemen, dan kan ook alleen die persoon (als ie ingelogd is) de foto zien (maar 'm daarna natuurlijk wel kopiëren, enz).
In plaats van een hash kun je uiteraard ook een random code in de database opslaan (dan kan je code ook nog op straat komen te liggen, zonder dat ze het kunnen raden), of bijhouden wie welke foto (van een ander) mag zien (en dat ook weer via zo'n foto.php proxy controleren).
Gewijzigd op 30/05/2019 12:57:49 door Rob Doemaarwat
https://imgur.com/F5XlQXn
Dit is hoe we het zien in de admin:
https://imgur.com/TVeadaP
Dan ons berichten vak met bijlage meesturen:
https://imgur.com/jUPsobt
Bijlage meesturen wil ik dus heel graag vervangen hebben juist naar een foto oproep die je kunt selecteren en meesturen, wanneer foto verzonden is dat men deze niet nog een keer kan verzenden, hoop dat ik het een beetje duidelijk uitleg?
Alleen het punt is sowieso of ik nou 1 of 10 foto's upload, die zijn dan allemaal zichtbaar op de front pagina vandaar dat ik het had over een aparte sectie wellicht of het fotosysteem van front weghalen?
Ik snap het probleem niet zo? Je kan toch een centraal uploadsysteem maken, en in een koppeltabel de koppelingen vastleggen en het type fotokoppeling beschrijven?
Vandaar dat ik ook dacht dat het beter was een stukje nieuw erbij te maken maar u zegt dat dit niet handig is.
Script is ook even te groot om hier te plaatsen trouwens..
Maar ik zou graag inderdaad gewoon foto's willen kunnen meesturen vanuit de database
Laat anders eens een dumpje van je database, met een beetje logische dummy-data, zien.
https://imgur.com/sUYjstt
Het was een bestaand systeem, alles is zo aangekocht.. maar de functie foto meesturen bestaat jammer genoeg niet.
Gewijzigd op 30/05/2019 13:50:46 door Ray Mond
Gewijzigd op 30/05/2019 13:54:38 door - Ariën -
Op front roept hij op met:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?php
if(!isset($_SESSION['user_id'])){
?>
<p> U dient zich eerst te registreren voordat u alle fotos kunt bekijken van <?php echo $row->profile_name; ?> </p>
<?php }else{ ?>
<div id="gallery-carousel">
<?php
$pvoto= get_stat("SELECT count(*) as num from user_pictures WHERE user_id=".$row->profile_id);
if($pvoto->num != 0 ){
$private = get_stat("select * from picture_request where f_pi ='".$_SESSION['profile_id']."' and t_pi = '".$row->profile_id."'");
if(empty($private)){
echo '<a href="#" class="button alert prequest"><i class="icon-instagram"></i> Privefotos bekijken? </a>' ;
}else{
if($private->status !=='accepted'){
echo '<a href="#" class="button alert"><i class="icon-coffee"></i> Aanvraag wordt behandeld </a>' ;
}else{
slidemini($_GET['id']);
}
}
}
?>
if(!isset($_SESSION['user_id'])){
?>
<p> U dient zich eerst te registreren voordat u alle fotos kunt bekijken van <?php echo $row->profile_name; ?> </p>
<?php }else{ ?>
<div id="gallery-carousel">
<?php
$pvoto= get_stat("SELECT count(*) as num from user_pictures WHERE user_id=".$row->profile_id);
if($pvoto->num != 0 ){
$private = get_stat("select * from picture_request where f_pi ='".$_SESSION['profile_id']."' and t_pi = '".$row->profile_id."'");
if(empty($private)){
echo '<a href="#" class="button alert prequest"><i class="icon-instagram"></i> Privefotos bekijken? </a>' ;
}else{
if($private->status !=='accepted'){
echo '<a href="#" class="button alert"><i class="icon-coffee"></i> Aanvraag wordt behandeld </a>' ;
}else{
slidemini($_GET['id']);
}
}
}
?>
Maar het gaat mij er enkel om dat ik het kan oproepen onder de tekstvak en dan kan meesturen naar een profiel toe
Gewijzigd op 30/05/2019 14:10:28 door - Ariën -
Of dat misschien iemand het voor me kan maken.. Uiteraard tegen vergoeding dan.
Gewijzigd op 30/05/2019 14:06:12 door Ray Mond
Die foto's stuur je dus naar iemand anders, begrijp ik? Dan sla je in de koppeltabel de picture_id op, jouw ID, die van de ontvanger, en het type van de koppeling (bijv. privébericht)
Ik wil de foto's inderdaad naar een ander dan sturen maar ik moet ze a: eerst oproepen vanuit de database onder de tekstvak en dan vervolgens kunnen selecteren en sturen maar zelfs dat is er nog niet eens
Dan met een foreach uitlezen en de foto's in de koppeltabel plaatsen.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<!-- MESSAGE -->
<div class="span6">
<div id="result"></div>
<!-- message box -->
<form id="myForm1" method="POST" action="../controller/ajax.php">
<textarea style="width:98%; margin-top:3px;" id="msg-box" maxlength="<?php echo $meta['max_char']; ?>" name="message" rows="4"></textarea>
<input id="attachpict" name="attachpict" type="file">
<a class="btn btn-mini" id="example" data-toggle="popover" data-placement="right" data-content='<div >
<?php foreach ($icons as $key => $icon){
echo str_replace('/>',' class="emoticons" onmouseover="this.style.border="#aaaaaa 1px solid"" onmouseout="this.style.border="#ffffff 1px solid"" style="float: left; margin: 1px; cursor: pointer; border: 1px solid rgb(255, 255, 255); padding: 2px;" title="'.$key.'" border="0" />',$icon);
}
?>
</div>' title="" data-original-title="Emoticons <button id='popovercloseid' type='button' class='close'>×</button>" >
<img src="../img/emoticon-happy.png" >
</a><span id="tot" style="padding-left:10px;"></span>
<?php if ($profile_id !== '') echo load_images($profile_id,config::site_url);?>
<input type="hidden" name="to" id="to" value="<?php echo $from; ?>" >
<input type="hidden" name="from" value="<?php echo $to; ?>">
<input type="hidden" name="send_message" value="yes">
<button class="btn btn-primary ajax" id="kirim_man" style="float:right;"><i class="icon icon-white icon-envelope" ></i><?php echo $trns['send']; ?></button>
<!-- enc of message box -->
</form>
<div class="span6">
<div id="result"></div>
<!-- message box -->
<form id="myForm1" method="POST" action="../controller/ajax.php">
<textarea style="width:98%; margin-top:3px;" id="msg-box" maxlength="<?php echo $meta['max_char']; ?>" name="message" rows="4"></textarea>
<input id="attachpict" name="attachpict" type="file">
<a class="btn btn-mini" id="example" data-toggle="popover" data-placement="right" data-content='<div >
<?php foreach ($icons as $key => $icon){
echo str_replace('/>',' class="emoticons" onmouseover="this.style.border="#aaaaaa 1px solid"" onmouseout="this.style.border="#ffffff 1px solid"" style="float: left; margin: 1px; cursor: pointer; border: 1px solid rgb(255, 255, 255); padding: 2px;" title="'.$key.'" border="0" />',$icon);
}
?>
</div>' title="" data-original-title="Emoticons <button id='popovercloseid' type='button' class='close'>×</button>" >
<img src="../img/emoticon-happy.png" >
</a><span id="tot" style="padding-left:10px;"></span>
<?php if ($profile_id !== '') echo load_images($profile_id,config::site_url);?>
<input type="hidden" name="to" id="to" value="<?php echo $from; ?>" >
<input type="hidden" name="from" value="<?php echo $to; ?>">
<input type="hidden" name="send_message" value="yes">
<button class="btn btn-primary ajax" id="kirim_man" style="float:right;"><i class="icon icon-white icon-envelope" ></i><?php echo $trns['send']; ?></button>
<!-- enc of message box -->
</form>
Gewijzigd op 30/05/2019 14:29:30 door - Ariën -
De php-tag is bedoeld om naar PHP-functies te linken. Zie ook de Veelgestelde Vragen op deze site.
Maar je moet eerst dus je foto's via een while()-loop ophalen.
Als het niet lukt, en je wilt het uitbesteden aan iemand anders, dan volstaat een topic in het Vacature-forum volgens de genoemde criteria.
Ik denk dat ik dit inderdaad maar moet uitbesteden want het script is gewoon enorm raar, serieus en ik ga hier niet uitkomen zelf denk ik.