php mit G.oLive6.0 in ASCII übertragen. php mit G.oLive6.0 in ASCII übertragen.

Diskutiere mit über: php mit G.oLive6.0 in ASCII übertragen. php mit G.oLive6.0 in ASCII übertragen. im Web-Programmierung Forum

  1. mactrisha

    mactrisha Thread Starter MacUser Mitglied

    Beiträge:
    674
    Medien:
    2
    Zustimmungen:
    4
    Registriert seit:
    27.11.2003
    Hi all,

    php Dateien muss man ja (glaube ich, ich bin noch am Anfang) im ASCII-Mode übertragen, wie macht man das in G.oLive6.0 und welche Schriftcodierung sollte man in G.oLive6.0 einstellen, damit die php Dateien richtig sind? Kann die Schriftcodierung der Grund für einen Parse Errror on Line .... sein? Parse Error ist doch ein Syntaxfehler, oder was kann das noch sein?

    So long ...
    mactrisha.
     
  2. Delmar

    Delmar MacUser Mitglied

    Beiträge:
    803
    Zustimmungen:
    1
    Registriert seit:
    28.09.2002
    Hallo mactrisha,

    also mir wäre es neu, wenn man PHP Dateien im ASCII Format speichern
    müsste ... sollte also eher ein Syntaxfehler in Deinem Skript sein. Lass das
    doch mal sehen!


    Gruß
    Delmar
     
  3. mactrisha

    mactrisha Thread Starter MacUser Mitglied

    Beiträge:
    674
    Medien:
    2
    Zustimmungen:
    4
    Registriert seit:
    27.11.2003
    Hier meine Beispiele.

    Hi Delmar,

    Danke für deine Antwort. Das sind alles Beispiele aus meinem PHP-Lehrbuch, die ich, um die Syntax zu lernen abgetippt und aufs Komma Korrekturgelesen habe. Dann dachte ich, wird schon mein Tippfehler sein, habe dann aber über kopieren und einfügen (aus einer Lerndatei) einen PHP-Code "geschrieben" und die gehen auch nicht, obwohl da ja keiner meiner selbst verursachten Tippfehler drin sein kann.

    Also dieses Script geht: Sagt den Browser und die IP-Adresse:

    <html><head><title>PHP-Beispiel</title><head>
    <body bgcolor="#ffffff">
    <table width="254" border="1" cellspacing="2" cellpadding="0">
    <tr>
    <td>sie verwenden</td>
    <td><?php echo $_SERVER['HTTP_USER_AGENT'] ?></td>
    </tr>
    <tr>
    <td>und ihre IP-Adresse ist</td>
    <td><?php echo $_SERVER['REMOTE_ADDR'] ?></td>
    </tr>
    <tr>
    <td></td>
    <td></td>
    </tr>
    </table>
    <p></p>
    </body></html>

    Dieses geht nicht: Da soll laut Handbuch "ein html-Formulat erzeugen, das den Anwender auffordert, einen Namen und mehrere Interessengebiete einzugeben, normalerweise, so preist das Handbuch braucht man zwei Dateien dafür, aber das könne in einer erledigt werden und zwar in dieser:

    <html><head><title>Formularbeispiel</title></head>
    <body>
    <h1>Formularbeispiel</h1>
    <?
    function show_form($first="", $last="",
    $interest="") {
    $options = array("Sport", "Beruf", "Reisen", "Shopping", "Computer");
    if(!is_array($interest)) $interest = array();
    ?>
    <form action="form.php" method="POST">
    Vorname:
    <input type="text" name="first"
    value="<?echo $first?>">
    <br />
    Nachname:
    <input type="text" name="last"
    value="<?echo $last?>">
    <br />
    Interessengebiete:
    <select multiple name="interest[]">
    <?php
    foreach($options as $option) {
    echo "<option";
    if(in_array($option, $interest)) {
    echo " selected";
    }
    echo "> $option</option>\n";
    }
    ?>
    </select><br />
    <input type=submit>
    </form>
    <?php } // end of show_form() function

    if($_SERVER['REQUEST_METHOD']!='POST') {
    show_form();
    } else {
    if(empty($_POST['first']) ||
    empty($_POST['last']) ||
    empty($_POST['interest'])) {
    echo "<p>Sie haben nichts eingegeben,";
    echo "bitte versuchen Sie es erneut.</p>\n";
    show_form($_POST['first'],$_POST['last'],
    $_POST['interest']);
    }
    else {
    echo "<p>Vielen Dank, $_POST[first] $_POST[last], Sie ";
    echo "haben".
    join(" und ", $_POST['interest']):
    echo " als Ihre Interessengebiete ausgewehlt.</p>\n";
    }
    }
    ?>
    </body></html>

    Das funktioniert auch nicht: Das ist ein Votescript:

    <?
    if($vote && !$already_voted)
    SetCookie('already_voted',1);
    ?>
    <html><head><title>Name des Babies<\title>
    <\head><h3>Name des Babies</h3>
    <form action="baby.php" method="POST">
    <p>Vorschlag:
    <input type="text" name="new_name"></p>
    <input type="submit" value="Vorschlag und/oder Stimme abschicken">
    <?
    mysql_pconnect("localhost");
    $db = "test";
    $table = "baby_names";

    if($new_name) {
    if(!mysql_db_query($db, "insert into $table values ('$new_name',0)")) {
    echo mysql_errno().': '. mysql_error()."<br />\n";
    }
    }
    if($vote && $already_voted) {
    echo '<p><b>Du hast schon abgestimmt.';
    echo "Stimme ignoriert.</b />\n";
    }
    else if($vote) {
    if(!mysql_db_query($db, "update $table set votes=votes+1 where name='$vote'")) {
    echo mysql_errno().':'. mysql_error()."<br />\n";
    }
    }
    $result=mysql_db_query($db, select sum(votes) as sum from $table");
    if($result) {
    $sum = (int) mysql_result($result,0,"sum");
    mysql_free_result($result);
    }
    $result=mysql_db_query($db, "select * from $table order by votes DESC");
    echo <<<EOD
    <table border="0"><tr><th>Vote</th>
    <th>Idea</th><th colspan="2">Votes</th>
    </tr>
    EOD;
    while($row=mysql_fetch_row($result)) {
    echo <<<FOO
    <tr><td align="center">
    <input type="radio" name="vote" value="$row[0]"></td>
    <td>$row[0]</td>
    <td align="right">$row[1]</td>
    <td>
    FOO;
    if($sum && (int)$row[1]) {
    $per = (int)(100 * $row[1]/$sum);
    echo '<img scr="bline.gif" height=12 ';
    echo "width=$per> $per %</td>;
    }
    echo "</tr>\n";
    }
    echo "</table>\n";
    mysql_free_result($result);
    ?>
    <input type="submit" value="Vorschlag" und/oder Stimme abschicken" />
    <input type="reset" />
    </form>
    </body></html>

    Ich bin ratlos, mein PHP-Server läuft, die Datenbanken und mySQL auch, sogar phpmyadmin funzt problemlos, und ich habe die Scripte alle fünfmal Zeichen für Zeichen gelesen. Übrigens funzen die auch nicht auf einem "echten Server" zum Beispiel auf dem meines Webspaces.

    Hast du da eine Idee? Ich habe den PHP-Code teilweise aus G.oLive-Textdateien abgespeichert, habe aber auch parallel immer in TextEdit gearbeitet, muss man da bestimmte Textcodierungen einstellen?

    So long und Danke für dein freundliches Interesse ...
    mactrisha.
     
  4. Delmar

    Delmar MacUser Mitglied

    Beiträge:
    803
    Zustimmungen:
    1
    Registriert seit:
    28.09.2002
    Hi Du,

    also in dem zweiten Skript ist nur ein Fehler in der Zeile:

    PHP:
    join(" und "$_POST['interest']):
    Muss nämlich mit einem Semikolon beendet werden und nicht mit einem
    Doppelpunkt!

    Im zweiten sind etliche Fehler drin. Fehlende Anführungszeichen, Semikolons
    (schreibt man das so?), ... ! Scheint nicht besonders gut auf Fehler inspiziert
    worden zu sein. An Deinen Einstellungen ist also alles in Ordnung! Keine
    Sorge.

    Versuch doch aber mal die Fehlermeldungen nachzuvollziehen, ist meiner
    Meinung nach auch 'ne sehr gute Übung zum Anfang!

    Und wenn noch Fragen sind ... ;)


    Gruß
    Delmar
     
  5. mactrisha

    mactrisha Thread Starter MacUser Mitglied

    Beiträge:
    674
    Medien:
    2
    Zustimmungen:
    4
    Registriert seit:
    27.11.2003
    Es funzt!

    Hi Delmar,

    Danke für deine großartige Hilfe und die beruhigenden Worte, es lag an dem Doppelpunkt und ich bin beruhigt, dass mein Serverzeug funktioniert. Ich arbeite jetzt sehr hart daran, das eintippen des Codes richtig zu machen und gewissenhaft zu kontrollieren. Ich habe mir den TumultHyperEdit geladen, der ja eine Echtzeitvorschau eines PHP-Codes machen kann, aber der funktioniert leider mit meiner PHP von Entropy nicht, weil in der Beschreibung steht, man braucht eine Commandline Version von PHP. Ich dachte, dieser Editor könnte mir beim Lernen der Syntax behilflich sein. Gibt es da vielleicht noch einen Editor, der eine Vorschau leisten kann und eine automatische Vervollständigung macht? Den TumultHyperEdit habe ich Versiontracker gefunden.

    Many thanks so long ...
    mactrisha.
     
  6. Delmar

    Delmar MacUser Mitglied

    Beiträge:
    803
    Zustimmungen:
    1
    Registriert seit:
    28.09.2002
    Hallo Du,

    ich muss gestehen, dass ich TumultHyperEdit selber gar nicht kenne. Soweit
    ist mir aber auch kein weiterer Editor bekannt, der diese Funktionen bietet.

    Ich arbeite mit SubEthaEdit. Falls Du den nicht kennst, dieser bietet "nur"
    reine Editier-Funktionen. Aber noch die Möglichkeit, per Rendevous seine
    Dateien mit anderen über ein Netzwerk oder das Internet gleichzeitig zu
    bearbeiten. Und ... er ist kostenlos!

    Ein weiterer, sehr bekannter Editor ist BBedit. Die Funktionalität dieses
    Editors ist mir aber leider nicht bekannt. Kostet auch einiges - glaube ich.

    Das wären jetzt so die beiden ersten, bzw. die bekanntesten, die mir einfallen
    würden. Es gibt zwar noch jede Menge Free- und Shareware in dieser Sparte,
    von denen hat sich aber meines Wissens nach, noch keiner so richtig durch-
    gesetzt.


    Gruß
    Delmar
     
  7. Delmar

    Delmar MacUser Mitglied

    Beiträge:
    803
    Zustimmungen:
    1
    Registriert seit:
    28.09.2002
    Ich bin's noch mal.

    Ich habe mir gerade mal TumultHyperEdit angeschaut. Eine ähnlich Funktion
    der "Live"-Vorschau, bietet auch SubEthaEdit. Dieses ist jedoch auch reines
    HTML beschränkt!


    Gruß
    Delmar
     
  8. mactrisha

    mactrisha Thread Starter MacUser Mitglied

    Beiträge:
    674
    Medien:
    2
    Zustimmungen:
    4
    Registriert seit:
    27.11.2003
    Erfolgsmeldung:

    Hi Delmar,

    jeeaaah! Ich habe auf meinem Serve die Fehlermeldungen eingestellt und sehe diese jetzt genau wie auf dem Server meines Providers. Dann habe ich die Schreibfehler im Script behoben, das Leerbuch hatte tatsächlich Fehler und zwar haben die ein Bodyendtag geschrieben aber kein Bodyanfangtag, dann noch ganz unten falsch <input type="reset" /> statt richtig <input type="reset">, das habe ich selbst herausgefunden. Jetzt funktioniert dieses Script wie unten. Dann war noch das: - register_globals = war Off, und im Script war genau dieses $foo ja drin, also habe ich das auf "On" gestellt in der php.ini stand diese Info:

    ; - register_globals = Off [Security, Performance]
    ; Global variables are no longer registered for input data (POST, GET, cookies,
    ; environment and other server variables). Instead of using $foo, you must use
    ; you can use $_REQUEST["foo"] (includes any variable that arrives through the
    ; request, namely, POST, GET and cookie variables), or use one of the specific
    ; $_GET["foo"], $_POST["foo"], $_COOKIE["foo"] or $_FILES["foo"], depending
    ; on where the input originates. Also, you can look at the
    ; import_request_variables() function.

    <?
    if($vote && !$already_voted)
    SetCookie('already_voted',1);
    ?>
    <html><head><title>Name des Babies</title>
    </head><body><h3>Name des Babies</h3>
    <form action="babynew.php" method="POST">
    <p>Vorschlag:
    <input type="text" name="new_name"></p>
    <input type="submit"
    value="Vorschlag und/oder Stimme abschicken">
    <?
    mysql_pconnect("localhost", "username", "password");
    $db = "datenbankname";
    $table = "baby_names";

    if($new_name) {
    if(!mysql_db_query($db, "insert into $table
    values ('$new_name',0)")) {
    echo mysql_errno().':'.
    mysql_error()."<br />\n";
    }
    }
    if($vote && $already_voted) {
    echo '<p><b>Erwischt, aber es geht kein zweitesmal! ';
    echo "Ich ignoriere die Stimme.</b></p>\n";
    }
    else if($vote) {
    if(!mysql_db_query($db,
    "update $table set votes=votes+1
    where name='$vote'")) {
    echo mysql_errno().':'.
    mysql_error()."<br />\n";
    }
    }
    $result=mysql_db_query($db,
    "select sum(votes) as sum from $table");
    if($result) {
    $sum = (int) mysql_result($result,0,"sum");
    mysql_free_result($result);
    }
    $result=mysql_db_query($db,
    "select * from $table order by votes DESC");
    echo <<<EOD
    <table border="0"><tr><th>Vote</th>
    <th>Idea</th><th colspan="2">Votes</th>
    </tr>
    EOD;
    while($row=mysql_fetch_row($result)) {
    echo <<<FOO
    <tr><td align="center">
    <input type="radio"
    name="vote" value="$row[0]"></td>
    <td>$row[0]</td>
    <td align="right">$row[1]</td>
    <td>
    FOO;
    if($sum && (int)$row[1]) {
    $per = (int)(100 * $row[1]/$sum);
    echo '<img src="bline.gif" height=12 ';
    echo "width=$per> $per %</td>";
    }
    echo "</tr>\n";
    }
    echo "</tables>\n";
    mysql_free_result($result);
    ?>
    <input type="submit"
    value="Vorschlag und/oder Stimme abschicken">
    <input type="reset">
    </form>
    </body>
    </html>


    Die php.ini Datei habe ich wie folgt geändert: Finder > Gehe zu > /usr/local/php/lib/php.ini > dann die php.ini editieren > dann diese Datei abspeichern in das Verzeichnis /usr/local/php/lib/ abspeichern, das macht er aber nicht, weil das alles geschützte Verzeichnisse sind, deshalb alle diese Verzeichnisse mit Apfel I und dann Eigentümer & Zugriffsrechte auf Schreiben und Lesen stellen, Schloss wegklicken und auf (ich) stellen, dann Datei reinspeichern, ersetzen und alle Eigentümer & Zugriffsrechte wieder auf System geschützt zurückstellen.

    Danke für deine Hilfe,
    So long ...
    mactrisha.

    Das einzige, was mir jetzt noch komisch vorkommt ist, dass ich meinen php-Dateien auf meinem localhost Rechte setzen muss (ausführbar, schreiben und lesen), das muss ich auf dem Providerserver nicht.
     
Die Seite wird geladen...
Ähnliche Themen - php oLive6 ASCII Forum Datum
Werte der gleichen Schlüssel summieren (assoziativen Array) Web-Programmierung 25.08.2016
einfaches php. emailformular bei strato Web-Programmierung 08.08.2015
PHP Array in Google Maps Wegpunkte umwandeln Web-Programmierung 13.03.2015
PHP Update auf 5.6 im Terminal für Localhost (MAMP und Laravel) Web-Programmierung 12.09.2014
PHP: Nächster Tag auf Deutsch ausgeben Web-Programmierung 23.01.2014

Diese Seite empfehlen

Benutzerdefinierte Suche