I have this web service http://onleague.stormrise.pt:8031/OnLeagueRest/resources/onleague/Social/Login?Token=210029242357724|fd4eef8a839f24db2a9fedcd.1-100001001235070|Nro7dAY411DJRn7E8zB6MOXHjq8
And I'm having problems catching some values like:
clubId, clubName, clubLogo, relationType, and dateAdded.
I just don't know how to handle the array.
My code:
<?php
function getUserInfo() {
$json = file_get_contents('http://onleague.stormrise.pt:8031/OnLeagueRest/resources/onleague/Social/Login?Token=210029242357724|fd4eef8a839f24db2a9fedcd.1-100001001235070|Nro7dAY411DJRn7E8zB6MOXHjq8');
$data = json_decode($json, TRUE);
$v= $data['data'];
$_SESSION['userinfid'][] = $v['id'];
$_SESSION['userinfnickname'][] = $v['nickname'];
$_SESSION['userinfvisibility'][] = $v['visibility'];
$_SESSION['userinffirstname'][] = $v['first_name'];
$_SESSION['userinflastname'][] = $v['last_name'];
$_SESSION['userinfgender'][] = $v['gender'];
$_SESSION['userinfdialect'][] = $v['dialect'];
$_SESSION['userinfstatus'][] = $v['status'];
$_SESSION['userinfadmissiondate'][] = $v['admission_date'];
$_SESSION['userinflastaccess'][] = $v['last_access'];
$_SESSION['userinfusername'][] = $v['username'];
$_SESSION['userinfpoints'][] = $v['points'];
$_SESSION['userinfranking'][] = $v['ranking'];
$_SESSION['userinfsessionID'][] = $v['sessionID'];
$_SESSION['userinfpublicProfile'][] = $v['publicProfile'];
$_SESSION['userinfemail'][] = $v['email'];
$_SESSION['userinfmobile'][] = $v['mobile'];
$_SESSION['userinfimageURL'][] = $v['imageURL'];
$_SESSION['userinfclubURL'][] = $v['clubURL'];
$_SESSION['userinfcontact'][] = $v['contacts']['contact'];
$_SESSION['userinfcontactType'][] = $v['contacts']['contactType'];
$_SESSION['userinfisdefault'][] = $v['contacts']['is_default'];
$_SESSION['userinfclubId'][] = $v['clubs']['clubId'];
$_SESSION['userinfclubName'][] = $v['clubs']['clubName'];
$_SESSION['userinfclubLogo'][] = $v['clubs']['clubLogo'];
$_SESSION['userinfrelationType'][] = $v['clubs']['relationType'];
$_SESSION['userinfdateAdded'][] = $v['clubs']['dateAdded'];
}
getUserInfo();
echo 'IDClube: ' . $_SESSION['userinfclubId'][0] . '<br />';
echo 'NomeClube: ' . $_SESSION['userinfclubName'][0] . '<br />';
echo 'LogoClube: ' . $_SESSION['userinfclubLogo'][0] . '<br />';
echo 'RelationType: ' . $_SESSION['userinfrelationType'][0] . '<br />';
echo 'DataAdicionado: ' . $_SESSION['userinfdateAdded'][0] . '<br />';
?>
And if there is only one value for each key of session then
<?php
function getUserInfo() {
$json = file_get_contents('http://onleague.stormrise.pt:8031/OnLeagueRest/resources/onleague/Social/Login?Token=210029242357724|fd4eef8a839f24db2a9fedcd.1-100001001235070|Nro7dAY411DJRn7E8zB6MOXHjq8');
$data = json_decode($json, TRUE);
$v= $data['data'];
foreach($v as $key => $value)
{
$_SESSION['userinf'.$key] = $value;
}
}
getUserInfo();
echo 'IDClube: ' . $_SESSION['userinfclubs']['clubId'] . '<br />';
echo 'NomeClube: ' . $_SESSION['userinfclubs']['clubName'] . '<br />';
echo 'LogoClube: ' . $_SESSION['userinfclubs']['clubLogo'] . '<br />';
echo 'RelationType: ' . $_SESSION['userinfclubs']['relationType'] . '<br />';
echo 'DataAdicionado: ' . $_SESSION['userinfclubs']['dateAdded'] . '<br />';
Be careful,there's more than one club in clubs, so you'll need to do something like this :
foreach ($v['clubs'] as $value) {
$_SESSION['userinfclubId'][] = $value['clubId'];
$_SESSION['userinfclubName'][] = $value['clubName'];
$_SESSION['userinfclubLogo'][] = $value['clubLogo'];
$_SESSION['userinfrelationType'][] = $value['relationType'];
$_SESSION['userinfdateAdded'][] = $value['dateAdded'];
}
Related
I want to get the episode number and Released from
http://www.omdbapi.com/?t=the+walking+dead&season=6&r=json
but I don't know how to extract arrays from the api.
Can someone help me?
My code is:
$title = 'the+walking+dead';
$title2 = urlencode($title);
$json=file_get_contents("http://www.omdbapi.com/?t=$title2&season=6&r=json");
$details=json_decode($json);
if($details->Response=='True')
{
$episodios=$details->Episodes;
}
$title = 'the+walking+dead';
$title2 = urlencode($title);
$json = file_get_contents("http://www.omdbapi.com/?t=$title2&season=6&r=json");
$details = json_decode($json);
if ($details->Response == 'True') {
echo 'There are ' . count($details->Episodes) . ' episodes<br />';
foreach ($details->Episodes as $key => $episode) {
echo 'Episode criteria number is ' . ($key + 1) . '<br />';
echo 'Episode Number: ' . $episode->Episode . '<br />';
echo 'Released: ' . $episode->Released . '<br />';
}
}
<?php
$title = 'the+walking+dead';
$title2 = urlencode($title);
$json=file_get_contents("http://www.omdbapi.com/t=$title2&season=6&r=json");
$details=json_decode($json);
if($details->Response=='True')
{
$episodios=$details->Episodes;
foreach ($episodios as $episode) {
echo 'Episode Number: ' . $episode->Episode . '<br />';
echo 'Released Date: ' . $episode->Released . '<br />';
}
}
?>
I want to print both
<?php
//in file A
$_SESSION['cart']['prices'] = array('1000');
$_SESSION['cart']['services'] = array('game');
//In File B
$_SESSION['cart']['prices'] = array('2000');
$_SESSION['cart']['services'] = array('game2');
//in file C
foreach ($_SESSION['cart']['services'] as $key => $service) {
echo $service . ' = ' . $_SESSION['cart']['prices'][$key] . '<br />';
}
?>
Better use this :
$_SESSION['cart']['prices'][] = array('1000');
$_SESSION['cart']['services'][] = array('game');
//In File B
$_SESSION['cart']['prices'][] = array('2000');
$_SESSION['cart']['services'][] = array('game2');
According to the current data foreach loop will execute two times. It will print Array as $service is array array('1000') and array('2000') same as for $_SESSION['cart']['prices'][$key]
foreach ($_SESSION['cart']['services'] as $key => $service) {
echo $service . ' = ' . $_SESSION['cart']['prices'][$key] . '<br />';
}
Try this :
$array1 = array('1000','2000');
$array2 = array('game1','game2');
foreach($array1 as $index=>$key)
{
$_SESSION['cart']['prices'][] = $key;
$_SESSION['cart']['services'][] = $array2[$index];
}
foreach ($_SESSION['cart']['services'] as $key => $service) {
echo $service . ' = ' . $_SESSION['cart']['prices'][$key] . '<br />';
}
$channels = array('imaqtpies','imsoff','zzero71tv', 'kaptenen', 'onlySinged', 'nightblue3') ;
$nr = 0;
$callAPI = implode(",",$channels);
$online = 'online.png';
$offline = 'offline.png';
$json = file_get_contents('https://api.twitch.tv/kraken/streams?channel=' . $callAPI);
$dataArray = json_decode($json, true);
foreach($dataArray['streams'] as $mydata){
echo $mydata['channel']['name'] . ' is online';
echo '<br /><hr />';
unset($channels[$nr]);
$nr++;
}
$newChannels = array_values($channels);;
foreach($newChannels as $channel) {
echo $channel . ' is offline';
echo '<br /><hr />';
}
Not all the names are echoed in the "offline" part and some names are being echoed twice (both in online and offline).
$mydata['channel']['name'] and $nr are not aligned. You're unsetting the first x channels but I don't see why twitch should return them in the order you've defined your channels.
You will want something like:
$online_channels = array();
foreach($dataArray['streams'] as $stream){
$online_channels[] = $stream["channel"]["name"];
}
$offline_channels = array_diff($channels, $online_channels);
Then print $online_channels and $offline_channels.
I have a form/page that seems to submit the form data when the page loads. If you click "add record" it loads the page and creates a new entry into the database without entering any information. If you complete the form it works as desired but creates and additional record. What would cause the form to submit "on load"? Also I use this same form for other areas of the site with no issue but the data is stored into a different table.
My Code
<?
if(isset($_POST['title'])) {
if(isset($_POST['gallery_1'])) {
$gallery_1 = $_POST['gallery_1'];
}
if(isset($_POST['gallery_2'])) {
$gallery_2 = $_POST['gallery_2'];
}
if(isset($_POST['gallery_3'])) {
$gallery_3 = $_POST['gallery_3'];
}
if(isset($_POST['gallery_4'])) {
$gallery_4 = $_POST['gallery_4'];
}
if(isset($_POST['gallery_5'])) {
$gallery_5 = $_POST['gallery_5'];
}
if(isset($_POST['download_1'])) {
$download_1 = $_POST['download_1'];
}
if(isset($_POST['download_2'])) {
$download_2 = $_POST['download_2'];
}
if(isset($_POST['download_3'])) {
$download_3 = $_POST['download_3'];
}
$title = $_POST['title'];
$title_gallery = $_POST['title_gallery'];
$date = $_POST['date'];
$introduction = $_POST['introduction'];
$download_1_title = $_POST['download_1_title'];
$download_2_title = $_POST['download_2_title'];
$download_3_title = $_POST['download_3_title'];
$dropbox_title = $_POST['dropbox_title'];
$dropbox_info = $_POST['dropbox_info'];
$dropbox_link = $_POST['dropbox_link'];
$video_title = $_POST['video_title'];
$video = $_POST['video'];
$handle = new Upload($_FILES['gallery_1']);
if ($handle->uploaded) {
$handle->file_max_size = 4000000;
$handle->image_resize = true;
$handle->image_ratio = true;
$handle->image_ratio_crop = true;
$handle->image_y = 407;
$handle->image_x = 460;
$handle->allowed = array('image/pjpeg','image/jpeg', 'image/jpg');
$handle->Process($dir_dest);
if ($handle->processed) {
echo 'issue image 1 uploaded ' . round(filesize($handle->file_dst_pathname)/256)/4 . 'KB<br /><br />';
$gallery_1 = $dir_pics.'/' . $handle->file_dst_name ;
} else {
echo ' the following error occurred while uploading image 1<br />';
echo ' Error: ' . $handle->error . '<br /><br />';
}
$handle-> Clean();
}
$handle2 = new Upload($_FILES['gallery_2']);
if ($handle2->uploaded) {
$handle2->file_max_size = 4000000;
$handle2->image_resize = true;
$handle2->image_ratio = true;
$handle2->image_ratio_crop = true;
$handle2->image_y = 307;
$handle2->image_x = 460;
$handle2->allowed = array('image/pjpeg','image/jpeg', 'image/jpg');
$handle2->Process($dir_dest);
if ($handle2->processed) {
echo 'issue image 2 uploaded ' . round(filesize($handle2->file_dst_pathname)/256)/4 . 'KB<br /><br />';
$gallery_2 = $dir_pics.'/' . $handle2->file_dst_name ;
} else {
echo ' the following error occurred while uploading image 2<br />';
echo ' Error: ' . $handle2->error . '<br /><br />';
}
$handle2-> Clean();
}
$handle3 = new Upload($_FILES['gallery_3']);
if ($handle3->uploaded) {
$handle3->file_max_size = 4000000;
$handle3->image_resize = true;
$handle3->image_ratio = true;
$handle3->image_ratio_crop = true;
$handle3->image_y = 307;
$handle3->image_x = 460;
$handle3->allowed = array('image/pjpeg','image/jpeg', 'image/jpg');
$handle3->Process($dir_dest);
if ($handle3->processed) {
echo 'issue image 3 uploaded ' . round(filesize($handle3->file_dst_pathname)/256)/4 . 'KB<br /><br />';
$gallery_3 = $dir_pics.'/' . $handle3->file_dst_name ;
} else {
echo ' the following error occurred while uploading image 3<br />';
echo ' Error: ' . $handle3->error . '<br /><br />';
}
$handle3-> Clean();
}
$handle4 = new Upload($_FILES['gallery_4']);
if ($handle4->uploaded) {
$handle4->file_max_size = 4000000;
$handle4->image_resize = true;
$handle4->image_ratio = true;
$handle4->image_ratio_crop = true;
$handle4->image_y = 307;
$handle4->image_x = 460;
$handle4->allowed = array('image/pjpeg','image/jpeg', 'image/jpg');
$handle4->Process($dir_dest);
if ($handle4->processed) {
echo 'main image for issue uploaded ' . round(filesize($handle4->file_dst_pathname)/256)/4 . 'KB<br /><br />';
$gallery_4 = $dir_pics.'/' . $handle4->file_dst_name ;
} else {
echo ' the following error occurred while uploading the main image<br />';
echo ' Error: ' . $handle4->error . '<br /><br />';
}
$handle4-> Clean();
}
$handle5 = new Upload($_FILES['gallery_5']);
if ($handle5->uploaded) {
$handle5->file_max_size = 4000000;
$handle5->image_resize = true;
$handle5->image_ratio = true;
$handle5->image_ratio_crop = true;
$handle5->image_y = 307;
$handle5->image_x = 460;
$handle5->allowed = array('image/pjpeg','image/jpeg', 'image/jpg');
$handle5->Process($dir_dest);
if ($handle5->processed) {
echo 'map image for issue uploaded ' . round(filesize($handle5->file_dst_pathname)/256)/4 . 'KB<br /><br />';
$gallery_5 = $dir_pics.'/' . $handle5->file_dst_name ;
} else {
echo ' the following error occurred while uploading the map image<br />';
echo ' Error: ' . $handle5->error . '<br /><br />';
}
$handle5-> Clean();
}
$handle6 = new Upload($_FILES['download_1']);
if ($handle6->uploaded) {
$handle6->file_max_size = 4000000;
$handle6->allowed = array('application/*', 'image/*');
$handle6->Process($dir_dest);
if ($handle6->processed) {
echo 'download one uploaded' . round(filesize($handle6->file_dst_pathname)/256)/4 . 'KB<br /><br />';
$download_1 = $dir_pics.'/' . $handle6->file_dst_name ;
} else {
echo ' the following error occurred while uploading download one<br />';
echo ' Error: ' . $handle6->error . '<br /><br />';
}
$handle6-> Clean();
}
$handle7 = new Upload($_FILES['download_2']);
if ($handle7->uploaded) {
$handle->file_max_size = 4000000;
$handle->allowed = array('application/*', 'image/*');
$handle7->Process($dir_dest);
if ($handle7->processed) {
echo 'download two uploaded' . round(filesize($handle7->file_dst_pathname)/256)/4 . 'KB<br /><br />';
$download_2 = $dir_pics.'/' . $handle7->file_dst_name ;
} else {
echo ' the following error occurred while uploading download two<br />';
echo ' Error: ' . $handle7->error . '<br /><br />';
}
$handle7-> Clean();
}
$handle8 = new Upload($_FILES['download_3']);
if ($handle8->uploaded) {
$handle->file_max_size = 4000000;
$handle->allowed = array('application/*', 'image/*');
$handle8->Process($dir_dest);
if ($handle8->processed) {
echo 'download three uploaded' . round(filesize($handle8->file_dst_pathname)/256)/4 . 'KB<br /><br />';
$download_3 = $dir_pics.'/' . $handle8->file_dst_name ;
} else {
echo ' the following error occurred while uploading download three<br />';
echo ' Error: ' . $handle8->error . '<br /><br />';
}
$handle8-> Clean();
}
}
$query = mysql_query("INSERT INTO news (
id ,
title ,
title_gallery ,
date ,
introduction ,
gallery_1 ,
gallery_2 ,
gallery_3 ,
gallery_4 ,
gallery_5 ,
download_1 ,
download_2 ,
download_3 ,
download_1_title ,
download_2_title ,
download_3_title ,
dropbox_title ,
dropbox_info ,
dropbox_link ,
video_title ,
video
) VALUES
(NULL,
'$title',
'$title_gallery',
'$date',
'$introduction',
'$gallery_1',
'$gallery_2',
'$gallery_3',
'$gallery_4',
'$gallery_5',
'$download_1',
'$download_2',
'$download_3',
'$download_1_title',
'$download_2_title',
'$download_3_title',
'$dropbox_title',
'$dropbox_info',
'$dropbox_link',
'$video_title',
'$video');");
if($query) {
$message = $title . " has been added";
}else{
$message = "an error occurred while updating this entry";
}
?>
</p>
<? if(isset($_POST['title'])) { ?>
<div id="content_holder">
<p style="text-align:center;padding-top:20px;">
<strong><? echo $message; ?></strong><br/>
<span class="error"><? if($error_message) { echo $error_message; } ?></span>
Add another Record/Item</p>
<!-- end content_holder -->
</div>
<? }else{ ?>
The form... and Closing brackets...
Your INSERT query is outside your if(isset($_POST['title'])) statement. A row is inserted on every page load with empty values.
Is it possible on the php side of things you do not check if the form was submited and just blindly create a new record from empty data every time the page loads?
edit: exactly. The mysql query runs no mather what. Put a if around it to make sure a form was submited.
I have a block of code thats working perfectly to pull data about different office locations.
What I would like to do is be able to make the last iteration of this loop change the div class to something else so I can apply a different set of css styles.
$fields = get_group('Offices');
foreach($fields as $field){
echo'<div class="oloc">';
if($locationVar==NULL || $locationVar!=$field['office-location'][1]) {
echo '<a name="' . strtolower(str_replace(' ', '-', $field['office-location'][1])) . '"></a><h3>' . $field['office-location'][1] . '</h3>';
$locationVar = $field['office-location'][1];
} else {
echo "<br />";
}
if($field['office-gm'][1]){
echo '<div class="gm"><img src="http://maps.googleapis.com/maps/api/staticmap?center=' . $field['office-gm'][1] . '&zoom=9&size=250x250&markers=color:blue|label:A|' . $field['office-gm'][1] . '&sensor=false"></div>';
}
if($field['office-name'][1]){
echo '<strong>' . $field['office-name'][1] . '</strong><br /><br />';
}
if($field['office-phone'][1]){
echo 'Phone: ' . $field['office-phone'][1] . '<br />';
}
if($field['office-fax'][1]){
echo 'Fax: ' . $field['office-fax'][1] . '<br />';
}
if($field['office-address'][1]){
echo '<br />Address:<br />' . strip_tags($field['office-address'][1], '<br><br />') . '<br />';
}
if($field['office-webpage'][1]){
echo 'Web: ' . 'Office Webpage<br />';
}
if($field['office-email'][1]){
echo 'Email: ' . 'Office Email<br />';
}
if($field['office-emp'][1]){
echo 'Jobs: ' . 'Employment Application<br />';
}
if($field['office-fb'][1]){
echo 'Facebook: ' . 'Facebook<br />';
}
if($field['office_office_twitter'][1]){
echo 'Twitter: ' . 'Twitter<br />';
}
echo '</div>';
}
For cases like these you can use a CachingIterator and the hasNext() method:
$fields = get_group('Offices');
$it = new CachingIterator(new ArrayIterator($fields));
foreach($it as $field)
{
...
if (!$it->hasNext()) echo 'Last:';
...
}
Put every echo in a var, this class definition in a other var. Then at the end of your foreach you check like so:
$i = 0;
foreach(...
if( $i == count($fields) ) { // change class }
Try this
$i = 0;
$total = count($fields);
$final = false;
foreach($fields as $field){
$i++;
$final = ($i + 1 == $total)? true : false;
if($final)
echo'<div class="NEW_CLASS">';
else
echo'<div class="oloc">';
....
}
First you should get the total count of the offices so that when you are on the last iteration, you can do something about it.
$fields = get_group('Offices');
$fields_count = count($fields);
$i = 0;
foreach ($fields as $field) {
$is_final = ++$i == $fields_count;
echo '<div class="oloc' . ($is_final ? ' oloc-final' : '') . '">';
[...]
}