AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Misteriöse PHP Malfunction

Ein Thema von Meflin · begonnen am 18. Dez 2004 · letzter Beitrag vom 19. Mär 2005
Antwort Antwort
Seite 1 von 3  1 23      
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#1

Misteriöse PHP Malfunction

  Alt 18. Dez 2004, 13:28
Hi,

ich habe mir ein kleines php script gebastelt (ein namegenerator). wenn ich den lokal bei mir teste, funzt alles einwandfrei. wenn ich das script jedoch auf meinen server hochlade, bricht die ausgabe des scriptes einfach ab. keine fehlermeldung, kein garnichts, nur die generierten namenw erden nicht mehr ausgegeben!
woran könnte das liegen? ich vermutete schon dass die rechenzeit überschritten wird, aber das wiederum würde eine fehlermeldung erzeugen! ich habe aber keine...

*MFG*
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#2

Re: Misteriöse PHP Malfunction

  Alt 18. Dez 2004, 13:35
Zeig mal das Skript. Vielleicht sind auf deinem Server nicht alle PHP Module freigeschaltet... Kannst du aber überprüfen mit phpinfo().
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#3

Re: Misteriöse PHP Malfunction

  Alt 18. Dez 2004, 13:38
edit: ein modul ist eher nicht verantwortlich, da hab ich lokal weniger als auf dem richtigen server!
ok: hier mit html
Code:
<?php $action = $_GET["action"];
$quant = $_GET["quant"];
$factor = $_GET["factor"];
$who = $_GET["who"];
if($action == "generate") {
$dateiname = "counter.txt";
$datei = fopen($dateiname,"r");
$zahl = fgets($datei,100);
fclose($datei);
$zahl = $zahl + $quant;
$datei = fopen($dateiname,"w");
fwrite($datei, $zahl);
fclose($datei);
}

function ConvertToName($string) {
 for($i = 1; $i < strlen($string); $i++) {
   $string[$i] = strtolower($string[$i]);
 }
 return $string;
}

function FuzzyLogic($seed) {
  if(($seed <=99) AND ($seed >= 50)) { return $seed - rand(1,10); }
  if(($seed >= 0) AND ($seed <= 49)) { return $seed + rand(1,10); }
  if(($seed >=100))                 { return $seed + rand(-20,20); }
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Random Name Generator</title>
<style type="text/css">
<!--
.style1 {
   color: #FFFFFF;
   font-weight: bold;
}
body,td,th {
   font-family: Verdana, Arial, Helvetica, sans-serif;
   font-size: 10px;
}
.style2 {color: #CCCCCC}
a:link {
   color: #666666;
   text-decoration: none;
}
a:visited {
   text-decoration: none;
   color: #999999;
}
a:hover {
   text-decoration: underline;
   color: #000000;
}
a:active {
   text-decoration: none;
}
.style3 {font-size: 12px}
-->
</style>
</head>

<body>
<table width="500" border="0" cellspacing="0" cellpadding="5">
  <tr>
    <td bgcolor="#000000" class="style1">[img]stern.gif[/img] Random Name Generator </td>
  </tr>
  <tr>
    <td style="border: solid black 1px">Use this generator to create random names for your games, books, fake ids, movies and whatever you need it for!
      <form name="form1" method="GET" action="index.php">
        Create
        <input name="who" type="radio" value="male">
Male
<input name="who" type="radio" value="female">
Female
<input name="who" type="radio" value="both" checked>
Both names
 How Many? <select name="quant" id="quant">
   <option value="1">1</option>
   <option value="2">2</option>
   <option value="3">3</option>
   <option value="4">4</option>
   <option value="5" selected>5</option>
   <option value="10">10</option>
   <option value="20">20</option>
   <option value="30">30</option>
   <option value="50">50</option>
   <option value="100">100</option>
 </select>
 
 


 Obscurity factor:
 <input name="factor" type="text" id="factor" value="20" size="6" maxlength="2">
(1: Common, 99: totally obscure)





<input name="action" type="hidden" id="action" value="generate">
<input type="submit" name="Submit" value="Generate random Name(s)">
      </form> </td>
  </tr>
</table>






<? if($action == "generate") { ?><table width="500" border="0" cellspacing="0" cellpadding="5">
  <tr>
    <td bgcolor="#000000" class="style1">[img]stern.gif[/img] Results</td>
  </tr>
  <tr>
    <td align="left" style="border: solid black 1px"><span class="style3"><? 
   $nachnamen = file("lastnames.txt");
   $vornamen = file("malefirstnames.txt");
   $vornamen_w = file("femalefirstnames.txt");
   
    for ($i = 0; $i < count($nachnamen); $i++) {
     $nachnamen[$i] = trim($nachnamen[$i]);    
   }
   for ($i = 0; $i < count($vornamen); $i++) {
     $vornamen[$i] = trim($vornamen[$i]);    
   }
   
   for ($i = 0; $i < $quant; $i++) {
     if($who == "male") { 
       $list = $vornamen;
        $rand_vorname = rand(0,12);
     }
     if($who == "female") { 
       $list = $vornamen_w;
       $rand_vorname = rand(0,43);
     }
     if($who == "both") { 
       $rand = rand(1,2);
      if($rand == 1) { $list = $vornamen;
        $rand_vorname = rand(0,12); } 
      if($rand == 2) { $list = $vornamen_w;
        $rand_vorname = rand(0,43); }
     };
   
     $rand_nachname = rand(0,897);
     $rand_nachname = $rand_nachname * FuzzyLogic($factor);
     $str_nachname = $nachnamen[$rand_nachname];
     $str_nachname = explode("\t", $str_nachname);
     $str_nachname = ($str_nachname[0]);
     $str_nachname = ConvertToName($str_nachname);
    
     $rand_vorname = $rand_vorname * FuzzyLogic($factor);
     $str_vorname = $list[$rand_vorname];
     $str_vorname = explode("\t", $str_vorname);
     $str_vorname = ($str_vorname[0]);
     $str_vorname = ConvertToName($str_vorname);
    
     $name = $str_vorname." ".$str_nachname;
     echo $name."
\n";
    
   } 
   ?></span></td>
  </tr>
</table>




<? } ?>
<span class="style2">
This service is still in [b]BETA[/b] phase! Report bugs to [email="bugs@namegenerator.acira.net"]bugs@namegenerator.acira.net[/email]


This service is powered by [url="http://www.acira.net"][b]acira.net[/b][/url] which is a member of the [url="http://www.sqs-entertainment.de"][b]SQS Group[/b][/url].</span>



<span class="style2">Random names served:
<? $dateiname = "counter.txt";
$datei = fopen($dateiname,"r");
$zeile = fgets($datei,100);
echo "[b]".number_format($zeile)."[/b]";
fclose($datei); ?>
</span>
</body>
</html>
und hier ohne:
Code:
<?php $action = $_GET["action"];
$quant = $_GET["quant"];
$factor = $_GET["factor"];
$who = $_GET["who"];
if($action == "generate") {
$dateiname = "counter.txt";
$datei = fopen($dateiname,"r");
$zahl = fgets($datei,100);
fclose($datei);
$zahl = $zahl + $quant;
$datei = fopen($dateiname,"w");
fwrite($datei, $zahl);
fclose($datei);
}

function ConvertToName($string) {
 for($i = 1; $i < strlen($string); $i++) {
   $string[$i] = strtolower($string[$i]);
 }
 return $string;
}

function FuzzyLogic($seed) {
  if(($seed <=99) AND ($seed >= 50)) { return $seed - rand(1,10); }
  if(($seed >= 0) AND ($seed <= 49)) { return $seed + rand(1,10); }
  if(($seed >=100))                 { return $seed + rand(-20,20); }
}
?>
...
<? 
   $nachnamen = file("lastnames.txt");
   $vornamen = file("malefirstnames.txt");
   $vornamen_w = file("femalefirstnames.txt");
   
    for ($i = 0; $i < count($nachnamen); $i++) {
     $nachnamen[$i] = trim($nachnamen[$i]);    
   }
   for ($i = 0; $i < count($vornamen); $i++) {
     $vornamen[$i] = trim($vornamen[$i]);    
   }
   
   for ($i = 0; $i < $quant; $i++) {
     if($who == "male") { 
       $list = $vornamen;
        $rand_vorname = rand(0,12);
     }
     if($who == "female") { 
       $list = $vornamen_w;
       $rand_vorname = rand(0,43);
     }
     if($who == "both") { 
       $rand = rand(1,2);
      if($rand == 1) { $list = $vornamen;
        $rand_vorname = rand(0,12); } 
      if($rand == 2) { $list = $vornamen_w;
        $rand_vorname = rand(0,43); }
     };
   
     $rand_nachname = rand(0,897);
     $rand_nachname = $rand_nachname * FuzzyLogic($factor);
     $str_nachname = $nachnamen[$rand_nachname];
     $str_nachname = explode("\t", $str_nachname);
     $str_nachname = ($str_nachname[0]);
     $str_nachname = ConvertToName($str_nachname);
    
     $rand_vorname = $rand_vorname * FuzzyLogic($factor);
     $str_vorname = $list[$rand_vorname];
     $str_vorname = explode("\t", $str_vorname);
     $str_vorname = ($str_vorname[0]);
     $str_vorname = ConvertToName($str_vorname);
    
     $name = $str_vorname." ".$str_nachname;
     echo $name."
\n";
    
   } 
   ?>


<? $dateiname = "counter.txt";
$datei = fopen($dateiname,"r");
$zeile = fgets($datei,100);
echo "[b]".number_format($zeile)."[/b]";
fclose($datei); ?>
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#4

Re: Misteriöse PHP Malfunction

  Alt 18. Dez 2004, 13:51
Liegt es vielleicht an der rand-Funktion. Da gabs Änderungen ab der PHP Version 3.0.7. Hier findest du mehr hierzu.
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#5

Re: Misteriöse PHP Malfunction

  Alt 18. Dez 2004, 13:53
daran kanns auch nicht liegen. ich hab 4.3.3, der webserver nutzt 4.2.3
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#6

Re: Misteriöse PHP Malfunction

  Alt 18. Dez 2004, 14:01
Dann weiss ich auch nicht mehr weiter. Höchstens noch Groß-Klein Schreibung bei den Dateinamen (unterschiedliches Verhalten bei Windows und Linux)... Sind alle txt-Dateien auf dem Server vorhanden?

Sorry, mehr fällt mir dazu nicht mehr ein. Bin nicht der PHP-Guru und hab nur rudimentäre Kenntnisse´.
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#7

Re: Misteriöse PHP Malfunction

  Alt 18. Dez 2004, 14:05
ich bin auch ziemlich ratlos die datein sind hochgeladen, dateinamen sind alle kleingeschrieben. aber auch hier müsste ein datei - nicht - gefunden - fehler kommen... es ist zum en...
  Mit Zitat antworten Zitat
Benutzerbild von Mamphil
Mamphil

Registriert seit: 17. Jul 2004
Ort: Garching b. München
149 Beiträge
 
Delphi 7 Professional
 
#8

Re: Misteriöse PHP Malfunction

  Alt 18. Dez 2004, 18:27
Hi!

Schreib mal ein error_reporting(E_ALL); als erste PHP-Zeile. Dann werden dir alle Fehlermeldungen und Warnungen ausgegeben.

Vielleicht ist der Webserver so eingestellt, dass gar keine Fehler ausgegeben werden. Dann bleibt die Seite bei einem Fehler weiß.

Mamphil
The laws of physics are the canvas God laid down on which to paint his masterpiece. “Leonardo Vetra” in Dan Brown’s “Angels & Demons”
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#9

Re: Misteriöse PHP Malfunction

  Alt 12. Jan 2005, 14:44
Zitat von Mamphil:
Hi!

Schreib mal ein error_reporting(E_ALL); als erste PHP-Zeile. Dann werden dir alle Fehlermeldungen und Warnungen ausgegeben.

Vielleicht ist der Webserver so eingestellt, dass gar keine Fehler ausgegeben werden. Dann bleibt die Seite bei einem Fehler weiß.

Mamphil
hab das jetzt versucht, auch hier gibts keine fehler nach der generation, aber immernoch keine ausgabe der ergebnisse
  Mit Zitat antworten Zitat
Benutzerbild von SubData
SubData

Registriert seit: 14. Sep 2004
Ort: Stuhr
1.078 Beiträge
 
Delphi 11 Alexandria
 
#10

Re: Misteriöse PHP Malfunction

  Alt 12. Jan 2005, 15:46
Wenn es ein Unix Server ist, würd ich mal CHMOD für alle Dateien auf 777 setzen und nochmal testen...
Ronny
/(bb|[^b]{2})/
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:32 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz