SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Handbuch der Java-Programmierung

Handbuch der Java-Programmierung zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 01.03.2016, 22:06:30
majas majas ist offline
Anfänger
 
Registriert seit: Nov 2015
Alter: 57
Beiträge: 7
Navigator Geolocation - Fehlermeldung ausgeben

CMS Redaxo 4.6

Code Modul Umkreissuche

Hallo,

ich habe ein Modul für Redaxo (Umkreissuche - Anzeigen im Umkreis von 5... etc. Km anzeigen) geschrieben und finde einen Fehler nicht.

Das Modul gibt die Fehlermeldung (JQuery) erst beim dritten Reload der Seite aus

Der JQuery Teil befindet sich am Ende des Codes, ab Zeile 150.

Ich poste den Code im nächsten Beitrag, da er für einen Beitrag zu lang ist.

Ich bin für jede Hilfe dankbar.

Gruß Andy
Mit Zitat antworten
  #2  
Alt 01.03.2016, 22:07:30
majas majas ist offline
Anfänger
 
Registriert seit: Nov 2015
Alter: 57
Beiträge: 7
AW: Navigator Geolocation - Fehlermeldung ausgeben

PHP-Code:
<?php
do {

if(!
function_exists('removeMC'))
{
  function 
removeMC($marker,$data,$item)
  {
    if(
strcmp($data,'')!=0)
    {
      
$item preg_replace("/<!--".$marker."/",'',$item);
      
$item preg_replace("/".$marker."-->/",'',$item);
      
$item preg_replace("/---".$marker."---/",$data,$item);
    }
    
    return 
$item;
    }
}

$position = array(
  
'lat' => rex_get('lat''float'), // Latitude
  
'lon' => rex_get('lon''float'), // Longitude
  
'acc' => rex_get('acc''float'), // Genauigkeit in Metern
);

$error rex_get('error');
$distance rex_get('distance''int'5);
$distances = array(5,10,25,50);

if(!empty(
$position['lat'] AND !empty($position['lon'])))
{
  
// Selectbox zur Auswahl der Distanz
?>
Mit Zitat antworten
  #3  
Alt 01.03.2016, 22:08:35
majas majas ist offline
Anfänger
 
Registriert seit: Nov 2015
Alter: 57
Beiträge: 7
AW: Navigator Geolocation - Fehlermeldung ausgeben

PHP-Code:
<div id="div_content" align="center" class="ui-content ui-body-a" style="padding-left: 10px; padding-right: 10px;">  
  <form action="<?php echo rex_geturl(); ?>" method="get">
  <fieldset style="border: none;">
    <div class="ui-btn ui-shadow ui-btn-corner-all ui-submit ui-btn-up-a">
    <span class="ui-btn-inner ui-btn-corner-all">
        <span class="ui-btn-text">Umkreis wählen</span>
     </span>
    </div>
    <div class="ui-select">
    <div class="ui-btn ui-shadow ui-btn-corner-all ui-btn-icon-right ui-btn-up-a" data-corners="true" data-shadow="true" data-iconshadow="true" data-wrapperels="span" data-icon="arrow-d" data-iconpos="right" data-theme="a">
    <span class="ui-btn-inner ui-btn-corner-all">
    <span class="ui-btn-text">
    <span>5</span>
    </span>
    </span>
    <select name="distance" id="distance" data-native-menu="true">
    <?php
    
foreach($distances as $d)
    {
      
$selected '';
      if(
$d == $distance)
        
$selected 'selected';
      
      
printf('<option value="%d"%s>%d&nbsp;km</option>'$d$selected$d);
    }
?>
    </select>
    </div>
    </div>
  </fieldset>
</form>
</div>
Mit Zitat antworten
  #4  
Alt 01.03.2016, 22:09:46
majas majas ist offline
Anfänger
 
Registriert seit: Nov 2015
Alter: 57
Beiträge: 7
AW: Navigator Geolocation - Fehlermeldung ausgeben

PHP-Code:
<script type="text/javascript">/* <![CDATA[ */
    document.getElementById('distance').onchange = function (e)
    {
      location.href = '<?php echo rex_geturl('''', array('lat' => number_format($position['lat'], 10'.'''),'lon' => number_format($position['lon'], 10'.'''),'acc' => $position['acc']), '&'); ?>&distance=' + this.value;
    }
/* ]]> */</script><?php
  
/* Umkreissuche
   * Die Genauigkeit der Position wird in die Umkreissuche mit eingeschlossen, wenn diese ein Fünftel der Distanz nicht überschreitet.
   * Bispiel: Genauigkeit ist 1km, Umkreis ist 5km: Es wird effektiv im Umkreis von 5 + 1 = 6km gesucht.
   * Beispiel: Genauigkeit ist 10km, Umkreis ist 25km: Genauigkeit ist zu unsicher, deshalb wird im Umkreis von 25km gesucht.
  */
  
error_reporting(E_ALL);
  
ini_set('display_errors'1);
  
  
$sql rex_sql::factory(2);
  
//$sql->setDebug();
  
$sql->setQuery("
    SELECT
      *,
      (
          6371 * acos(
              cos(
                  radians("
.number_format($position['lat'], 10'.''').")
              ) * cos(
                  radians( lat )
              ) * cos(
                  radians( lon ) - radians("
.number_format($position['lon'], 10'.''').")
              ) + sin(
                  radians("
.number_format($position['lat'], 10'.''').")
              ) * sin(
                  radians( lat )
              )
          )
      ) AS distance
    FROM `"
.$sql->escape($REX['TABLE_PREFIX'].'sedcards')."`
    WHERE 1
      AND status='1'
      AND (displaybegin < '"
.date('Y.m.d H:i',time())."' AND (displayend IS NULL OR displayend = '' OR displayend > '".date('Y.m.d H:i',time())."'))
    HAVING 1
      AND distance <= "
.($distance + (($position['acc'] / 1000) <= ($distance 5) ? ($position['acc'] / 1000) : 0))."
    ORDER BY
      distance, datum ASC
  "
);//*/
  
  //$sql->setQuery("SELECT * FROM `".$sql->escape($REX['TABLE_PREFIX'].'sedcards')."` WHERE displaybegin != ''");
      
  
if(!$sql->getRows())
  {
    
// Keine Datensätze im Umkreis gefunden
    
break;
  }
  
  
// Ausgabe aller Datensätze in der Nähe
  
include_once($REX["INCLUDE_PATH"]."/addons/sedcard_admin/libs/stdlib.php");
  
  
$vl '<div style="padding-top: 0px; overflow: hidden;"><ul class="ui-listview"><li class="ui-btn ui-btn-icon-right ui-li-has-arrow ui-li ui-li-has-thumb ui-btn-hover-a ui-btn-up-a ui-li-has-count ui-li-count"><div class="ui-btn-inner ui-li"><div class="ui-btn-text"><a class="ui-link-inherit" href="'.rex_getUrl(5,$REX["CUR_CLANG"]).'?id=---ID---"><span class="lady img" style="float: left;"><img class="ui-li-thumb" style="border: 0px;" src="http://www.erotik-leipzig.com/sedcards/---VERZEICHNIS---/img/---BILD---" alt="---NAME" title="---NAME---"></span><p class="ui-li-desc"><strong>---ORT--- ---STADTTEIL---</strong></p><p class="ui-li-desc">---STRASSE---</p><h4 class="ui-li-heading">---NAME---</h4><p class="ui-li-desc"><!--ALTER ---ALTER--- Jahre, ALTER--><!--BH ---BH---, BH--><!--KONFEKTION KF ---KONFEKTION---, KONFEKTION--><!--GROESSE ---GROESSE--- cm, GROESSE--><!--GEWICHT ---GEWICHT--- kg, GEWICHT--><!--INTIMRASUR ---INTIMRASUR---, INTIMRASUR--><!--NATIONALITAET ---NATIONALITAET--- NATIONALITAET--></p></a></div><span class="ui-icon ui-icon-arrow-r ui-icon-shadow"> </span></div></li></ul><div class="clear"></div></div>';
  
  
$out '';
  foreach(
$sql->getArray() as $lady)
  {
    
$item $vl;
    
$bild '01k.jpg';
    
$item str_replace("---VERZEICHNIS---",$lady['verzeichnis'],$item);
    
$item str_replace("---NAME---",strtoupper($lady['name']),$item);
    
$item str_replace("---STRASSE---",strtoupper($lady['strasse']),$item);
    
$item str_replace("---BILD---",$bild,$item);
    
$item str_replace("---ID---",$lady["id"],$item);
    
$item str_replace("---STADTTEIL---",strtoupper(join(", ",preg_split("/\|/",$lady['stadtteil'],-1,PREG_SPLIT_NO_EMPTY))),$item);
    
$item str_replace("---ORT---",strtoupper(join(", ",preg_split("/\|/",$lady['ort'],-1,PREG_SPLIT_NO_EMPTY))),$item);
    
$item removeMC("ALTER",$lady["alter"],$item);
    
$item removeMC("BH",$lady["bh"],$item);
    
$item removeMC("KONFEKTION",$lady["konfektion"],$item);
    
$item removeMC("GROESSE",$lady["groesse"],$item);
    
$item removeMC("GEWICHT",$lady["gewicht"],$item);
    
$item removeMC("INTIMRASUR",$lady["intimrasur"],$item);
    
$item removeMC("NATIONALITAET",$lady["nationalitaet"],$item);
    
$out .= $item;
  }
  echo 
$out;
  
  
// Hier das Modul beenden, weil der Standort schon bekannt ist
  
break;
}

// Standortbestimmung
?>
<div align="center" class="ui-content ui-body-a">
  <div id="wait_msg" style="width: 100%; height: 80px; text-align: center;"><img style="margin-top: 20px" src="../files/images/ajax-loader-big.gif"> <br />
    Bitte warten</div>
</div>
<div align="center" class="ui-content ui-body-a">
    <?php if($error): ?>
  <div id="error_msg" style="width: 96%; margin: 2% 0 2% 2%; text-align: left; float: left; border: 1px solid #f7c942; color: #333; text-shadow: 0 1px 0 #fff; background: #faeb9e; background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#faeb9e) ); background-image: -webkit-linear-gradient(top, #fff, #faeb9e); background-image: -moz-linear-gradient(top, #fff, #faeb9e); background-image: -ms-linear-gradient(top, #fff, #faeb9e); background-image: -o-linear-gradient(top, #fff, #faeb9e); background-image: linear-gradient(top, #fff, #faeb9e); padding: 0.4em 0 0 0; font-size: 18px;">
    <div style="padding: 8px;">Für diese Funktion benötigen Sie die Standorterkennung oder den Ortungsdienst (GPS) ihres Mobiltelefons! <br /><br />
        Bitte aktivieren Sie diesen in ihren Einstellungen und rufen Sie die Seite erneut auf. <br /><br />
        Genaue Informationen erhalten Sie von ihrem jeweiligen Telefonhersteller. <br /><br />Fehler: 
      
      <?php
        $msg 
'';
        switch (
$_REQUEST['error']){
            case 
1:
                
//msg = "User denied the request for Geolocation."
                
$msg += 'CODE = ' error.PERMISSION_DENIED 1;
                
$msg .= '<br />Benutzer hat die Anfrage zur Standorterkennung verweigert.';
        break;
            case 
2:
        
//msg = "Location information is unavailable.";
        
$msg .= 'CODE = ' error.POSITION_UNAVAILABLE 2;
        
$msg .= '<br/>\nStandorterkennung nicht verfügbar.';
        break;
            case 
3:
        
//msg = "The request to get user location timed out.";
        
$msg .= 'CODE = ' error.TIMEOUT 3;
        
$msg .= '<br/>\nStandorterkennung Timeout.';
        break;
            case 
4:
        
//msg = "An unknown error occurred.";
        
$msg .= 'CODE = ' error.UNKNOWN_ERROR 4;
        
$msg .= '<br/>\nUnbekannter Fehler ist aufgetreten.';
        break;
        }
        echo 
$msg;
      
?>
      <a id="standort_reload" href="<?php echo rex_getUrl(21,$REX["CUR_CLANG"]); ?>" class="ui-btn ui-shadow ui-btn-corner-all ui-btn-icon-left ui-btn-up-a">
          <span class="ui-btn-inner ui-btn-corner-all">
            <div id="mtext" class="ui-btn-text" style="font-size: small;">Nochmal versuchen</div>
            <span id="mehrzeiten_icon" class="ui-icon ui-icon-refresh ui-icon-shadow">&nbsp;</span>
          </span>
      </a>
    </div>
  </div>
  <?php endif; ?>
</div>
<?php

// Script zur Standortbestimmung nur ausführen, wenn Standort noch nicht bekannt ist und auch kein Fehler aufgetreten ist
if(empty($_GET))
{
?>
<script type="text/javascript">/* <![CDATA[ */

if(!navigator.geolocation)
{
  location.href = '<?php echo rex_geturl('''', array('error' => 'geo'), '&'); ?>';
}
else
  {
    navigator.geolocation.getCurrentPosition(function(position)
    {
        // Position konnte ermittelt werden
        location.href = '<?php echo rex_geturl(); ?>?lat=' + position.coords.latitude + '&lon=' + position.coords.longitude;
    },  function()
    {
        // Position konnte nicht ermittelt werden
        location.href = '<?php echo rex_geturl(); ?>?error=' + fehlercode;
    }, 
    {
        enableHighAccuracy: true,
        timeout: 5000,
        maximumAge: 0
    });
    navigator.geolocation.getCurrentPosition(
    function(pos){
    },
    function(error){
        var msg = "Fehler: ";
        switch (error.code){
            case error.PERMISSION_DENIED:
                //msg = "User denied the request for Geolocation."
                msg += 'CODE = ' + error.PERMISSION_DENIED | 1;
                msg += '<br />Benutzer hat die Anfrage zur Standorterkennung verweigert.';
                                fehlercode=1;
                break;
            case error.POSITION_UNAVAILABLE:
                //msg = "Location information is unavailable.";
                msg += 'CODE = ' + error.POSITION_UNAVAILABLE | 2;
                msg += '<br/>\nStandorterkennung nicht verfügbar.';
                                fehlercode=2;
                break;
            case error.TIMEOUT:
                //msg = "The request to get user location timed out.";
                msg += 'CODE = ' + error.TIMEOUT | 3;
                msg += '<br/>\nStandorterkennung Timeout.';
                                fehlercode=3;
                break;
            case error.UNKNOWN_ERROR:
                //msg = "An unknown error occurred.";
                msg += 'CODE = ' + error.UNKNOWN_ERROR | 4;
                msg += '<br/>\nUnbekannter Fehler ist aufgetreten.';
                                fehlercode=4;
                break;
        }
    }
)
}
/* ]]> */</script>
<?php
}

} while(
false);
?>
Ich musste den Code auf 3 Beiträge aufteilen
Mit Zitat antworten
  #5  
Alt 02.03.2016, 12:51:40
Benutzerbild von vt1816
vt1816 vt1816 ist offline
Administrator
 
Registriert seit: Jul 2004
Beiträge: 3.707
AW: Navigator Geolocation - Fehlermeldung ausgeben

Fehlermeldung?
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #6  
Alt 02.03.2016, 13:55:22
majas majas ist offline
Anfänger
 
Registriert seit: Nov 2015
Alter: 57
Beiträge: 7
AW: Navigator Geolocation - Fehlermeldung ausgeben

Unterer Teil im Quellcode


GPS nicht verfügbar, Timeout, GPS aus .... - sind insgesamt 4 Fehler die auftreten können

PHP-Code:
function(error){ 
        var 
msg "Fehler: "
        switch (
error.code){ 
            case 
error.PERMISSION_DENIED
                
//msg = "User denied the request for Geolocation." 
                
msg += 'CODE = ' error.PERMISSION_DENIED 1
                
msg += '<br />Benutzer hat die Anfrage zur Standorterkennung verweigert.'
                                
fehlercode=1
                break; 
            case 
error.POSITION_UNAVAILABLE
                
//msg = "Location information is unavailable."; 
                
msg += 'CODE = ' error.POSITION_UNAVAILABLE 2
                
msg += '<br/>\nStandorterkennung nicht verfügbar.'
                                
fehlercode=2
                break; 
            case 
error.TIMEOUT
                
//msg = "The request to get user location timed out."; 
                
msg += 'CODE = ' error.TIMEOUT 3
                
msg += '<br/>\nStandorterkennung Timeout.'
                                
fehlercode=3
                break; 
            case 
error.UNKNOWN_ERROR
                
//msg = "An unknown error occurred."; 
                
msg += 'CODE = ' error.UNKNOWN_ERROR 4
                
msg += '<br/>\nUnbekannter Fehler ist aufgetreten.'
                                
fehlercode=4
                break; 
        } 
    } 
Gruß Andy
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
2 dimensinales Array als Tabelle ausgeben highway82 PHP Grundlagen 6 03.05.2013 21:08:37
Formularabfrage (Fehlermeldung ausgeben) hdswi PHP Grundlagen 3 28.08.2008 12:26:36
Nested Set nur Level weise ausgeben jasonpetra PHP für Fortgeschrittene und Experten 9 27.12.2007 13:12:55
datenbanknamen als liste ausgeben howie MySQLi/PDO/(MySQL) 1 19.06.2006 15:11:55
Fehlermeldung ausgeben, wenn keine Datensätze gefunden werden ... finkenmann PHP Grundlagen 3 14.08.2003 17:43:47


Alle Zeitangaben in WEZ +2. Es ist jetzt 15:27:10 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt