kostenloser Webspace werbefrei: lima-city


SMS Versand über PHP Geht nicht & Via Textbox Text versenden

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    mylonky

    mylonky hat kostenlosen Webspace.

    Hallo liebe Community,


    Ich habe mir gerade SMS Contigent gekauft um für Notfälle eine SMS zugesendet zu Bekommen (nur von meinem Team)

    Habe zum Testen erstmal nur das Lima-City beispiel Script genommen und etwas geändert.

    Soweit so Gut.... Dachte ich, aber es geht nicht ich bekomme die Meldung "SMS wurde nicht gesendet!"

    Hier mein Code:
    <?php
     
    $message_text = 'Hallo Empfänger!'; // Nachricht
    $mobile_number = '004917816#####'; // Handy-Nummer des Empfängers
    $user_id = '30####'; // Deine persönliche User-ID
    $secret_apikey = 'ry5############################'; // Dein geheimer API-Schlüssel
    
    $param_text = urlencode(utf8_decode($message_text));
    $retval = file_get_contents('http://api.lima-city.de/sms?user_id=' . $user_id . '&apikey=' . $secret_apikey . '&text=' . $param_text . '&number=' . $mobile_number);
    
    if ($retval == 100) {
        echo "SMS wurde gesendet!";
    } else if ($retval == 200) {
        echo "200: Fehler; Da lief irgendetwas schief. Überprüfe die Parameter und den Text. Wenn dies öfters auftritt, kontaktiere uns bitte per Support-Ticket.";
    } else if ($retval == 300) {
        echo "300: Fehler; Kein SMS-Kontingent, falsche User-ID oder falscher API-Key.";
    } else if ($retval == 301) {
        echo "301: Fehler; Die Handynummer hat ein ungültiges Format";
    } else {
        echo "SMS wurde nicht gesendet!";
    }
     
    ?>


    (### soll eine Zensierung sein, ich habe es nicht so Eingegeben)
    Wie man am Code sehen kann, wird keine Genaue Fehlermeldung benutzt.


    und die Zweite Frage,
    wie mache ich das der zu sendende Text Eingegeben werden kann/Muss und dieser dann per Button gesendet wird?

    MfG: Wuppi
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Vielleicht ein Systemfehler wie bei mir https://www.lima-city.de/thread/php-mailversand-funktioniert-nicht
    Das Standart Script sollte eig schon gehen :D

    so kannst du einfach auslesen. Den Transfer kriegst du schon hin :)
    <?php
    echo "eingetragener Vorname: ". $_GET['vorname'];
    ?>
     
    <form action="formular-m-anzeige.php" method="get" >
     
    <p>Ihr Vorname:
    <input type="text" name="vorname" />
    </p>
     
    <p>
    <input type="submit" value="absenden" />
    </p>
     
    </form>
  4. Zunächst mal solltest du deinem Editor UTF-8 beibringen. Bzw. deine Dateien in UTF-8 ohne BOM speichern. So löst du schon mal Umlautprobleme.

    Es könnte nun sein, dass dadurch der Fehler entstanden ist, da der Message Text falsch an die URL gehängt wird.

    Solltest da aber mal ein Ticket für öffnen.

    Zu deiner anderen Frage:


    <?php
    if(isset($_POST['message']) && $_POST['message']!=''){
    $message_text=strip_tags($_POST['message']); // Nachricht
    $mobile_number = '004917816#####'; // Handy-Nummer des Empfängers
    $user_id = '30####'; // Deine persönliche User-ID
    $secret_apikey = 'ry5############################'; // Dein geheimer API-Schlüssel

    $param_text = urlencode(utf8_decode($message_text));
    $retval = file_get_contents('http://api.lima-city.de/sms?user_id=' . $user_id . '&apikey=' . $secret_apikey . '&text=' . $param_text . '&number=' . $mobile_number);

    if ($retval == 100) {
    echo "SMS wurde gesendet!";
    } else if ($retval == 200) {
    echo "200: Fehler; Da lief irgendetwas schief. Überprüfe die Parameter und den Text. Wenn dies öfters auftritt, kontaktiere uns bitte per Support-Ticket.";
    } else if ($retval == 300) {
    echo "300: Fehler; Kein SMS-Kontingent, falsche User-ID oder falscher API-Key.";
    } else if ($retval == 301) {
    echo "301: Fehler; Die Handynummer hat ein ungültiges Format";
    } else {
    echo "SMS wurde nicht gesendet!";
    }
    } else{

    ?>
    <form action='diesedatei.php' method='post'>
    <input type='text' name='message' placeholder='deine Nachricht' style='width: 200px' max-length='160'>
    <input type='submit' value='senden'>
    </form>
    <?php
    }
    ?>

    action= natürlich noch anpassen.
    Einen normalen HTML Header und Footer noch einpflegen.

    Jetzt nur noch deinem Design anspassen und eventuell noch ein wenig Text dazu.
  5. Autor dieses Themas

    mylonky

    mylonky hat kostenlosen Webspace.

    @all-in1

    Danke der Code klappt wunderbar ^^

    jetzt sieht das ganze aber etwas anders aus, die meldung "SMS wurde nicht gesendet!" bleibt bestehen ABER die sms wurde gesendet und ist angekommen oO


    all-in1 schrieb:
    Zunächst mal solltest du deinem Editor UTF-8 beibringen. Bzw. deine Dateien in UTF-8 ohne BOM speichern. So löst du schon mal Umlautprobleme.


    mein Eigentlicher Editor kann das auch ohne Problme, bin aber gerade nicht zuhause und nutze daher den Editor vom ftp zugang von Lima-City
  6. Melde das Bitte mal Bitte Ticket. Da müssen ja Fehlercodes durcheinander geraten sein.
  7. Autor dieses Themas

    mylonky

    mylonky hat kostenlosen Webspace.

    all-in1 schrieb:
    Melde das Bitte mal Bitte Ticket. Da müssen ja Fehlercodes durcheinander geraten sein.


    werde ich machen ^^

    eine Frage noch,

    Habe das Ganze nochmal etwas erweitert und es klappt nicht ganz so wie es soll,

    jetzt sendet er keine SMS sie wird aber dennoch angerechnet und die txt wir auch nicht erstellt

    <?php
    if(isset($_POST['message']) && $_POST['message']!='')
    {
        // und nun die Daten in eine Datei schreiben
        // Datei wird zum Schreiben ge?ffnet
        $handle = fopen ( "notfallsms", $_POST['benutzer'], ".txt", "w" );
     
        // schreiben des Inhaltes von email
        fwrite ( $handle, $_POST['benutzer'] );
     
        // Trennzeichen einf?gen, damit Auswertung m?glich wird
        fwrite ( $handle, "|" );
     
        // schreiben des Inhalts von name
        fwrite ( $handle, $_POST['message'] );
     
        // Datei schlie?en
        fclose ( $handle );
    $message_text=strip_tags($_POST['message']); // Nachricht
    $mobile_number = '004915########'; // Handy-Nummer des Empfängers
    $user_id = '30####'; // Deine persönliche User-ID
    $secret_apikey = 'ry5#######################'; // Dein geheimer API-Schlüssel
    
    $param_text = urlencode(utf8_decode($message_text));
    $retval = file_get_contents('http://api.lima-city.de/sms?user_id=' . $user_id . '&apikey=' . $secret_apikey . '&text=' . $param_text . '&number=' . $mobile_number);
    
    if ($retval == 100) {
    echo "SMS wurde gesendet!";
    } else if ($retval == 200) {
    echo "200: Fehler; Da lief irgendetwas schief. Überprüfe die Parameter und den Text. Wenn dies öfters auftritt, kontaktiere uns bitte per Support-Ticket.";
    } else if ($retval == 300) {
    echo "300: Fehler; Kein SMS-Kontingent, falsche User-ID oder falscher API-Key.";
    } else if ($retval == 301) {
    echo "301: Fehler; Die Handynummer hat ein ungültiges Format";
    } else {
    echo "SMS wurde nicht gesendet!";
    }
    } else{
    
    ?>
    <form action='test2.php' method='post'>
    <input type='text' name='benutzer' placeholder='dein Name' style='width: 200px' max-length='160'><br><br>
    <input type='text' name='message' placeholder='deine Nachricht' style='width: 200px' max-length='160'><br><br>
    <input type='submit' value='senden'>
    </form>
    <?php
    }
    ?>


    Beitrag zuletzt geändert: 3.2.2016 12:48:48 von mylonky
  8. Tausche mal die Zeile aus

    $handle = fopen ( "notfallsms". $_POST['benutzer']. ".txt", "w" );


    Also anstelle der , einfach mal . eintragen.

    Ich würde sogar noch so schreiben:
    $handle = fopen ( "notfallsms_". $_POST['benutzer']. ".txt", "w" );


    Dann kann man schneller Unterschiede auf dem FTP sehen. Und falls man ein Script zum auslesen solcher Dateien programmiert, hat diese form eventuell auch einen kleinen Vorteil. Man hat so einen Trenner im Dateinamen.
  9. Autor dieses Themas

    mylonky

    mylonky hat kostenlosen Webspace.

    all-in1 schrieb:
    Tausche mal die Zeile aus

    $handle = fopen ( "notfallsms". $_POST['benutzer']. ".txt", "w" );


    Also anstelle der , einfach mal . eintragen.

    Ich würde sogar noch so schreiben:
    $handle = fopen ( "notfallsms_". $_POST['benutzer']. ".txt", "w" );


    Dann kann man schneller Unterschiede auf dem FTP sehen. Und falls man ein Script zum auslesen solcher Dateien programmiert, hat diese form eventuell auch einen kleinen Vorteil. Man hat so einen Trenner im Dateinamen.



    Vielen dank hat Funktioniert ^^

    letzte sache noch dann bin ich zufrieden ^^"

    ich habe jetzt unter $secret_apikey = 'ry......
    noch die zeilen
    date_default_timezone_set("Europe/Berlin");
    $Datum = date("d.m.Y H:i");

    hinzugefügt und beim speichern
    $handle = fopen ( "notfallsms_". $Datum. "_". $_POST['benutzer']. ".txt", "w" );
    es so eingefügt, aber auch das Funktioniert mal wieder leider nicht ^^"

    Hoffe du magst mir noch ein letztes mal helfen qwq
  10. So wie du es vorhast geht es nur auf Windowssystemen, Linuxsysteme mögen keine Leerezeichen und auch keine Sonderzeichen.

    $Datum = date("d-m-Y-H-i");

  11. Autor dieses Themas

    mylonky

    mylonky hat kostenlosen Webspace.

    all-in1 schrieb:
    So wie du es vorhast geht es nur auf Windowssystemen, Linuxsysteme mögen keine Leerezeichen und auch keine Sonderzeichen.

    $Datum = date("d-m-Y-H-i");



    das Datum wird leider dennoch nicht angezeigt die Datei heißt einfach nur
    "notfallsms__Testi.txt" dabei sollte es "notfallsms_DATUM_Testi.txt" sein
  12. Versuch mal:

    $date=time();
    $Datum = date("d-m-Y-H-i", $date);


    Ich würde dafür aber erstmal den SMS Versand auskommentieren. Kostet ja ansonsten jedesmal etwas.

    Also so:
    //$retval = file_get_contents('http://api.lima-city.de/sms?user_id=' . $user_id . '&apikey=' . $secret_apikey . '&text=' . $param_text . '&number=' . $mobile_number);


    Wird dir zwar etwas falsches melden oder eventuell einen Fehleranzeigen, aber um mal zu testen, ob deine Datei jetzt richtig angelegt wird sollte es reichen.
  13. Autor dieses Themas

    mylonky

    mylonky hat kostenlosen Webspace.

    Habe ich gemacht der name der Datei bleibt weiterhin notfallsms__Testi.txt
  14. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!