HOERANDL.com Impressum Unterstützung Projekte Kontakt


Baue auf deiner Homepage einen oder mehrere Zufallswitze von Funny4You ein. Die Installation ist kinderleicht und die notwendige Registrierung ist vollkommen unverbindlich und kostenlos. Als optionales Feature ist eine Hitliste auf der Homepage die deine Seite verlinkt.
weiter zur Witzebox ...
 
header
header
header
hessebou
Mitglied
Junior Boarder
Beiträge: 5
graphgraph
 
sporadischer fehler - 05/07/2007 20:35 Hallo,

bei meiner letzten Schwierigkeit habe ich hier schon sehr gute
Hilfe bekommen, nun habe ich noch ein Problem.
Ich ermögliche über eine 5-stellige numerische eingabe
(Postleitzahl) die berechnung der entfernung zu mir.

im firefox funktioniert es wie gewollt, auch in opera.
leider funktioniert es im IE7 nur manchmal,
ein anderes mal auch einfach nicht. ich weiss echt nich,
wo hier der fehler sein könnte. im anhang die komplette
datei, keine zusatzdateien nötig, so das ihr das testen könnt...

Code:

  <?php if (isset ($_POST['submit'])){ $ausgabe=''; $fehler=''; if (isset ($_POST['PLZ']) && !is_array($_POST['PLZ']) && $_POST['PLZ'] != ''){     if (preg_match ("/^([0-9]+)$/"$_POST['PLZ'])){         if (strlen($_POST['PLZ']) == 5){             $ausgabe .= htmlspecialchars($_POST['PLZ']) . " ";         }else{         $fehler .= 'Eingabe zu kurz!' "<br />";         }     }else{          $fehler .= 'Unzulässige Eingabe!' "<br />";      } }else{      $fehler .= 'Keine PLZ eingegeben!' "<br />"; } if ($fehler==''){     $route file_get_contents("http://maps.google.de/maps?f=d&ie=UTF8&hl=de&saddr=".$_POST['PLZ']."&daddr=zum+sonnenblick+2+63667");   $find 'class=\"noprint\"\u003e\u003cdiv\u003e';   $pos strpos($route$find);      if ($pos == ""){        echo "<div class='fehler'>";        echo "<b></b><br />";        echo "<b>Berechnungsfehler!</b><br />";        echo "<b></b><br />";        echo "</div>";      }else{        $pos strpos($route$find) + 38;        $km substr($route$pos3);        $nah substr($km, -1);        if ($nah == ","){          $km str_replace(","""$km);        }      echo "<div class='ausgabe'>";      echo "<b></b><br />";      echo "<b>Entfernung von ".$_POST['PLZ']." nach 63667 Nidda:    " $km " Kilometer </b><br />";      echo "<b></b><br />";      echo "</div>";      } }else{   echo "<div class='fehler'>";   echo "<b>Fehler!</b><br />";   echo "$fehler";   echo "</div>"; } }                ?> <style type="text/css"> <!-- body {font-family: verdana,arial; font-size:10px; color:black;} h1 {font-size:14px;} /* input {width:90px; border:1px solid black; font-size:10px; font- family:verdana,arial} */ textarea {width:270px; height:80px; border:1px solid black; font-size: 10px; font-family:verdana,arial} .fehler {position:absolute; BACKGROUND-COLOR: white; left: 230px; top:  175px; padding:10px; border: 2px solid red; padding:5px; color:red;  z-index:500}  .ausgabe {position:absolute; BACKGROUND-COLOR: white; left: 230px;  top: 175px; padding:10px; border: 2px solid green; padding:5px; color: green} --> </style> <table width="100%" height="100%"  border="0" cellpadding="0"  cellspacing="0">   <tr>     <td width="100%" valign="top" bgcolor="#FFD24F"><table height=" 100%" border=0 cellpadding=0 cellspacing=0>       <tr>         <td width="20%" height="36" style="padding-left:10px; ">< center>             <form action="<?php echo htmlspecialchars($_SERVER[' PHP_SELF']); ?>" method="POST"> Ihre Postleitzahl: <input type="text" name="PLZ" value="" size="5" maxlength="5"/> <input  type="submit" name="submit" value="Entfernung zu H2-X  berechnen"> </form>             </td>       </tr>              <tr>         <td align="center"><table width="585" height="100%"  border=" 0" cellpadding="0" cellspacing="0">           <tr>             <td width="9" align="center"></td>             <td valign="top" bgcolor="#FFD24F" style="padding-left: 0px; ">                 <img src="karte.jpg" width=506 height=662 alt="">                 </td>           </tr>         </table> </td>       </tr>            </table></table>

  | | Kein öffentlicher Schreibzugriff erlaubt, bitte erst registrieren!
Cougar
Admin
Admin
Beiträge: 622
graph
 
Re:sporadischer fehler - 05/07/2007 20:57 Hi,

versuche das mal:
<?php
if (isset ($_POST['submit'])){

$ausgabe='';
$fehler='';

if (isset ($_POST['PLZ']) && !is_array($_POST['PLZ']) && $_POST['PLZ'] != ''){
if (preg_match ("/^([0-9]+)$/", $_POST['PLZ'])){
if (strlen($_POST['PLZ']) == 5){
$ausgabe .= htmlspecialchars($_POST['PLZ']) . " ";
}else{
$fehler .= 'Eingabe zu kurz!' . "<br />";
}
}else{
$fehler .= 'Unzulässige Eingabe!' . "<br />";
}
}else{
$fehler .= 'Keine PLZ eingegeben!' . "<br />";
}

if ($fehler==''){
$route = file_get_contents("http://maps.google.de/maps?f=d&ie=UTF8&hl=de&saddr=". $_POST['PLZ']."&daddr=zum+sonnenblick+2+63667");
$find = 'class="noprint"u003eu003cdivu003e';
$pos = strpos($route, $find);
if ($pos == ""){
echo "<div class='fehler'>";
echo "<b></b><br />";
echo "<b>Berechnungsfehler!</b><br />";
echo "<b></b><br />";
echo "</div>";
}else{
$pos = strpos($route, $find) + 38;
$km = substr($route, $pos, 3);
$nah = substr($km, -1);
if ($nah == ","){
$km = str_replace(",", "", $km);
}
echo "<div class='ausgabe'>";
echo "<b></b><br />";
echo "<b>Entfernung von ".$_POST['PLZ']." nach 63667 Nidda: " . $km . " Kilometer </b><br />";
echo "<b></b><br />";
echo "</div>";
}
}else{
echo "<div class='fehler'>";
echo "<b>Fehler!</b><br />";
echo "$fehler";
echo "</div>";
}
}
?>
<style type="text/css">
<!--
body {font-family: verdana,arial; font-size:10px; color:black;}
h1 {font-size:14px;}
/* input {width:90px; border:1px solid black; font-size:10px; font-
family:verdana,arial} */
textarea {width:270px; height:80px; border:1px solid black; font-size:
10px; font-family:verdana,arial}
.fehler {position:absolute; BACKGROUND-COLOR: white; left: 230px; top:
175px; padding:10px; border: 2px solid red; padding:5px; color:red;
z-index:500}
.ausgabe {position:absolute; BACKGROUND-COLOR: white; left: 230px;
top: 175px; padding:10px; border: 2px solid green; padding:5px; color:
green}
-->
</style>
<table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="100%" valign="top" bgcolor="#FFD24F">
<table height="100%" border=0 cellpadding=0 cellspacing=0>
<tr>
<td width="20%" height="36" style="padding-left:10px; ">

<form action="<?php echo htmlspecialchars($_SERVER['
PHP_SELF']); ?>"
method="POST">
Ihre Postleitzahl:
<input type="text" name="PLZ" value="" size="5" maxlength="5"/>
<input type="submit" name="submit" value="Entfernung zu H2-X
berechnen">
</form>
</td>
</tr>
<tr>
<td align="center">
<table width="585" height="100%" border=" 0" cellpadding="0" cellspacing="0">
<tr>
<td width="9" align="center"></td>
<td valign="top" bgcolor="#FFD24F" style="padding-left: 0px; ">
<img src="karte.jpg" width=506 height=662 alt="">
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>


ich hab jetzt nichts getestet, nur einige Syntax-Fehler beseitigt.

mfg,
Cougar

  | | Kein öffentlicher Schreibzugriff erlaubt, bitte erst registrieren!
hessebou
Mitglied
Junior Boarder
Beiträge: 5
graphgraph
 
Re:sporadischer fehler - 05/07/2007 23:03 Hallo,

habe Deinen Code gerade mal getestet und da kam dann nie das
richtige ergebnis, weil du den string, der gesucht werden sollte,
auch verändert hast. das klappt jetzt wieder und irgendwie meine
ich durch zufall herausbekommen zu haben, worin der sporadische fehler
liegt: Der Internet-Explorer macht einen unterschied,
ob man die ENTER taste drückt, nachdem man die nummer
reingeschrieben hat, oder wirklich mit der maus den button drückt.

bei FF und Opera scheint dieser unterschied nicht zu bestehen.

mit diesem test (also alle möglichen eingaben jedesmal mit
der maus auf den button bestätigen) geht es nämlich...

kann das der fehler gewesen sein? kann man diesen unterschied
ENTERTASTE und BUTTON drücken irgendwie aufheben?
oder sollte ich einfach einen hinweis schreiben?
  | | Kein öffentlicher Schreibzugriff erlaubt, bitte erst registrieren!
hessebou
Mitglied
Junior Boarder
Beiträge: 5
graphgraph
 
Re:sporadischer fehler - 05/07/2007 23:28 habe nun ne möglichkeit gefunden:

Code:

  <input type="hidden" name="submit" value="0">



ob es allerdings noch andere lösungen gibt,
weil dies evtl. nicht die feine englische art ist?
oder kann man diesen zusatz so lassen?
  | | Kein öffentlicher Schreibzugriff erlaubt, bitte erst registrieren!
Cougar
Admin
Admin
Beiträge: 622
graph
 
Re:sporadischer fehler - 06/07/2007 18:54 Hallo,

ups, entschuldige das ich den string für die Suchabfrage auch geändert habe. War so nicht meine Absicht.

Das ist ja echt komisch das da ein Unterschied zwischen der Enter-Taste und dem Submit Button ist. Hatte bisher noch nie einen Unterschied bemerkt.

Zu deiner Lösung mit dem hidden Feld: Ich kann keinen negativen Effekt dabei sehen. Wenn es funktioniert.

Mir fällt im Moment auch nichts ein, wie du das anderes machen kannst. Denn wie ich schon sagte hatte ich das Problem auch noch nie.

mfg,
Cougar

  | | Kein öffentlicher Schreibzugriff erlaubt, bitte erst registrieren!
spacer
header


spacer
Preisliste
Preisliste

B4YCounter 4.x.x

Lizenz der kommerziellen Nutzung
auf einer Domain: 12,00 €

Lizenz für eine Copyright-freie Version: 12,00 €

B4YFormmailer 2.x.x

Lizenz für eine Copyright-freie Version: 10,00 €

B4YVotum 1.x.x

Lizenz für eine Copyright-freie Version: 5,00 €


Da ich noch keinen Online-Shop habe kannst du über mein Kontaktformular die Lizenz bestellen!
Forum - letzte Themen
PayPal Spende
Findest du die hier angebotenen Scripte und dessen Support toll?
Dann kannst du mir per PayPal eine kleine Spende zukommen lassen.
Ich würde mich freuen.


Vielen Dank!